W3C home > Mailing lists > Public > www-rdf-interest@w3.org > March 2004

Re: a bnode URI scheme?!

From: Jeremy Carroll <jjc@hplb.hpl.hp.com>
Date: Fri, 12 Mar 2004 09:30:10 +0000
Message-ID: <40518322.7010903@hplb.hpl.hp.com>
To: Reto Bachmann-Gmuer <reto@gmuer.ch>
Cc: Adam Souzis <adam-l@souzis.com>, www-rdf-interest@w3.org



Reto Bachmann-Gmuer wrote:

> (I've just tryed loading twice the same bnode-containing RDF/XML in a
> model with jena, and jena is either buggy or it agrees with me ;-)

(Perhaps failing to understand ;-) .... )

I haven't tracked which side of the argument you are on, but I am pretty 
sure that neither of the above is true.

Well jena *is* buggy, like [almost] any software, but it's handling of 
bnodes in the simple case that you describe, (reading the same file twice), 
is well-defined. (The bnodes get duplicated). However, it does not touch on 
philosophical questions of bnode identity.

Jena attempts to implement useful behaviours licensed by the RDF 
Recommendation; in this case, we could have chosen to follow the RDF 
Semantics which describes bnodes as existentials and eliminated duplicates 
(the work of Mugnier and Chien in the Conceptual Graph literature on 
irredundancy is highly relevant). We haven't done so, not because we take 
any deep position on bnode identity but because we have limited resources, 
redundancy checking is slow, and we believe the final visible end user 
benefit would be small. If we had done so, that still would not have been a 
position about bnode identity, merely a position that following the RDF 
Semantics some of the bnodes and their associated triples added no new 
information and could be deleted without loss.

In conclusion:
1) Jena is a piece of software that tries to implement the RDF and OWL 
Recommendations - it is not an oracle to consult on philosophical issues.
2) Whether two bnodes are or are not the same is an uninteresting question. 
What matters is the meaning of a graph under the RDF Semantics.


An example:

G:

eg:a eg:foo _:b .
_:b eg:bar eg:c .
eg:a eg:foo _:d .

G':

eg:a eg:foo _:b .
_:b eg:bar eg:c .


No one would argue that the bnode _:b in G is the same as _:d in G. However 
the third triple in G is redundant since G' entails G by the RDF Semantics.

As far as I am aware there is no software available for Jena that permits 
you to automatically trim G to G'.


Jeremy
Received on Friday, 12 March 2004 04:34:50 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 18 February 2014 13:20:07 UTC