W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > October to December 2012

Re: Ambiguity between SPARQL 1.1 RDF protocol query via GET and SD retrieval

From: Andy Seaborne <andy.seaborne@epimorphics.com>
Date: Tue, 09 Oct 2012 14:35:11 +0100
Message-ID: <5074280F.8060206@epimorphics.com>
To: public-rdf-dawg@w3.org
related:

I have needed a setup whereby all operations are at the same URL 
including basic GET of quads of the dataset.

I interpreted the spec as

If there is a "?query=", then it is a SPARQL Protocol query
If there is a "?request=", then it is a SPARQL Protocol update
Otherwise it's a GET of the quads.

As a non-standard feature, I may need to add "?description" for service 
description.  Content-type is a possibility to distinguish SD and 
GET/quads but it isn't always that easy deal with on the client side.

	Andy

On 06/10/12 21:07, Chime Ogbuji wrote:
> While porting over my implementation of the SPARQL 1.1 RDF protocol, I noticed that the language in the Service Description specification about how a service description document is dereferenced is a bit ambiguous.
>
> "SPARQL services made available via the SPARQL Protocol should return a service description document at the service endpoint when dereferenced using the HTTP GET operation"
>
> Whereas the SPARQL 1.1 RDF Protocol document says:
>
> "Protocol clients may send protocol requests via the HTTP GET method. When using the GET method, clients must URL percent encode (http://www.ietf.org/rfc/rfc3986.txt) all parameters and include them as query parameter (http://www.ietf.org/rfc/rfc3986.txt) strings with the names given above"
>
> Under the query string parameters column for this binding it says: "query (exactly 1)".
>
> Unless I've missed text elsewhere that clarifies this, reading both as they are written begs the question about whether a query via GET binding request SHOULD return an SD document. My assumption is that the distinction is between a GET request to the service endpoint *without* a query parameter versus a request *with* this parameter - returning an SD document if the query parameter is not provided.
>
> This distinction should be made explicit. Some suggested text (in SD specification):
>
> "[...] should return a service description document at the service endpoint when dereferenced using the HTTP GET operation without any query parameter strings provided"
>
Received on Tuesday, 9 October 2012 13:35:44 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:15:49 GMT