- From: <henry.story@bblfish.net>
- Date: Sat, 8 Mar 2014 19:42:03 +0100
- To: Semantic Web <semantic-web@w3.org>
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