Attempted review of SPARQL Protocol LC Draft

I took an AI on last week's call to read
the SPARQL Protocol Last Call Working Draft:
http://www.w3.org/TR/2005/WD-rdf-sparql-protocol-20050914/

For those not in the know, SPARQL is a natty query language 
for RDF:
http://www.w3.org/TR/rdf-sparql-query/

and is a product of the RDF Data Access WG (DAWG) 
http://www.w3.org/2001/sw/DataAccess/

The Working Group have published a set of use-cases and 
requirements offered by the draft as an informative reference:
http://www.w3.org/TR/rdf-dawg-uc/

There are also a set of protocol 'experiments' buried on 
their home page:
http://esw.w3.org/topic/DawgShows

The protocol specification depends upon WSDL 2.0, normatively 
referencing our 2nd Last Call documents for Parts 1 and 2 with 
an informative reference to the Primer.

I'd also note that several members of our Working Group 
also participate in DAWG, notably Kendall who is the editor
of the document in question!

In essence the document describes a WSDL 2.0 document:
http://www.w3.org/TR/2005/WD-rdf-sparql-protocol-20050914/sparql-protocol-query.wsdl

which has a single interface "SparqlQuery" with a single *safe*
operation "query" which is In-Out (Fault Replaces Message) and  
has the IRI style.

As discussed previously within this Working group, the service
is interesting in that the operation is bound to both HTTP and 
SOAP 1.2 over HTTP.  In the case of HTTP, the operation is 
bound twice using the whttp:method attribute to distinguish 
between the GET and POST instances, both accepting input as
application/x-www-form-urlencoded parameters. The input messages 
consist of a query string on input followed by an optional RDF 
document, the output being either a SPARQL structured results 
or an RDF document. 

The draft calls attention (in red text) to three WSDL 2.0 
issues raised by this use-case:

- the requirement to have a single output media type,
- and a single fault media type
  which we recorded as LC337 and LC338 respectively: 
http://www.w3.org/2002/ws/desc/5/lc-issues/#LC337
http://www.w3.org/2002/ws/desc/5/lc-issues/#LC338

- the inability of having an inputSerialization of 
"application/x-www-urlencoded" when the value a binding style 
is "http://www.w3.org/2005/08/wsdl/style/iri", which we 
recorded as: 
http://www.w3.org/2002/ws/desc/5/lc-issues/#LC345

Our resolutions, in particular for LC337, to re-use
section 2.2 of the Describing Media Types for Binary Content note 
should resolve these three issues and allow the note to be removed, 
but will require a reworking of the SPAQL WSDL/HTTP binding.

I found the comprehensive examples illuminating, but can't promise
to have proof-read them in detail!

Two very minor nits:

- the WSDL extract "1.0" uses two undeclared namespace
prefixes "st:" and "tns:", actually 'st:' is used throughout
the document. Although the reader is pointed to the full WSDL
"which contains the relevant namespace declarations", I'd prefer
to see a table of known namespaces at the top of the document.

- the status discusses "HTTP and SOAP interfaces
for RDF queries" but elsewhere uses "HTTP and SOAP bindings of
this interface", which could be slightly confusing for readers
versed in WSDL speak.

Paul

Received on Wednesday, 19 October 2005 15:26:41 UTC