- From: Richard Newman <r.newman@reading.ac.uk>
- Date: Wed, 21 Jul 2004 15:00:13 +0100
- To: rdf-interest <www-rdf-interest@w3.org>
All, 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, Richard [1] http://infomesh.net/2001/05/rdflint/rules.n3 [2] http://markun.cs.shinshu-u.ac.jp/Mirror/mizar.org/JFM/Vol1/ relat_2.abs.html#V1
Received on Wednesday, 21 July 2004 11:36:23 UTC