W3C

SPARQL Protocol for RDF Using WSDL 1.1

W3C Working Draft 24 October 2005

This version:
live draft $Revision: 1.15 $ of $Date: 2005/10/25 16:24:39 $
Latest version published by W3C:
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 is an editor's draft; subject to change without notice. $Revision: 1.15 $ of $Date: 2005/10/25 16:24:39 $

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.


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.