W3C

SPARQL Protocol for RDF Using WSDL 1.1

@@ NOT YET A W3C Working Group Note 17 August 2005

This version:
@@ http://thefigtrees.net/DAWG/sparql-wsdl-1.1-note.html
Latest version:
@@ http://thefigtrees.net/DAWG/sparql-wsdl-1.1-note.html
Editors:
Lee Feigenbaum, IBM
Andy Seaborne, Hewlett-Packard Laboratories
Elias Torres, IBM

Abstract

The RDF Data Access Working Group normatively defines the SPARQL Protocol for RDF via a Web Services Description Language version 2.0 (WSDL 2.0) definition. This document contains a non-normative WSDL 1.1 document defining the same protocol.

Status of this Document

This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.

This document is @@ NOT YET a W3C Working Group Note. It has been produced by the RDF Data Access Working Group, which is part of the Semantic Web Activity.

No further work on this topic is planned at this point. Errors in this document can be reported to the public public-rdf-dawg-comments@w3.org mailing list (public archive).

Publication as a Working Group Note does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.


Table of Contents

1. Introduction
2. WSDL 1.1 for SPARQL Protocol for RDF
3. Using the WSDL 1.1

Appendices

A. References
B. Acknowledgements (Non-Normative)


1. Introduction

The SPARQL Protocol for RDF [SPARQL-PROT] is described abstractly via a WSDL 2.0 [WSDL20] document that defines the relevant interface, types, faults, and operations, along with HTTP and SOAP bindings. However, as of the time of the publication of this Note, most Web Services toolkits that are WSDL-aware produce and/or consume only WSDL 1.1 [WSDL11]. The RDF Data Access Working Group decided therefore to publish this supplementary Note presenting a WSDL 1.1 version of the SPARQL Protocol. It is the intention of the Working Group that the interfaces, types, faults, and operations defined non-normatively in this WSDL 1.1 document are equivalent to those normatively defined in WSDL 2.0 by the SPARQL Protocol. In particular, it is intended that clients and endpoints based either on the WSDL 2.0 definition or the WSDL 1.1 definition contained herein should interoperate.

2. WSDL 1.1 for SPARQL Protocol for RDF

The WSDL 1.1 document is included here and can also be downloaded. To use the WSDL, you should also download a placeholder XML Schema for RDF/XML (see inline comment within the WSDL).

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
     targetNamespace="http://www.w3.org/2005/08/sparql-protocol-query/#"
     xmlns:tns="http://www.w3.org/2005/08/sparql-protocol-query/#"

     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"

     xmlns:st="http://www.w3.org/2005/09/sparql-protocol-types/#"

     xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
     xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"

     xmlns:xs="http://www.w3.org/2001/XMLSchema"

     schemaLocation="http://www.w3.org/2004/08/wsdl" 
     >

  <!-- In lieu of an actual (and not particularly useful for generating
       objects) schema for RDF/XML, we reference a placeholder stub
       for the RDF/XML results of a CONSTRUCT or DESCRIBE query. -->
  <wsdl:import namespace="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
               location="rdf.xsd"/>

  <wsdl:import namespace="http://www.w3.org/2005/sparql-results#"
               location="http://www.w3.org/TR/rdf-sparql-XMLres/result2.xsd"/>

  <wsdl:import namespace="http://www.w3.org/2005/09/sparql-protocol-types/#"
               location="http://www.w3.org/2001/sw/DataAccess/proto-wd/sparql-protocol-types.xsd" />

  <wsdl:message name="queryRequest">
    <wsdl:part name="query" element="st:query-request"/>
  </wsdl:message>

  <wsdl:message name="queryResponse">
    <wsdl:part name="response" element="st:query-result"/>
  </wsdl:message>

  <wsdl:message name="malformedQueryFault">
      <wsdl:part name="malformedQueryFaultPart" element="st:malformed-query"/>
  </wsdl:message>

  <wsdl:message name="queryRequestRefusedFault">
      <wsdl:part name="queryRequestRefusedFaultPart" element="st:query-request-refused"/>
  </wsdl:message>

  <wsdl:portType name="SparqlQueryInterface">
    <wsdl:operation name="query">
      <wsdl:input  message="tns:queryRequest"/>
      <wsdl:output message="tns:queryResponse"/>
      <wsdl:fault  message="tns:malformedQueryFault"  name="malformedQueryFault" />
      <wsdl:fault  message="tns:queryRequestRefusedFault" name="queryRequestRefusedFault" />
    </wsdl:operation>
  </wsdl:portType>

  <wsdl:binding name="QuerySoapBinding" type="tns:SparqlQueryInterface">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="query">
      <soap:operation style="document" soapAction="http://www.w3.org/2005/08/sparql-protocol-query/#query-action" />
      <wsdl:input>
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal"/>
      </wsdl:output>
      <wsdl:fault name="malformedQueryFault">
        <soap:fault use="literal"/>
      </wsdl:fault>
      <wsdl:fault name="queryRequestRefusedFault">
        <soap:fault use="literal"/>
      </wsdl:fault>
    </wsdl:operation>
  </wsdl:binding>
