Attempting to add or remove statements can have a number of different
effects. This enum captures the different actions that can take place as
a result of trying to add or remove a statement from the database.
The focus statement was not in the database before and will be
in the database after the commit. This can be the result of either
explicit addStatement() operations on the SAIL connection, or from
new inferences being generated via truth maintenance when the
database has inference enabled. If the focus statement has a
statement type of explicit then it was added via an addStatement()
operation. If the focus statement has a statement type of inferred
then it was added via truth maintenance.
The focus statement was in the database before and will not
be in the database after the commit. When the database has inference
and truth maintenance enabled, the statement that is the focus of
this change record was either an explicit statement that was the
subject of a removeStatements() operation on the connection, or it
was an inferred statement that was removed as a result of truth
maintenance. Either way, the statement is no longer provable as an
inference using other statements still in the database after the
commit. If it were still provable, the explicit statement would have
had its type changed to inferred, and the inferred statement would
have remained untouched by truth maintenance. If an inferred
statement was the subject of a removeStatement() operation on the
connection it would have resulted in a no-op, since inferences can
only be removed via truth maintenance.
This change action can only occur when inference and truth
maintenance are enabled on the database. Sometimes an attempt at
statement addition or removal via an addStatement() or
removeStatements() operation on the connection will result in a type
change rather than an actual assertion or deletion. When in
inference mode, statements can have one of three statement types:
explicit, inferred, or axiom (see StatementEnum). There are
several reasons why a statement will change type rather than be
asserted or deleted:
A statement is asserted, but already exists in the database as
an inference or an axiom. The existing statement will have its type
changed from inference or axiom to explicit.
An explicit statement is retracted, but is still provable by
other means. It will have its type changed from explicit to
An explicit statement is retracted, but is one of the axioms
needed for inference. It will have its type changed from explicit to
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
name - the name of the enum constant to be returned.