Persistent blank node identifiers

On today's call we got into a discussion of whether R2RML blank node
identifiers must be "persistent". That is if a client could expect the same
blank node identifier to be generated for a given row across separate
SPARQL queries.

While I expect in practice the blank node identifiers will be persistent. I
think per the spec, the user cannot assume they are. I base this conclusion
on this paragraph from section 11 of the R2RML draft:

"Conforming R2RML
processors<http://www.w3.org/2001/sw/rdb2rdf/r2rml/#dfn-r2rml-processor>
*MAY* rename blank
nodes<http://www.w3.org/2001/sw/rdb2rdf/r2rml/#dfn-blank-node>when
providing access to the output
dataset <http://www.w3.org/2001/sw/rdb2rdf/r2rml/#dfn-output-dataset>. This
means that client applications may see actual blank node
identifiers<http://www.w3.org/2001/sw/rdb2rdf/r2rml/#dfn-blank-node-identifier>that
differ from those produced by the R2RML
mapping <http://www.w3.org/2001/sw/rdb2rdf/r2rml/#dfn-r2rml-mapping>.
Client applications *SHOULD NOT* rely on the specific text of the blank
node identifier for any purpose."

To my reading, the last sentence precludes the user from assuming that
blank node identifiers are persistent.

-David

Received on Tuesday, 15 May 2012 20:24:58 UTC