Package org.eclipse.rdf4j.sail.inferencer.fc

## Class SchemaCachingRDFSInferencerConnection

- java.lang.Object
- - org.eclipse.rdf4j.sail.helpers.SailConnectionWrapper
  - - org.eclipse.rdf4j.sail.helpers.NotifyingSailConnectionWrapper
    - - org.eclipse.rdf4j.sail.inferencer.InferencerConnectionWrapper
      - - org.eclipse.rdf4j.sail.inferencer.fc.SchemaCachingRDFSInferencerConnection

- All Implemented Interfaces:
    `AutoCloseable`, `FederatedServiceResolverClient`, `InferencerConnection`, `NotifyingSailConnection`, `SailConnection`, `SailConnectionListener`

      public class SchemaCachingRDFSInferencerConnection
      extends InferencerConnectionWrapper
      implements SailConnectionListener

  Author:
    Håvard Mikkelsen Ottestad

- - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `addInferredStatement​(Resource subj, IRI pred, Value obj, Resource... contexts)` | Adds an inferred statement to a specific context.
    `void` | `addStatement​(Resource subject, IRI predicate, Value object, Resource... contexts)` | Adds a statement to the store.
    `void` | `addStatement​(UpdateContext modify, Resource subj, IRI pred, Value obj, Resource... contexts)` | Adds a statement to the store.
    `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.
    `void` | `clearInferred​(Resource... contexts)` | Removes all inferred statements from the specified/all contexts.
    `void` | `commit()` | Calls `InferencerConnectionWrapper.flushUpdates()` before forwarding the call to the wrapped connection.
    `void` | `flushUpdates()` | Flushes any pending updates to be processed and the resulting changes to be reported to registered `SailConnectionListener`s.
    `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.

    - ### Methods inherited from class org.eclipse.rdf4j.sail.inferencer.InferencerConnectionWrapper

      `evaluate, flush, getContextIDs, getStatements, getWrappedConnection, hasStatement, prepare, removeInferredStatement, size`

    - ### Methods inherited from class org.eclipse.rdf4j.sail.helpers.NotifyingSailConnectionWrapper

      `addConnectionListener, removeConnectionListener`

    - ### Methods inherited from class org.eclipse.rdf4j.sail.helpers.SailConnectionWrapper

      `clear, clearNamespaces, close, endUpdate, explain, getNamespace, getNamespaces, isActive, isOpen, pendingRemovals, prepareQuery, removeNamespace, removeStatement, removeStatements, setFederatedServiceResolver, setNamespace, setTransactionSettings, size, startUpdate`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.eclipse.rdf4j.sail.NotifyingSailConnection

      `addConnectionListener, removeConnectionListener`

    - ### Methods inherited from interface org.eclipse.rdf4j.sail.SailConnection

      `clear, clearNamespaces, close, endUpdate, explain, getNamespace, getNamespaces, isActive, isOpen, pendingRemovals, prepareQuery, removeNamespace, removeStatement, removeStatements, setNamespace, setTransactionSettings, startUpdate`

