The World Wide Web Consortium (W3C)IST

Project No. FP6-004308
Project acronym
: WS2
Project Title:Web Services and Semantics
Instrument: Specific Support Action
Thematic Priority: IST

Deliverable D2.5: Semantic Web Service Demonstrator Plan

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)

1. Table of Contents

2. Workpackage Objectives

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:

3. Deliverable Objectives, Deviations from the the project workprogramme, and corrective actions taken/suggested

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.

4. Analysis

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.

4.1. Functionality

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: <>
SELECT ?who ?mid
     GRAPH ?endPoint
         ?msg mase:keywords "GRID SPARQL" .
         ?msg mase:sender ?who .
         ?msg mase:mid ?mid .
     ?service spdl:operation <>
     ?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.

4.2. Requirements

In order to demonstrate W3C technologies and enable a Web Services to W3C's validation services, we defined the following requirements:

4.3. Architecture

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()) . }

in the annotated variant tie nodes in the WSDL to variables in triple patterns in a SPARQL query.

4.4. Usefulness of the combination of Semantic Web and Web services technologies

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.

5. Prototype

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: