- From: Andy Seaborne <andy.seaborne@epimorphics.com>
- Date: Tue, 29 Mar 2011 16:11:13 +0100
- 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 UTC