public abstract class AbstractForwardChainingInferencerConnection extends InferencerConnectionWrapper implements SailConnectionListener
Modifier and Type | Field and Description |
---|---|
protected int |
totalInferred |
Constructor and Description |
---|
AbstractForwardChainingInferencerConnection(Sail sail,
InferencerConnection con) |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
addAxiomStatements()
Adds all basic set of axiom statements from which the complete set can be inferred to the underlying Sail.
|
protected abstract int |
applyRules(Model iteration)
Returns the number of newly inferred statements.
|
void |
begin()
Begins a transaction requiring
SailConnection.commit() or SailConnection.rollback() to be called to close the transaction. |
void |
begin(IsolationLevel level)
Begins a transaction with the specified
IsolationLevel level, requiring SailConnection.commit() or
SailConnection.rollback() to be called to close the transaction. |
protected abstract Model |
createModel() |
protected void |
doInferencing() |
void |
flushUpdates()
Flushes any pending updates to be processed and the resulting changes to be reported to registered
SailConnectionListener s. |
protected boolean |
hasNewStatements() |
protected boolean |
needsFullRecomputation()
Indicates if a full recomputation of the deductive closure is needed.
|
protected Model |
prepareIteration() |
void |
rollback()
Rolls back the transaction, discarding any uncommitted changes that have been made in this SailConnection.
|
void |
statementAdded(Statement st)
Notifies the listener that a statement has been added in a transaction that it has registered itself with.
|
void |
statementRemoved(Statement st)
Notifies the listener that a statement has been removed in a transaction that it has registered itself with.
|
addInferredStatement, clearInferred, commit, evaluate, flush, getContextIDs, getStatements, getWrappedConnection, prepare, removeInferredStatement, size
addConnectionListener, removeConnectionListener
addStatement, addStatement, clear, clearNamespaces, close, endUpdate, explain, getNamespace, getNamespaces, isActive, isOpen, pendingRemovals, prepareQuery, removeNamespace, removeStatement, removeStatements, setFederatedServiceResolver, setNamespace, size, startUpdate
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addConnectionListener, removeConnectionListener
addStatement, addStatement, addStatement, addStatement, clear, clearNamespaces, close, endUpdate, explain, getNamespace, getNamespaces, getStatements, hasStatement, isActive, isOpen, pendingRemovals, prepareQuery, removeNamespace, removeStatement, removeStatement, removeStatements, removeStatements, setNamespace, startUpdate
public AbstractForwardChainingInferencerConnection(Sail sail, InferencerConnection con)
public void statementAdded(Statement st)
SailConnectionListener
statementAdded
in interface SailConnectionListener
st
- The statement that was added.protected abstract Model createModel()
public void statementRemoved(Statement st)
SailConnectionListener
statementRemoved
in interface SailConnectionListener
st
- The statement that was removed.public void flushUpdates() throws SailException
InferencerConnection
SailConnectionListener
s.flushUpdates
in interface InferencerConnection
flushUpdates
in class InferencerConnectionWrapper
SailException
- If the updates could not be processed.public void begin() throws SailException
SailConnection
SailConnection.commit()
or SailConnection.rollback()
to be called to close the transaction.
The transaction will use the default IsolationLevel
level for the SAIL, as returned by
Sail.getDefaultIsolationLevel()
.begin
in interface SailConnection
begin
in class SailConnectionWrapper
SailException
- If the connection could not start a transaction or if a transaction is already active on
this connection.public void begin(IsolationLevel level) throws SailException
SailConnection
IsolationLevel
level, requiring SailConnection.commit()
or
SailConnection.rollback()
to be called to close the transaction.begin
in interface SailConnection
begin
in class SailConnectionWrapper
level
- the transaction isolation level on which this transaction operates.UnknownSailTransactionStateException
- If the IsolationLevel is not supported by this implementationSailException
- If the connection could not start a transaction, if the supplied
transaction isolation level is not supported, or if a transaction is
already active on this connection.public void rollback() throws SailException
SailConnection
rollback
in interface SailConnection
rollback
in class SailConnectionWrapper
UnknownSailTransactionStateException
- If the transaction state can not be determined (this can happen for
instance when communication between client and server fails or
times-out). It does not indicate a problem with the integrity of the
store.SailException
- If the SailConnection could not be rolled back.protected abstract void addAxiomStatements() throws SailException
SailException
protected void doInferencing() throws SailException
SailException
protected abstract int applyRules(Model iteration) throws SailException
SailException
protected Model prepareIteration()
protected boolean hasNewStatements()
protected boolean needsFullRecomputation()
Copyright © 2015-2020 Eclipse Foundation. All Rights Reserved.