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<[email protected]> 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



Reply via email to