- From: Benjamin Adrian <benjamin.horak@gmail.com>
- Date: Thu, 28 Apr 2011 21:33:07 +0200
- 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