org.semanticweb.HermiT
Enum Configuration.ExistentialStrategyType

java.lang.Object
  extended by java.lang.Enum<Configuration.ExistentialStrategyType>
      extended by org.semanticweb.HermiT.Configuration.ExistentialStrategyType
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable<Configuration.ExistentialStrategyType>
Enclosing class:
Configuration

public static enum Configuration.ExistentialStrategyType
extends java.lang.Enum<Configuration.ExistentialStrategyType>

Sets a strategy type that determines how HermiT expands the model.


Enum Constant Summary
CREATION_ORDER
          Strategy for expanding all existentials on the oldest node in the tableau with unexpanded existentials.
EL
          For EL ontologies this existential strategy can be set to use a deterministic version of individual reuse that behaves similar to EL-style algorithms.
INDIVIDUAL_REUSE
          Individual reuse tries to reuse existing individuals first before creating a fresh successor.
OPTIMAL
          The optimal strategy is determined as follows: if the ontology contains nominals, then individual reuse will be employed.
 
Method Summary
static Configuration.ExistentialStrategyType valueOf(java.lang.String name)
          Returns the enum constant of this type with the specified name.
static Configuration.ExistentialStrategyType[] values()
          Returns an array containing the constants of this enum type, in the order they are declared.
 
Methods inherited from class java.lang.Enum
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Enum Constant Detail

CREATION_ORDER

public static final Configuration.ExistentialStrategyType CREATION_ORDER
Strategy for expanding all existentials on the oldest node in the tableau with unexpanded existentials. This usually closely approximates a breadth-first expansion. (Existentials introduced onto parent nodes as a result of constraints on their children can produce newer nodes of lower depth than older nodes, which could result in slight non-breadth-first behavior.)


INDIVIDUAL_REUSE

public static final Configuration.ExistentialStrategyType INDIVIDUAL_REUSE
Individual reuse tries to reuse existing individuals first before creating a fresh successor. This can introduce a lot of non-determinism, but the models can be much smaller (less memory required).


EL

public static final Configuration.ExistentialStrategyType EL
For EL ontologies this existential strategy can be set to use a deterministic version of individual reuse that behaves similar to EL-style algorithms.


OPTIMAL

public static final Configuration.ExistentialStrategyType OPTIMAL
The optimal strategy is determined as follows: if the ontology contains nominals, then individual reuse will be employed. If the ontology does not have nominals, then the creation order strategy will be used because in that case a blockers cache can be used, which is very good for the classification performance, but not compatible with individual reuse.

Method Detail

values

public static Configuration.ExistentialStrategyType[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
for (Configuration.ExistentialStrategyType c : Configuration.ExistentialStrategyType.values())
    System.out.println(c);

Returns:
an array containing the constants of this enum type, in the order they are declared

valueOf

public static Configuration.ExistentialStrategyType valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Parameters:
name - the name of the enum constant to be returned.
Returns:
the enum constant with the specified name
Throws:
java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
java.lang.NullPointerException - if the argument is null