Re: Current agreement upon named graphs

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.

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!

There is nothing in the RDF specs that forbids sharing blank nodes between graphs. 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.

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

Received on Friday, 9 November 2012 17:21:25 UTC