oeg-upm/Chowlk

Why are restriction defined with subClass instead of equivalentClass

GordianDziwis opened this issue · 3 comments

For example the existential estriction is in the chowlk notation defined with rdfs:subClass:

ns:Parent rdf:type owl:Class ;
  rdfs:subClassOf [ 
   rdf:type owl:Restriction ;
   owl:onProperty :hasChild;
   owl:someValuesFrom :Person
 ] .

So when x is a Parent follows => x has a child y which is a person.
But the other direction is not implied, because Parent is only a subClass of the anonymous concept of having a child which is a person.

While in the owl-primer existential estrictions are defined with

 :Parent  owl:equivalentClass  [
   rdf:type            owl:Restriction ;
   owl:onProperty      :hasChild ;
   owl:someValuesFrom  :Person
 ] .

Which would go both ways. So my questions are:

  1. What is the reasoning for using subClass insteadof equivalentClass.
  2. How to express the equivalentClass case with chowlk?

Also why does chowlk explicitly state that: ns:Parent rdf:type owl:Class, when this already implied by the rdfs:subClass property's domain.

Hello Bona,

  1. What is the reasoning for using subClass insteadof equivalentClass. --> both are possible by stating subClass or equivalntClass. The shortcut had to take only one of the options and from our experirence subclassOf was used more times, also it has less implications in case of error.
    
  2. How to express the equivalentClass case with chowlk? --> use the equivalent to an anonymous class then the axiom.
    

Thanks!