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

Re: draft response for PW1

From: Carlos Buil Aranda <cbuil@fi.upm.es>
Date: Fri, 29 Jun 2012 09:25:11 -0400
Message-ID: <CABdcz9Fzr=vF+REp7CqFuQumHTK56HPAwGnmW=_RnHSry0hMHg@mail.gmail.com>
To: Gregory Williams <greg@evilfunhouse.com>
Cc: SPARQL Working Group <public-rdf-dawg@w3.org>
Hi Greg,

answers inline,

2012/6/28 Gregory Williams <greg@evilfunhouse.com>

>
> 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.
>
yes, you are right, I meant that it was not possible to add that into the
SERVICE clause, since initially it just queries the remote default graph.

>
> 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> {  }
>
> Shouldn't this just work? (Assuming implementors have done the legwork to
> choose between using '?query=' and '&query=' when constructing the service
> invocation URI.)
>
yes, you are right again, I did not think in the possibility of specifying
directly the dataset in the SERVICE 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?
>
yes, this is what I was intending to point out. I will reformulate the
reply.

thanks,

Carlos

>
> .greg
>
>
>
Received on Friday, 29 June 2012 13:25:58 GMT

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