@Override
    public NodeSet<OWLClass> getObjectPropertyDomains(
            OWLObjectPropertyExpression pe, boolean direct)
            throws InconsistentOntologyException, FreshEntitiesException,
            ReasonerInterruptedException, TimeOutException {
        throw new ReasonerInternalException(
                "getObjectPropertyDomains not implemented");
    }
@ Override public NodeSet < OWLClass > getObjectPropertyDomains ( OWLObjectPropertyExpression pe , boolean direct ) throws InconsistentOntologyException , FreshEntitiesException , ReasonerInterruptedException , TimeOutException { throw new ReasonerInternalException ( "getObjectPropertyDomains not implemented" ) ; }
Gets the named classes that are the direct or indirect domains of this
property with respect to the imports closure of the root ontology. The
classes are returned as a {@link NodeSet}
.

@param pe
The property expression whose domains are to be retrieved.
@param direct
Specifies if the direct domains should be retrieved (
<code>true</code>), or if all domains should be retrieved (
<code>false</code>).

@return Let
<code>N = getEquivalentClasses(ObjectSomeValuesFrom(pe owl:Thing))</code>
.
<p>
If <code>direct</code> is <code>true</code>: then if
<code>N</code> is not empty then the return value is
<code>N</code>, else the return value is the result of
<code>getSuperClasses(ObjectSomeValuesFrom(pe owl:Thing), true)</code>.
<p>
If <code>direct</code> is <code>false</code>: then the result of
<code>getSuperClasses(ObjectSomeValuesFrom(pe owl:Thing), false)</code>
together with <code>N</code> if <code>N</code> is non-empty.

@throws InconsistentOntologyException
if the imports closure of the root ontology is inconsistent
@throws FreshEntitiesException
if the signature of the object property expression is not
contained within the signature of the imports closure of the
root ontology and the undeclared entity policy of this
reasoner is set to {@link FreshEntityPolicy#DISALLOW}.
@throws ReasonerInterruptedException
if the reasoning process was interrupted for any particular
reason (for example if reasoning was cancelled by a client
process)
@throws TimeOutException
if the reasoner timed out during a basic reasoning operation.
See {@link #getTimeOut()}.