oeg-upm / Chowlk

Tool to transform an ontology diagram into OWL code.
Apache License 2.0
22 stars 6 forks source link

Why are restriction defined with subClass instead of equivalentClass #33

Closed GordianDziwis closed 2 years ago

GordianDziwis commented 2 years ago

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?
GordianDziwis commented 2 years ago

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

mariapoveda commented 2 years ago

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.

GordianDziwis commented 2 years ago

Thanks!