RE: Belated comments on SPARQL Protocol for RDF 25 January 2006 LC WD

The WSDL WG discussed the issues Hugo found below.  See inline.

> -----Original Message-----
> From: www-ws-desc-request@w3.org [mailto:www-ws-desc-request@w3.org]
On
> Behalf Of Hugo Haas
> Sent: Tuesday, February 14, 2006 2:39 AM
> To: www-ws-desc@w3.org
> Subject: Belated comments on SPARQL Protocol for RDF 25 January 2006
LC WD
> 
> Following Jonathan's email[6], I looked at the WSDL 2.0 use made in
> SPARQL Protocol for RDF:
> 
>     SPARQL Protocol for RDF
>     W3C Working Draft 25 January 2006
>     http://www.w3.org/TR/2006/WD-rdf-sparql-protocol-20060125/
> 
> I found a minor issue, and a more substantial one.
> 
> The HTTP binding uses HTTP GET and
> application/x-www-form-urlencoded[1], which requires the use of the
> IRI style, as per [2].
> 
> However, the operation defined is declared as following this IRI
> style[3], and it actually isn't corroct: the operation does not meet
> two of the IRI style[4] constraints:
> 
> - "The localPart of the element's QName MUST be the same as the
>   Interface Operation component's {name}."
> 
>   This one is easy to fix by naming the operation query-request
>   instead of query, and it is only a description artifact.
> 
>   As a side note, I do not know why we have this restriction. I have
>   always assumed that there was a good reason pre-dating my
>   involvement with the WG.

We request SPARQL be updated as Hugo suggests to enable conformance to
the IRI style.  Hugo also was encouraged to file a CR issue against WSDL
2.0 to discuss whether this restriction should be relaxed.  While that
discussion proceeds, the small change to SPARQL would keep the specs
consistent.

> - "The sequence MUST contain only local element children. These child
>   elements MAY contain the nillable attribute, and the attributes
>   minOccurs and maxOccurs MUST have a value 0 or 1."
> 
>   This one is more of a problem. Having more than one element in the
>   instance data with the same local name is something that we have
>   never allowed as we wanted to be sure we could reconstruct the
>   instance data accurately. We actually have another related
>   restriction: "The sequence MUST NOT contain multiple children
>   elements declared with the same local name."
> 
>   The problem is that if you have whttp:location="{b}" and the
>   instance data is "<a><b>2</b><b>1</b></a>", we do not know which b
>   element we are talking about. This is a limitation of our syntax.
> 
>   So they actually can't do that. The problem comes from the
>   maxOccurs="unbounded" of the default-graph-uri and named-graph-uri
>   attributes.
> 
>   It turns out that their use does not have the micro-syntax problem
>   as default-graph-uri and named-graph-uri will be serialized as query
>   parameters, but it is not very simple to allow IMO.
> 
>   It looks like this actually was already in their first draft and we
>   missed it in our first review. We should probably engage in a
>   discussing with the DAWG as I don't see any simple fix.

This is a fairly serious issue, but the WG has agreed to consider the
limitations as a CR issue against WSDL 2.0 rather than against the
SPARQL spec.  Until then unfortunately this issue prevents conformance
with the WSDL 2.0 CR.

Interestingly, this issue could have been flagged much earlier.  Not
only did we miss it in our first review, but we requested (through an AI
to Kendall) that SPARQL submit their WSDL 2.0 documents to our WSDL test
suite.  Having you contribute it was an attempt to make sure that it was
kept current as SPARQL evolves rather than a single snapshot which would
become obsolete.  The action remains open as Kendall isn't on the WSDL
calls very frequently (and I neglected to follow up), but it doesn't
look like our test suite contains the SPARQL WSDL as a testcase yet.
I'm confident if it had been in our test suite, the Woden validator
project would have promptly discovered the IRI style violations.

In addition to the WSDL, we'd like sample messages, as our goal in the
test suite is not only to validate WSDL, but to validate messages
against their WSDL descriptions to ensure they are described accurately.

> I also have a minor editorial comment: section 2.3 has a malformed XML
> excerpt[5].

It would be nice to fix this in your next publication as well.

> Cheers,
> 
> Hugo
> 
>   1. http://www.w3.org/TR/2006/WD-rdf-sparql-protocol-20060125/#query-
> bindings-http
>   2.
http://www.w3.org/TR/2006/CR-wsdl20-adjuncts-20060106/#_http_x-www-
> form-urlencoded
>   3. http://www.w3.org/TR/2006/WD-rdf-sparql-protocol-
> 20060125/#SparqlQuery
>   4. http://www.w3.org/TR/2006/CR-wsdl20-adjuncts-
> 20060106/#_operation_iri_style
>   5. http://www.w3.org/TR/2006/WD-rdf-sparql-protocol-20060125/#query-
> bindings-soap
>   6. http://lists.w3.org/Archives/Member/w3c-ws-desc/2006Feb/0004.html
> --
> Hugo Haas - W3C
> mailto:hugo@w3.org - http://www.w3.org/People/Hugo/

Received on Friday, 17 February 2006 18:32:48 UTC