- From: Lee Feigenbaum <lee@thefigtrees.net>
- Date: Wed, 23 Mar 2011 19:30:48 -0400
- To: Andy Seaborne <andy.seaborne@epimorphics.com>
- CC: SPARQL Working Group <public-rdf-dawg@w3.org>
On 3/23/2011 6:14 PM, Andy Seaborne wrote: > On 23/03/11 21:53, Lee Feigenbaum wrote: >> The SPARQL query spec only specifies an indirect relationship between >> graph name and contents for FROM and FROM NAMED, right?. USING should >> be the same thing -- I don't think I understand the problem? >> >> Lee > > It's not the indirect relationship involved FROM NAMED (query sec > 13.2.2). Let's just talk about FROM. OK. I still think there's either a misunderstanding somewhere or just a different worldview, because I still have trouble coming to the same conclusion you are coming to. My understanding is that the SPARQL query spec (particularly http://www.w3.org/TR/rdf-sparql-query/#unnamedGraph) is silent about the proper way to get at the contents of the graph specified in a FROM clause. The text says: "the graphs obtained from representations of the resources identified by the given IRIs" I've always assumed that this is purposefully underspecified, and that it is implementation-defined as to how a SPARQL processor decides what graph is meant by g in a "FROM g" clause. (This is why, for instance, it's fine in some systems to do "FROM <tag:foo>".) > The problem is that FROM typically cause a graph to be read form the web > (yes - not in Anzo or Mulgara, but that's unusual). I don't really think it matters what is usual or unusual, just that according to the spec it's implementation-defined as to where the graph comes from. > The update spec says USING is identical to FROM (it uses the word > "identical"). Right -- as in, it's identical as far as the spec concerned, which means it too is implementation-defined. The spec doesn't say (nor would it really have license to say) that a processor must use the same algorithm for figuring out the triples in g via USING as it does via FROM, does it? > So a reasonable expectation of an engine that reads from the web is that > USING does as well. We added USING so the graph can be picked from the > graph store so its not identical in such a system. I thought we just added USING to have a way to assemble a specific RDF dataset. I assumed that some stores that pick graphs off the Web would continue to do so for USING/USING NAMED. Why wouldn't they? > And the text goes onto indirectly imply this as well by talking about > WITH which does mean a graph in the store. > > Earlier: > "The WITH uri defines the graph"... > would be better as > "The WITH uri defines the graph in the graph store "... Agree. All that said, I'm not exactly sure where my our understandings are diverging, but do you have suggested alternate text that would address your concerns? Lee > Andy > > >> >> >> On 3/23/11, Andy Seaborne<andy.seaborne@epimorphics.com> wrote: >>> A Fuseki user found the text below and assumed >>> >>> INSERT >>> {<http://rdf.freebase.com/ns/en.miles_davis> ?p ?o } >>> USING<http://rdf.freebase.com/ns/en.miles_davis> >>> WHERE >>> {<http://rdf.freebase.com/ns/en.miles_davis> ?p ?o } >>> >>> was like >>> >>> >>> CONSTRUCT >>> {<http://rdf.freebase.com/ns/en.miles_davis> ?p ?o } >>> FROM<http://rdf.freebase.com/ns/en.miles_davis> >>> WHERE >>> {<http://rdf.freebase.com/ns/en.miles_davis> ?p ?o } >>> >>> which it isn't (I hope). >>> >>> >>> 3.1.3 DELETE/INSERT >>> """ >>> The USING<uri> and USING NAMED<uri> clauses affect the graphs and >>> named graphs used in the WHERE clause. This is identical manner to how >>> FROM<uri> and FROM NAMED<uri> clauses affect the graphs and named >>> graphs in a SPARQL SELECT query. >>> """ >>> >>> In most systems (not all) FROM reads a graph from the web and makes it >>> part of the default graph. It's LOAD. >>> >>> (Yes, *a few* systems pick their FROM out of the dataset) >>> >>> Doesn't USING select one or more graphs out of the graph store and use >>> that for default graph. Reading from the web is not allowed (I hope). >>> >>> """ >>> The use of USING in this instance is to avoid possible ambiguity of >>> where statements being DELETEd from. If a USING clause appears, then >>> this will override any effect that WITH may have on the WHERE clause, >>> and only the WHERE clause. >>> """ >>> >>> What's "this instance"? >>> >>> Andy >>> >>> >
Received on Wednesday, 23 March 2011 23:31:26 UTC