- From: Andy Seaborne <andy.seaborne@epimorphics.com>
- Date: Wed, 28 Mar 2012 14:53:45 +0100
- To: public-rdf-wg@w3.org
On 28/03/12 12:18, Steve Harris wrote: > This seems good to me, assuming that the TriG docs below will have their current behaviour in SPARQL systems when imported, i.e. > > SELECT ?type > WHERE { > ?g a ?type . > GRAPH ?g {<a> <b> <c> } > } > > Will return rdf:Graph. In the example of: <u1> {<a> <b> <c> } as an inference of some kind? (rdf:GraphLabel) In: { <u2> a rdf:Graph } <u2> { <a> <b> <c> } the base data includes the match to that pattern. (modulo the union graph thing but this is loading the default graph explicitly -- what happens in such systems when the data explicitly says "default graph"?) Andy > > The only reservation I have is relating to systems where (out of the box) the default graph is the Union of the named graphs - this is relatively common. If the TriG also has: > > <u3> {<u2> a foaf:Person } > > Then the answer to the above query would be ?type = rdf:Graph, foaf:Person - which is not what was intended. > > In 4store, for example, you could force the issue by instead asking: > > SELECT ?type > WHERE { > GRAPH<default:> { ?g a ?type } > GRAPH ?g {<a> <b> <c> } > } > > but that's not standard SPARQL, uses a system specific ugly URI, and is probably semantically dubious. > > - Steve > > On 28 Mar 2012, at 03:23, Sandro Hawke wrote: > >> I've written up design 6 (originally suggested by Andy) in more >> detail. I've called in 6.1 since I've change/added a few details that >> Andy might not agree with. Eric has started writing up how the use >> cases are addressed by this proposal. >> >> This proposal addresses all 15 of our old open issues concerning graphs. >> (I'm sure it will have its own issues, though.) >> >> The basic idea is to use trig syntax, and to support the different >> desired relationships between labels and their graphs via class >> information on the labels. In particular, according to this proposal, >> in this trig document: >> >> <u1> {<a> <b> <c> } >> >> ... we only know that<u1> is some kind of label for the RDF Graph<a> >> <b> <c>, like today. However, in his trig document: >> >> {<u2> a rdf:Graph } >> <u2> {<a> <b> <c> } >> >> we know that<u2> is an rdf:Graph and, what's more, we know that<u2> >> actually is the RDF Graph {<a> <b> <c> }. That is, in this case, we >> know that URL "u2" is a name we can use in RDF to refer to that g-snap. >> >> Details are here: http://www.w3.org/2011/rdf-wg/wiki/Graphs_Design_6.1 >> >> That page includes answers to all the current GRAPHS issues, including >> ISSUE-5, ISSUE-14, etc. >> >> Eric has started going through Why Graphs and adding the examples as >> addressed by Proposal 6.1: >> http://www.w3.org/2011/rdf-wg/wiki/Why_Graphs_6.1 >> >> -- Sandro (with Eric nearby) >> >> >
Received on Wednesday, 28 March 2012 13:54:21 UTC