</wsdl:definitions>

3. Using the WSDL 1.1

The Working Group has chosen to use a Wiki page to share and develop code examples [WSDL11-WIKI] of using the WSDL 1.1 to implement the SPARQL Protocol for RDF, either as an endpoint or as a client.

A. References

[SPARQL-PROT]
SPARQL Protocol for RDF, K. Clark, Editor, W3C Working Draft (work in progress), 27 May 2005. This document is http://www.w3.org/TR/rdf-sparql-protocol/ . The latest version is available at http://www.w3.org/TR/rdf-sparql-protocol/ .
[WSDL20]
Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language, J. Moreau, A. Ryman, R. Chinnici, S. Weerawarana, Editors, W3C Working Draft (work in progress), 10 May 2005, http://www.w3.org/TR/2005/WD-wsdl20-20050510 . Latest version available at http://www.w3.org/TR/wsdl20 .
[WSDL11]
Web Services Description Language (WSDL) 1.1, E. Christensen, F. Curbera, G. Meredith, S. Weerawarana, Authors, W3C Note, 15 March 2001, http://www.w3.org/TR/wsdl .
[WSDL11-WIKI]
SPARQL Protocol WSDL 1.1 Examples, L. Feigenbaum, A. Seaborne, E. Torres, Original Authors, W3C ESW Wiki page (work in progress). The W3C ESW Wiki homepage can be found at http://esw.w3.org/topic/FrontPage .

B. Acknowledgements (Non-Normative)

This document is the work of the RDF Data Access Working Group.

Members of the Working Group are (at the time of writing, and by alphabetical order): Dave Beckett (University of Bristol), Jeen Broekstra, Kendall Clark (Maryland Information and Network Dynamics Lab at the University of Maryland), Dirk Colaert (Agfa-Gevaert N. V.), Dan Connolly (W3C), Souripriya Das (Oracle Corporation), Jos De Roo (Agfa-Gevaert N. V.), Lee Feigenbaum (IBM Corporation), Enrico Franconi (Free University of Bozen-Bolzano), Yoshio Fukushige (Matsushita Electric Industrial Co., Ltd. (MEI)), Stephen Harris (University of Southampton), Pat Hayes, Howard Katz, Farrukh Najmi (Sun Microsystems, Inc.), Bijan Parsia (Maryland Information and Network Dynamics Lab at the University of Maryland), Eric Prud'hommeaux (W3C), Alberto Reggiori (Asemantics S.R.L.), Janne Saarela (Profium Ltd.), Hiroyuki Sato (Nippon Telegraph & Telephone Corp. (NTT)), Andy Seaborne (Hewlett Packard Company), Bryan Thompson (Hicks & Associates, Inc.), Elias Torres (IBM Corporation), Dirk-Willem van Gulik (Asemantics S.R.L.), Timo Westkämper (Profium Ltd.), Kevin Wilkinson (Hewlett Packard Company), Rachel Yager (FSTC (Financial Services Technology Consortium)).

Previous members were: Tom Adams (Tucana), Jeff Pollock (Network Inference), Simon Raboczi (Tucana), Rob Shearer (Network Inference).

The people who have contributed to public-rdf-dawg-comments@w3.org are also gratefully acknowledged.