ISSUE-22 (role-rule-sugar): Add sugar for rule (?x :hasSibling ?y) ^ :Male(?y) => (?x :hasBrother ?y)

ISSUE-22 (role-rule-sugar): Add sugar for rule (?x :hasSibling ?y) ^ :Male(?y) => (?x :hasBrother ?y) 

http://www.w3.org/2007/OWL/tracker/issues/

Raised by: Alan Ruttenberg
On product: 

Reported by alanruttenberg, Oct 02, 2007
See thread 

http://lists.w3.org/Archives/Public/public-owl-dev/2007OctDec/0004.html

example how in

http://lists.w3.org/Archives/Public/public-owl-dev/2007OctDec/0015.html

 (R4) SubObjectPropertyOf(SubObjectPropertyChain(sibling manman) brother)
  (A1) SubClassOf( Man ObjectExistsSelf(manman) )
  (A3) ObjectPropertyDomain( manman Man )
  (A4) FunctionalObjectProperty( manman )
Delete comment
Comment 1 by alanruttenberg, Oct 06, 2007
Ian Horrocks says:

Now you have pointed out the basic trick, I wonder why the set of axioms for expressing this rule is so 
complex. In particular, why do we need it to be the case that manman(x,x) <=> Man(x) -- wouldn't it be  enough that Man(x) => manman(x,x)? We could also do without reflexivity -- we could simply use an  existential restriction to force the existence of *some* manman relation and then use (sibling manman  InverseObjectProperty(manman)) as the role chain implying brother. This would give:

SubClassOf(Man ObjectExists(manman Thing))
SubObjectPropertyOf(SubObjectPropertyChain(sibling manman InverseObjectProperty(manman)) brother)

Received on Thursday, 25 October 2007 04:42:51 UTC