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

Transitive properties

From: Richard Newman <r.newman@reading.ac.uk>
Date: Wed, 21 Jul 2004 15:00:13 +0100
Message-Id: <499EF776-DB1E-11D8-A928-000A957D9564@reading.ac.uk>
To: rdf-interest <www-rdf-interest@w3.org>

   Two quick questions I hope someone can help with.

   I have a transitive symmetric property, biological relation (though  
any other similar property will do):

:bioRel a owl:SymmetricProperty, owl:TransitiveProperty .

   I have also been hacking together a rules file for cwm (edited from  
[1]). To this I have added transitivity, thus:

{?p a owl:TransitiveProperty .
  ?x ?p ?y .
  ?y ?p ?z .} => {?x ?p ?z .} .

   When I run this with a sample statement:

:John :bioRel :Bob .

   I get reflexive results (i.e. John is his own relative):

:John :bioRel :Bob, :John .
:Bob :bioRel :John , :Bob .

   My questions:
1. is this behaviour as specified? From my readings of the OWL  
specifications, I think x, y, and z are supposed to be different, so  
this is incorrect (only subClass and subProperty are reflexive?).   
However, I've also seen in other contexts that a transitive symmetric  
relation is automatically reflexive [2].
2. is this down to cwm binding the same entity (e.g. John) to both ?x  
and ?z when it shouldn't? I can fix this by adding '?x  
owl:differentFrom ?z .' to the antecedent, but I don't know if I  
should. Is there a better way of doing it? Alternatively, is there a  
thorough RDFS/OWL rules file anyone can point me to?

Your thoughts would be most welcome --- I'm sure I've just missed  
something somewhere.

Regards and thanks,

[1] http://infomesh.net/2001/05/rdflint/rules.n3
Received on Wednesday, 21 July 2004 11:36:23 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:44:50 UTC