Re: Current agreement upon named graphs

On Nov 9, 2012, at 11:20 AM, Richard Cyganiak wrote:

> Hi Paul,
> 
> On 9 Nov 2012, at 15:44, Paul Gearon wrote:
>> Triples don't "belong to" a graph per se, but in general it's fine for the same triple to appear in more than one graph.
> 
> True.
> 
>> The exception to this is for those triples that contain a blank node. In that case it may be possible to have equivalent triples in different graphs, but not the same triple. What I mean is that the blank nodes will be different
> 
> That's actually an (incredibly common!) misconception. The same blank node may occur in different graphs.

That is true, with the specs as written. However, IMO this is a *bug* in the current (2004) specs. It was never the intention to allow bnodes to be shared between "unrelated" graphs from distinct sources. 

> I have myself written W3C Recommendations under the impression that blank nodes cannot be shared between graphs, so even being a member of the RDF Working Group does not grant immunity against that misconception!

And some members of the 2004 WG were also under this impression, several years after publication. (No, I won't say who.)

> There is nothing in the RDF specs that forbids sharing blank nodes between graphs.

The 2004 WG was caught between a rock and a fairly hard place. We *had* to formally allow two distinct graphs to be able to share bnodes, because of the case where subsets of a single large graph are being isolated and processed. We also wanted to ensure that graphs from completely different sources would not share bnodes, which was always part of the intuitive design; but we were not able to think of a way to fix both possibilities within the set-based abstract syntax model. Subsequent thinking has come up with a way to do this, but it requires extending the notion of a graph being simply a set of triples, to introduce some other concept (called a "surface" in http://www.slideshare.net/PatHayes/rdf-redux and a "g-box" or a "layer" in informal WG emailings and maybe officially an "RDF source" soon) which can act as a local scoping device for blank nodes (not blank node IDs, but actual blank nodes.) Then it is still possible for graphs to share blank nodes, but only if they are all from the same source: so graphs from different sources are guaranteed to not have blank nodes in common. 

But all of this is speculative; the required restrictions on bnodes have not yet been adopted by the current WG, and as things stand at the present, Richard's account here is exactly correct. 

> The misconception is probably caused by confusion between blank node *identifiers* in RDF files (which have file scope) and *blank nodes* in the abstract syntax (whose scope is not limited by the specs).
> 
> SPARQL Update has forced the issue by allowing blank nodes to be copied between different slots in a graph store.

In the terminology above, the graphs in a datastore would all considered to be part of one "RDF source", which seems to make sense.

Pat

> 
> The current Editor's Draft of RDF Concepts and Abstract Syntax, which now includes Named Graphs, makes this clear:
> http://dvcs.w3.org/hg/rdf/raw-file/default/rdf-concepts/index.html#section-dataset
> 
> The upcoming TriG and N-Quads W3C Recommendations will follow this too by giving file scope to the blank node IDs, and hence allowing them to be shared between graphs in the serialized dataset.
> 
> If you want more (very gory/boring) details on this, there's a long thread called “shared bnodes” on the RDF-WG mailing list:
> http://lists.w3.org/Archives/Public/public-rdf-wg/2012Aug/thread.html
> 
> And more pointers here, where the whole thing was tracked:
> http://www.w3.org/2011/rdf-wg/track/issues/21
> 
> All the best,
> Richard
> 

------------------------------------------------------------
IHMC                                     (850)434 8903 or (650)494 3973   
40 South Alcaniz St.           (850)202 4416   office
Pensacola                            (850)202 4440   fax
FL 32502                              (850)291 0667   mobile
phayesAT-SIGNihmc.us       http://www.ihmc.us/users/phayes

Received on Monday, 12 November 2012 09:18:44 UTC