Project No. FP6-004308
Project acronym: WS2
Project Title:Web Services
and Semantics
Instrument:
Specific Support Action
Thematic Priority: IST
Due date of deliverable: May
2005
Actual submission date: October
2005
Start date of project: 1 July
2004
Duration: 24 months
Organisation name of lead contractor for this deliverable: GEIE ERCIM
Revision: Final
Project co-funded by the European Commission within the Sixth Framework Programme (2002-2006) | ||
Dissemination Level | ||
PU | Public | x |
PP | Restricted to other programme participants (including the Commission Services) | |
RE | Restricted to a group specified by the consortium (including the Commission Services) | |
CO | Confidential, only for members of the consortium (including the Commission Services) |
This deliverable is part of the WS2 workpackage WP2. The Technical Annex describes the workpackage objective as follows:
The objective of "WS2 WP2: Demonstrators" is to develop demonstrator applications using results of the W3C Web services Working Groups (XML Protocol WG, Web Services Description WG, Web Services Architecture WG) in the European industry. The demonstrators will be available as open source. This includes two objectives:
- Validate and demonstrate the results of W3C Web services WGs to European research and industry
- Develop "hands-on" experience within the W3C Team with Web services WG results
The original objective of the deliverable, as defined in the Technical Annex is:
In the second demonstrator, an implementation will illustrate the benefits of mixing Web services technologies (SOAP 1.2, WSDL 2.0) with Semantic Web technologies such as RDF or OWL.
This document is still in draft status. Because the workshop on frameworks for semantics in Web services was held early June 2005 and that no clear direction appeared during it, this proposal is leaning towards showing the advantage of using Semantic Web technologies with Web services technologies and the automation provided.
W3C's SPARQL Query Language for RDF offers the semantic web a standard way to query a materialized or conceptual RDF graph. WSDL 2.0 provides the information necessary to invoke web services. These services may provide information that would be usefully queried by SPARQL if there were a bridge between the two langugaes. Existing annotation mechanisms can be used in WSDL and XML Schema to enable semantic annotations of web services, and can be used to provide such a bridge.
The goal of this demonstrator is to use existing annotation mechanisms to relate a SPARQL query pattern to WSDL 2.0 descriptions of messages. The demonstrator program will use this relationship to select and dispatch web services to answer SPARQL queries.
The WSDL-SPARQL interface will allow conventional web services to be queried with SPARQL queries. The demonstrator will start with an interface to the W3C MAil Search Engine (MASE). This service will answer queries of the form
PREFIX mase: <http://www.w3.org/Search/Mail/Public/search#> SELECT ?who ?mid WHERE { GRAPH ?endPoint { ?msg mase:keywords "GRID SPARQL" . ?msg mase:sender ?who . ?msg mase:mid ?mid . } ?service spdl:operation <http://www.w3.org/2004/WS2/mase-spdl.wsdl#searchOp> ?service spdl:endPoint ?endPoint }
and return the appropriate bindings for ?who
and
?mid
. This will allow web services to be composable with other
services (GRID, for instance) in a standardized semantic web query tool.
In order to demonstrate W3C technologies and enable a Web Services to W3C's validation services, we defined the following requirements:
WSDL and XML Schema provide elements for storing arbitrary content (annotation and documentation elements respectively). SPARQL patterns with XPath extensions associate variables in SPARQL with information items in a web service message. This demonstrator will be compose of:
The WSDL description of the Web service provides invocation information. Annotations of the form
<xs:annotation spdl:pathPat="true"> { ?X mase:mid xpath(@about) . ?X mase:sender xpath(email:from/email:mbox/text()) . } </xs:annotation>
in the annotated variant tie nodes in the WSDL to variables in triple patterns in a SPARQL query.
The query above shows how a single web service can be invoked to answer a SPARQL query. The variables bound by this query can be used to constrain other calls to the MASE search service or other web services. Likewise, variables bound elsewhere in the query can be used to compose a MASE query.
In this regard, SPARQL is being used to choreograph web service invocations, tying the results from one to the inputs of another by simply following the SPARQL semantics for variable bindings.
A prototype providing basic functionalities will be implemented to provide a practical WSDL-SPARQL tool for the semantic web community. This will be able to: