W3C home > Mailing lists > Public > public-rdfa-wg@w3.org > April 2011

Re: Issue on comparing BlankNodes in the RDF API

From: Benjamin Adrian <benjamin.horak@gmail.com>
Date: Thu, 28 Apr 2011 21:33:07 +0200
Message-ID: <4DB9C0F3.5090008@gmail.com>
To: nathan@webr3.org, RDFa WG <public-rdfa-wg@w3.org>, Manu Sporny <msporny@digitalbazaar.com>, Ivan Herman <ivan@w3.org>
Am 28.04.2011 20:31, schrieb Nathan:

>> So what is the problem?
> 
> I checked my libs (after wondering why this wasn't a problem for me) and
> found that I had implemented as follows:
> 
>   this.value = "_:b".concat(++api.BlankNode.NEXTID)
> 
> that's inside the blank node constructor, then the equality test just
> checks if the values are equal.
> 
> this gaurantees that each blank node in the environment has a unique id,
> and that two blank nodes are equal within that environment if they have
> the same id.
> 
> certainly never had any problems with it (and I have used the code
> heavily), and it's also the way tabulator is implemented.
> 
> likewise as per Ivan's note on references, two blank nodes are the same
> with a normal == test, since they can only be the same blank node if
> they are references to the same object.

This means if we assume two graphs:

graph A: _:0 rdfs:label "Nathan" .
graph B: _:1 rdfs:label "Nathan" .

The graphs are unequal. When merging A and B the resulting graph C is:

graph C: _:0 rdfs:label "Nathan" .
         _:1 rdfs:label "Nathan" .

I don't know, is this conform to the RDF semantics?

Ben
Received on Friday, 29 April 2011 08:52:32 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:19:51 UTC