1

I would like to infer all siblings of person p, except of p himself. I use Protege 4.3.0 and object property isSiblingOf:

isChildOf o isParentOf SubPropertyOf isSiblingOf

It works quite well, but naturally it also infers that person is sibling of himself. It is not possible to use “irreflexive” option in object property isSiblingOf.

Basically, I would like to continue in question How to infer isBrotherOf property between two individuals where last two comments end with dilemma whether it is possible or not.
If it is possible, how?

Community
  • 1
  • 1

1 Answers1

1

One way to solve this is by using SWRL rules. On Protege,

  1. Go to Window
  2. Go to Tabs
  3. Click on SWRL tab
  4. Write the rule:
isChildOf(?x,?y)^ParentOf(?y,?z)^differentFrom(?z,?x)->isSibling(?x,?z)

This means that if "x is a child of y", and "y is also a parent of z" and "z and x are different" then "z and x are siblings".

Jeremy Caney
  • 7,102
  • 69
  • 48
  • 77