I want to create an ontology about genealogy. I have the classes Person and Gender and the relation has_child between two Persons and the opposite relation has_parent. Each Person has a Gender. I would like to define some new properties like has_father defined by has_parent P1 and P1 has_gender MALE
or has_sibling defined by has_sibling(X1, X2) = has_father(X1, F) and has_father(X2, F)
. For this example, I ignored the mother, but it's for the sake of simplicity.
I could create explicit relations and add them to the Persons, but I want the system to infer the relations.
So I found how to do it. I used the property chains mechanism.