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.

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

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

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 Tuesday, 14 February 2006 10:39:34 UTC