From: "Jimmy" <jimbobbs@hotmail.com>
Subject: Blank Node Equality Question
Date: Sun, 20 Jul 2003 21:02:11 -0400
>
> If I have two blank nodes - each connected to identical nodes via
> identical predicates - then do the two nodes share the same properties?
> I.E. Any inferences made about one node are true for the other node.
>
> --
> Jimmy Cerra
Your question could have several meanings. It could mean
1/ If two blank nodes are connected to identical nodes via identical
predicates then do they denote indistinguishable objects? The answer to
this is definitely no. Suppose all that you have is
_:a rdf:type ex:Class .
_:b rdf:type ex:Class .
then _:a and _:b could denote very different objects, whose only point in
common is that they are both instances of ex:Class.
2/ If two blank nodes are connected to identical nodes via identical
predicates then when do they denote indistinguishable objects or the same
object? In RDF and RDFS there is no way of forcing two blank nodes to
denote indistinguishable objects or the same object. In stronger
languages, including OWL, there are several ways to force two nodes (blank or
otherwise) to denote the same object. One simple way (using two blank
nodes connected to identical nodes vias identical predicates) of doing this
in OWL is
_:a owl:sameAs _:a .
_:a owl:sameAs _:b .
_:b owl:sameAs _:a .
_:b owl:sameAs _:b .
2/ If two blank nodes are connected to identical nodes via identical
predicates then can any inference made about the first also be made about
the second? In RDF and RDFS this is true. In many stronger languages,
including OWL, this is not true. For example
_:a rdf:type ex:Class .
_:b rdf:type ex:Class .
entails in OWL
_:a owl:sameAs _:a .
but not
_:a owl:sameAs _:b .
Peter F. Patel-Schneider
Bell Labs Research
Lucent Technologies