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.

Last modified on 28 June 2012, at 15:35