OP-TED / model2owl

Transform UML into a formal OWL ontology and SHACL shapes
https://meaningfy-ws.github.io/model2owl-docs
European Union Public License 1.2
28 stars 5 forks source link

Definition of the ranges of the restrictions #70

Open giorgialodi opened 3 years ago

giorgialodi commented 3 years ago

As discussed with @costezki in a recent call, in the last version of the OWL restriction file (version 07/12) restrictions do not specify the type of range. Therefore, in software like Protégé restrictions are attributed to generic "owl:Thing" when it is an object property or to "rdfs:Literal" when it is a datatype property. I think it is important to specify the type of the range of the object and data type restrictions.

See screenshot for the class Procedure:

Screen Shot 2020-12-09 at 12 37 09

In this case for instance the property hasAccelerated should be exactly 1 xsd:boolean (in the ideal world probably is max 1 xsd:boolean but this has to be fixed at the modelling level) or hasID should be exactly 1 Identifier etc.

costezki commented 3 years ago

Restrictions shall be as non-redundant as possible. Property range restrictions are specified in the property definitions and, not in the subclass definitions based on property-based restrictions.

Protege shows currently a generic type (owl:Thing or rdfs:Literal) in the restriction definitions. The reasoner should, however, derive the correct range from the property definition and accommodate it in the restriction definition. Hence Protege should display it accordingly.

This remains to be further tested and decided.

giorgialodi commented 3 years ago

@costezki I am not able to run Hermit reasoner. It lasts for ages. It seems stuck in data type properties. I will retry but it does not seem good :-(

costezki commented 3 years ago

@giorgialodi, thank you for trying. We will have to plan a proper analysis for the reasoning aspects in the future so do not worry about this for the moment.