I have problems relating classes (not individuals) in my ontology. I need to know which one
OWL(full-dl-lite) allows to relate classes.
i mean the domain and range of property be http://www.w3.org/2002/07/owl#Class.
Is it possible to do that?
thanks for any hint.
I have problems relating classes (not individuals) in my ontology. I need to know
Share
First, forget about the spec at http://www.w3.org/TR/owl-guide/, http://www.w3.org/TR/owl-ref/ and http://www.w3.org/TR/owl-semantics/. The official recommendation for a Web Ontology Language is OWL 2, where the various sublanguages are OWL 2 EL, OWL 2 QL, OWL 2 RL, OWL 2 DL and OWL 2 Full (read about the new features of OWL 2). OWL Lite does not exist anymore and should be forgotten forever.
Second, in OWL (both 1 and 2), it has always been possible to relate classes using annotation properties, like this in Turtle:
In OWL 1, it was not possible to define a domain or range for an annotation property but it is now possible in OWL 2:
Your other option is to rely on the notion of “punning”, that is, using the IRI of a class for an individual, like so:
However, you cannot use
owl:Classas the domain or range of an object property. The last possibility is to not care and use OWL (1/2) Full:Note that most OWL DL reasoners will not crash on that input (more precisely, all reasoners that I’ve ever tested would not crash), so it’s pretty safe in fact.