W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > January to March 2011

Re: RDF-ISSUE-17 (graph merge): How are RDF datasets to be merged? [RDF Graphs]

From: Andy Seaborne <andy.seaborne@epimorphics.com>
Date: Tue, 29 Mar 2011 16:11:13 +0100
Message-ID: <4D91F691.6020006@epimorphics.com>
To: Souripriya Das <souripriya.das@oracle.com>
CC: Axel Polleres <axel.polleres@deri.org>, Steve Harris <steve.harris@garlik.com>, SPARQL Working Group <public-rdf-dawg@w3.org>


On 29/03/11 15:39, Souripriya Das wrote:
> Axel,
>
> Given that loading in batches into the same graph is common in practice,
> should we consider adding an option, REUSE BNODE (or something similar),
> to the relevant SPARQL update statements  (e.g., LOAD, etc.) to allow
> specifying "reuse bnode" intention without having to do it artificially?
>
> I think such an option will be very simple to add. The default could be
> the "NOREUSE BNODE" option.
>
> Thanks,
> - Souri.

That isn't a SPARQL Update issue so much as a RDF syntax issue.

If you GET-parse an RDF graph document, then do the same again then the 
bNodes are different.  The app may wish to make them the same - in which 
case it can smush them, including telling the local system to do it. 
But with no action, they are different bnodes, whether they have the 
same label or not.

A label is scoped to the represenation, i.e. single GET action.

It's the safe way because otherwise the graph may change, be serialized 
with the same labels but different bNodes (a label is not a global 
identity for a bnode).

Only if bNodes had a globally unique label (like a UUID) could there be 
a change and even then to preserve bakwards compatibility would require 
some syntactic adornment.

Some bNodes don't even have labels e.g. [] and (1) in Turtle.

Serializers currently use short names, like _:b0 because the label is 
scoped to the document.

	Andy
Received on Tuesday, 29 March 2011 15:11:57 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:15:45 GMT