- - ### Method Detail

    - #### clearInferred

          public void clearInferred​(Resource... contexts)
                             throws SailException

      Description copied from interface: `InferencerConnection`
      Removes all inferred statements from the specified/all contexts. If no contexts are specified the method operates on the entire repository.
      Specified by:
        `clearInferred` in interface `InferencerConnection`
      Overrides:
        `clearInferred` in class `InferencerConnectionWrapper`
      Parameters:
        `contexts` - The context(s) from which to remove the statements. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the entire repository.
      Throws:
        `SailException` - If the statements could not be removed.

    - #### commit

          public void commit()
                      throws SailException

      Description copied from class: `InferencerConnectionWrapper`
      Calls `InferencerConnectionWrapper.flushUpdates()` before forwarding the call to the wrapped connection.
      Specified by:
        `commit` in interface `SailConnection`
      Overrides:
        `commit` in class `InferencerConnectionWrapper`
      Throws:
        `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 committed.

    - #### addInferredStatement

          public boolean addInferredStatement​(Resource subj,
                                              IRI pred,
                                              Value obj,
                                              Resource... contexts)
                                       throws SailException

      Description copied from interface: `InferencerConnection`
      Adds an inferred statement to a specific context.
      Specified by:
        `addInferredStatement` in interface `InferencerConnection`
      Overrides:
        `addInferredStatement` in class `InferencerConnectionWrapper`
      Parameters:
        `subj` - The subject of the statement to add.
        `pred` - The predicate of the statement to add.
        `obj` - The object of the statement to add.
        `contexts` - The context(s) to add the statement to. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the entire repository.
      Throws:
        `SailException` - If the statement could not be added.

    - #### addStatement

          public void addStatement​(Resource subject,
                                   IRI predicate,
                                   Value object,
                                   Resource... contexts)
                            throws SailException

      Description copied from interface: `SailConnection`
      Adds a statement to the store.
      Specified by:
        `addStatement` in interface `SailConnection`
      Overrides:
        `addStatement` in class `SailConnectionWrapper`
      Parameters:
        `subject` - The subject of the statement to add.
        `predicate` - The predicate of the statement to add.
        `object` - The object of the statement to add.
        `contexts` - The context(s) to add the statement to. Note that this parameter is a vararg and as such is optional. If no contexts are specified, a context-less statement will be added.
      Throws:
        `SailException` - If the statement could not be added, for example because no transaction is active.

    - #### rollback

          public void rollback()
                        throws SailException

      Description copied from interface: `SailConnection`
      Rolls back the transaction, discarding any uncommitted changes that have been made in this SailConnection.
      Specified by:
        `rollback` in interface `SailConnection`
      Overrides:
        `rollback` in class `SailConnectionWrapper`
      Throws:
        `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.

    - #### begin

          public void begin()
                     throws SailException

      Description copied from interface: `SailConnection`
      Begins a transaction requiring `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()`.
      Specified by:
        `begin` in interface `SailConnection`
      Overrides:
        `begin` in class `SailConnectionWrapper`
      Throws:
        `SailException` - If the connection could not start a transaction or if a transaction is already active on this connection.

    - #### begin

          public void begin​(IsolationLevel level)
                     throws SailException

      Description copied from interface: `SailConnection`
      Begins a transaction with the specified `IsolationLevel` level, requiring `SailConnection.commit()` or `SailConnection.rollback()` to be called to close the transaction.
      Specified by:
        `begin` in interface `SailConnection`
      Overrides:
        `begin` in class `SailConnectionWrapper`
      Parameters:
        `level` - the transaction isolation level on which this transaction operates.
      Throws:
        `UnknownSailTransactionStateException` - If the IsolationLevel is not supported by this implementation
        `SailException` - 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.

    - #### flushUpdates

          public void flushUpdates()
                            throws SailException

      Description copied from interface: `InferencerConnection`
      Flushes any pending updates to be processed and the resulting changes to be reported to registered `SailConnectionListener`s.
      Specified by:
        `flushUpdates` in interface `InferencerConnection`
      Overrides:
        `flushUpdates` in class `InferencerConnectionWrapper`
      Throws:
        `SailException` - If the updates could not be processed.

    - #### statementAdded

          public void statementAdded​(Statement st)

      Description copied from interface: `SailConnectionListener`
      Notifies the listener that a statement has been added in a transaction that it has registered itself with.
      Specified by:
        `statementAdded` in interface `SailConnectionListener`
      Parameters:
        `st` - The statement that was added.

    - #### statementRemoved

          public void statementRemoved​(Statement st)

      Description copied from interface: `SailConnectionListener`
      Notifies the listener that a statement has been removed in a transaction that it has registered itself with.
      Specified by:
        `statementRemoved` in interface `SailConnectionListener`
      Parameters:
        `st` - The statement that was removed.

    - #### addStatement

          public void addStatement​(UpdateContext modify,
                                   Resource subj,
                                   IRI pred,
                                   Value obj,
                                   Resource... contexts)
                            throws SailException

      Description copied from interface: `SailConnection`
      Adds a statement to the store. Called when adding statements through a `UpdateExpr` operation.
      Specified by:
        `addStatement` in interface `SailConnection`
      Overrides:
        `addStatement` in class `SailConnectionWrapper`
      Parameters:
        `modify` - operation properties of the `UpdateExpr` operation producing these statements.
        `subj` - The subject of the statement to add.
        `pred` - The predicate of the statement to add.
        `obj` - The object of the statement to add.
        `contexts` - The context(s) to add the statement to. Note that this parameter is a vararg and as such is optional. If no contexts are specified, a context-less statement will be added.
      Throws:
        `SailException` - If the statement could not be added, for example because no transaction is active.