- From: Carlos Buil Aranda <cbuil@fi.upm.es>
- Date: Tue, 3 Jul 2012 10:47:53 -0400
- To: Andy Seaborne <andy.seaborne@epimorphics.com>, Gregory Williams <greg@evilfunhouse.com>
- Cc: public-rdf-dawg@w3.org
- Message-ID: <CABdcz9HagaCvFBwqoOnrzcOstbAGRrf1+GbvpoF5jZ=f66+BuQ@mail.gmail.com>
Dear all,
I updated the response to PW. However and looking at the document, I think
that it is a bit underspecify and it should be added a reference to the
SPARQL protocol next to the explanation of what the SERVICE keyword does.
Would it be possible to add it informally?
Carlos
2012/6/29 Andy Seaborne <andy.seaborne@epimorphics.com>
> I wonder if there is a need to specify the dataset. The point about
> SERVICE is to send the query to another place, presumably because it has
> the data and the sender, and their service engine, does not. This is
> emphasising the general SPARQL service that reads graphs off the web and
> queries them.
>
> Dataset description is used to select graphs from a local pool. The use
> of GRAPH maybe enough to allow the sender to select the graphs of interest.
> The only case missing is a merge of graphs to be the default graph.
>
> If an application wants to access a general purpose SPARQL processor, then
> it uses the the SPARQL protocol - not as part of a query because , after
> all, SERVICE happens inside a local query execution. Shipping off a
> subpart of the query from one SPARQL engine to another seems a minor use
> case and if we were addressing that, there is a lot of other machinery that
> we'd want to put in place.
>
> Andy
>
>
> On 28/06/12 22:11, Gregory Williams wrote:
>
>>
>> On Jun 28, 2012, at 4:43 PM, Carlos Buil Aranda wrote:
>>
>> Dear all,
>>>
>>> I attach the draft response for PW-1 http://lists.w3.org/Archives/**
>>> Public/public-rdf-dawg-**comments/2012Jun/0007.html<http://lists.w3.org/Archives/Public/public-rdf-dawg-comments/2012Jun/0007.html>
>>>
>>> draft: http://www.w3.org/2009/sparql/**wiki/CommentResponse:PW1<http://www.w3.org/2009/sparql/wiki/CommentResponse:PW1>
>>>
>>
>> Hi Carlos,
>>
>> You say: "in the SPARQL 1.1 grammar there is no way for specifying the
>> default dataset to query."
>>
>> Am I simply misunderstanding what you're saying? For query, you specify
>> it with FROM/FROM NAMED.
>>
>> You continue:
>>
>> """
>> In the same way there is no mechanism for specifying named graphs since
>> the SERVICE keyword only provides mechanisms for directing specific pieces
>> of SPARQL queries to an SPARQL endpoint. Thus, you correctly understood the
>> specification.
>> """
>>
>> I've brought this up before, but why can't the dataset for a SERVICE be
>> specified using protocol parameters? i.e.:
>>
>> SERVICE <http://example.com/sparql?**default-graph-uri=XXX&named-**
>> graph-uri=YYY<http://example.com/sparql?default-graph-uri=XXX&named-graph-uri=YYY>>
>> { … }
>>
>> Shouldn't this just work? (Assuming implementors have done the legwork to
>> choose between using '?query=' and '&query=' when constructing the service
>> invocation URI.)
>>
>>
>> """
>> The other possibility you point out (to send the default and named
>> datasets defined by the main query) is not allowed: the SERVICE keyword
>> translates the pattern inside into a new query to the remote dataset, using
>> a SELECT * WHERE {...} without specifying the original query datasets.
>> However, inside the SERVICE clause you can use a subquery in which you can
>> specify to which graph direct the query:
>>
>> PREFIX foaf: <http://xmlns.com/foaf/0.1/>
>> SELECT ?name
>> WHERE {
>> SERVICE <http://example.org/sparql> {
>> SELECT * WHERE
>> {
>> GRAPH <http://example.org/graph>
>> { ?person foaf:name ?name ; foaf:mbox ?mbox }
>> }
>> }
>> }
>> """
>>
>> That won't specify the dataset, though. It only specifies the active
>> graph for matching the two triple patterns. Is that what you are intending
>> to point out?
>>
>> .greg
>>
>>
>>
>
>
Received on Tuesday, 3 July 2012 14:48:40 UTC