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