- From: Bob DuCharme <bob@snee.com>
- Date: Wed, 17 Nov 2010 15:48:06 -0500
- To: Lee Feigenbaum <lee@thefigtrees.net>
- CC: Rob Vesse <rav08r@ecs.soton.ac.uk>, public-sparql-dev@w3.org
Hi Lee, When I ran the query below with Sesame, although there were { ?s <http://example.com/ns/sample#classTitle> ?classTitle } triples in the default graph, it only returned the ones in the <http://example.com/classes/new/201106> named graph, so I assumed that the GRAPH keyword was telling it to look in that specific named graph and nowhere else. Is this wrong the wrong behavior by Sesame, and should it have needed a FROM NAMED <http://example.com/ns/sample#classTitle> first to only return the triples matching that pattern from that graph? thanks, Bob On 11/17/2010 11:22 AM, Lee Feigenbaum wrote: > On 11/17/2010 7:50 AM, Bob DuCharme wrote: >> That makes sense, but if I can do this >> >> SELECT ?classTitle >> WHERE { >> GRAPH <http://example.com/classes/new/201106> >> { ?s <http://example.com/ns/sample#classTitle> ?classTitle } . >> } > > Hi Bob, > > This query does not specify an RDF dataset, which means it executes > against whatever your SPARQL endpoint treats as its default data set. > Some deployments treat this as including all graphs; some treat it as > none; still others treat it as configurable. > >> does FROM NAMED add anything besides the ability to list a few graphs >> and then says GRAPH ?varName so that the graph pattern is applied to >> several graphs? > > Right. FROM NAMED explicitly defines the scope of the named graphs for > the query - the universe of graphs over which a GRAPH ... clause can > range. > > Slide 13 of http://www.slideshare.net/LeeFeigenbaum/sparql-cheat-sheet > has a visual explanation of RDF datasets and SPARQL that might (or > might not!) help. > > best, > Lee > >> >> thanks, >> >> Bob >> >> >> On 11/17/2010 4:24 AM, Rob Vesse wrote: >>> FROM NAMED specifies Graphs that are used in GRAPH clauses >>> >>> e.g. >>> >>> SELECT * FROM NAMED<http://example.org/myGraph> WHERE { ?s ?p ?o . >>> GRAPH >>> ?g { ?s ?x ?y }} >>> >>> Would first find all triples from the default graph (which may in >>> fact be >>> the union of several graphs) and then the GRAPH part would use Graphs >>> specified in FROM NAMED clauses to match additional triples. At least >>> broadly speaking that is how it should work. Actual implementations >>> tend >>> to vary somewhat. >>> >>> The difference should be that a FROM clause specifies a graph that >>> forms >>> part of the default graph over which the query operates while the FROM >>> NAMED specifies Graphs used only in Graph clauses >>> >>> Rob >>> >>> On Tue, 16 Nov 2010 19:29:23 -0500, Bob DuCharme<bob@snee.com> wrote: >>>> I understand the various examples in the SPARQL spec that use FROM >>>> NAMED, but I still don't completely understand what the FROM NAMED >>>> part >>>> does, especially compared with FROM<http://some/uri>. >>>> >>>> http://www.w3.org/TR/2010/WD-sparql11-query-20101014/#namedGraphs says >>>> "A query can supply IRIs for the named graphs in the RDF Dataset using >>>> the FROM NAMED clause." If they're named graphs, don't they already >>>> have >>>> IRIs as names? What is FROM NAMED adding here? >>>> >>>> thanks, >>>> >>>> Bob >> >>
Received on Wednesday, 17 November 2010 20:47:46 UTC