- 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