sesuncedu / owl1-1

Automatically exported from code.google.com/p/owl1-1
0 stars 0 forks source link

Add sugar for rule (?x :hasSibling ?y) ^ :Male(?y) => (?x :hasBrother ?y) #50

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
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 )

Original issue reported on code.google.com by alanruttenberg@gmail.com on 3 Oct 2007 at 5:13

GoogleCodeExporter commented 9 years ago
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)

Original comment by alanruttenberg@gmail.com on 6 Oct 2007 at 3:27

GoogleCodeExporter commented 9 years ago

Original comment by alanruttenberg@gmail.com on 25 Oct 2007 at 4:43