code: @Override
      public NodeSet<OWLDataProperty> getSubDataProperties(OWLDataProperty pe,
              boolean direct) throws InconsistentOntologyException,
              FreshEntitiesException, ReasonerInterruptedException,
              TimeOutException {
          throw new ReasonerInternalException(
                  "getSubDataProperties not implemented");
      }
docs: Gets the set of named data properties that are the strict (potentially
  direct) subproperties of the specified data property expression with
  respect to the imports closure of the root ontology. Note that the
  properties are returned as a
  {@link NodeSet}.
  
  @param pe
  The data property whose strict (direct) subproperties are to
  be retrieved.
  @param direct
  Specifies if the direct subproperties should be retrived (
  <code>true</code>) or if the all subproperties (descendants)
  should be retrieved (<code>false</code>).
  @return If direct is <code>true</code>, a <code>NodeSet</code> such that
  for each property <code>P</code> in the <code>NodeSet</code> the
  set of reasoner axioms entails
  <code>DirectSubDataPropertyOf(P, pe)</code>. </p> If direct is
  <code>false</code>, a <code>NodeSet</code> such that for each
  property <code>P</code> in the <code>NodeSet</code> the set of
  reasoner axioms entails
  <code>StrictSubDataPropertyOf(P, pe)</code>. </p> If
  <code>pe</code> is equivalent to
  <code>owl:bottomDataProperty</code> then the empty
  <code>NodeSet</code> will be returned.
  
  @throws InconsistentOntologyException
  if the imports closure of the root ontology is inconsistent
  @throws FreshEntitiesException
  if the signature of the data property 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()}.