linked-statistics / xkos

A SKOS extension for statistical classifications
35 stars 8 forks source link

Missing rdf:type owl:Class for the rdfs:domain statement in xkos:covers #49

Closed laurentlefort closed 5 years ago

laurentlefort commented 7 years ago

For the definition of xkos:covers

xkos:covers a rdf:Property, owl:ObjectProperty ; rdfs:label "covers"@en, "couvre"@fr ; rdfs:domain [ owl:unionOf (skos:ConceptScheme xkos:ClassificationLevel)] ; rdfs:range skos:Concept ; rdfs:isDefinedBy http://rdf-vocabulary.ddialliance.org/xkos .

The definition of the domain of this property is not compliant with OWL 2 DL and is thus at risk of not being handled properly by tools implementing OWL 2 (or handled differently depending on the version you use!) such as Protege or the OWL API (other tools may "repair" this deviation from the part of the OWL specification which describes how to convert OWL content from non OWL-native formats like Turtle or RDF/XML).

The correct statement should be: rdfs:domain [rdf:type owl:Class ; owl:unionOf (skos:ConceptScheme xkos:ClassificationLevel)] ;

This is an error which I have seen elsewhere: it is fairly hard to spot in earlier versions of Protege e.g. 4.3.0 (you have to go to the definition and notice that it is missing). In the most recent version of Protege (5.1.0), the problematic statement appears as a blank node with an automatically generated genid ID so it is harder to miss.

For more information on the OWL DL - Full gap, see Matentzoglu, N., and B.Parsia. "The OWL Full/DL Gap in the Field." In OWL Experiences and Directions workshop (OWLED), pp. 49-60. 2014. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.661.9742&rep=rep1&type=pdf)