W3C

SPARQL Protocol for RDF Using WSDL 1.1

W3C Working Draft 24 October 2005

This version:
http://www.w3.org/TR/2005/WD-sprot11-20051024/
Latest version:
http://www.w3.org/TR/sprot11/
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 presents 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/.

In order to gain implementation experience with the SOAP bindings for the SPARQL protocol while WSDL 2.0 tools are not yet widely available, members of the RDF Data Access Working Group have developed a non-normative WSDL 1.1 analog to the normative WSDL 2.0 specification of the SPARQL protocol. We have also seeded a community-writeable wiki topic on code examples and techniques and such.

The target status for this document Working Group Note. Until this document is updated to Working Group Note status, time, the RDF Data Access Working Group invites comments to public-rdf-dawg-comments@w3.org (a mailing list with public archive) and intends to respond to them on a best-effort basis.

This is a First Public Working Draft. The RDF Data Access Working Group is part of the W3C Semantic Web Activity.

This document was produced under the 5 February 2004 W3C Patent Policy. The Working Group maintains a public list of patent disclosures relevant to this document; that page also includes instructions for disclosing [and excluding] a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) with respect to this specification should disclose the information in accordance with section 6 of the W3C Patent Policy.

Per section 4 of the W3C Patent Policy, Working Group participants have 150 days from the title page date of this document to exclude essential claims from the W3C RF licensing requirements with respect to this document series. Exclusions are with respect to the exclusion reference document, defined by the W3C Patent Policy to be the latest version of a document in this series that is published no later than 90 days after the title page date of this document.

Publication as a Working Draft 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

  1. References
  2. Acknowledgements

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 has 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.

While the WSDL 2.0 definition of the SPARQL Protocol includes bindings for both SOAP-over-HTTP and also for HTTP GET and POST, this WSDL 1.1 document mirrors only the SOAP-over-HTTP bindings. It is the experience of the authors of this Note that toolkits which consume WSDL 1.1 documents do not make use of non-SOAP bindings.

2. WSDL 1.1 for SPARQL Protocol for RDF

The WSDL 1.1 document is included here and can also be downloaded.

<?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" 
     >

  <wsdl:types>
    <xs:schema targetNamespace="http://www.w3.org/2005/08/sparql-protocol-query/#">
      <xs:import namespace="http://www.w3.org/2005/09/sparql-protocol-types/#"
                 schemaLocation="http://www.w3.org/2001/sw/DataAccess/proto-wd/sparql-protocol-types.xsd" />
    </xs:schema>
  </wsdl:types>

  <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" />
      <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 a service 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

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.