MothersLovers - an OWL restriction question

I would like to specify the class that is such that the object of one relation 
is the same ( or same domain ) as object of another relation. 

Something that could be written like this ( were it to exist )

SomeType 
  owl:equivalentClass 
        [ a owl:SameRangeRestriction;
          owl:onProperty :rel1;
          owl:onProperty :rel2 
        ] .

One could define the class of lovers of their mothers like that

MothersLovers owl:equivalentClass [ a owl:SameRangeRestriction
                             owl:onProperty :lover
                             owl:onProperty :mother ] .

As that SameRangeRestriction does not exist, I tried this:

MothersLovers 
     owl:equivalentClass [ a owl:Restriction;
                owl:onProperty [ rdfs:subPropertyOf [ owl:propertyChainAxiom ( :lover [ owl:InverseOf :mother ] )];
                                 a owl:ReflexiveProperty ];
                owl:minCardinality 1 ] .


But Pellet does not like property chain axioms in Restrictions. ( perhaps other resoners allow this?)

Henry


Social Web Architect
http://bblfish.net/

Received on Saturday, 8 March 2014 18:43:09 UTC