From OWL
Jump to: navigation, search


An object property range axiom ObjectPropertyRange( OPE CE ) states that the range of the object property expression OPE is the class expression CE - that is, if some individual is connected by OPE with an individual x, then x is an instance of CE. Each such axiom can be seen as a syntactic shortcut for the following axiom:

SubClassOf( owl:Thing ObjectAllValuesFrom( OPE CE ) )

The above syntactic shortcut is wrong as owl:Thing cannot be the subclass of ObjectAllValuesFrom( OPE CE )
Perhaps this is a typo for:

SubClassOf( ObjectAllValuesFrom( OPE CE ) owl:Thing )

Note that the above says nothing about the range of the OPE; it is not a syntactic shortcut for ObjectPropertyRange(OPE CE).

The current formulation in the document is correct, and there are no problems with owl:Thing being a subclass of some other class: this simply means that every individual is an instance of ObjectAllValuesFrom( OPE CE ), which effectively means that each individual pointer to by OPE must be an instance of CE.