Class ShaclSailConnection

All Implemented Interfaces:
AutoCloseable, FederatedServiceResolverClient, ThreadSafetyAware, NotifyingSailConnection, SailConnection, SailConnectionListener

public class ShaclSailConnection extends NotifyingSailConnectionWrapper implements SailConnectionListener
Author:
Heshan Jayasinghe, HÃ¥vard Ottestad
  • Field Details

  • Method Details

    • setTransactionSettings

      public void setTransactionSettings(TransactionSetting... settings)
      Description copied from interface: SailConnection
      Pass any transaction-specific settings to the SailConnection. This method needs to be called before the transaction is started .

      Sail implementations can override this method to receive the transaction settings (to inspect and/or pass them along to any wrapped sail objects). Remember to call super.setTransactionSettings(settings) if you override this method.

      Specified by:
      setTransactionSettings in interface SailConnection
      Overrides:
      setTransactionSettings in class SailConnectionWrapper
      Parameters:
      settings - the transaction settings on which the next transaction operates. It may or may not contain the isolation level.
    • 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.
    • addConnectionListener

      public void addConnectionListener(SailConnectionListener listener)
      Description copied from class: NotifyingSailConnectionWrapper
      Adds the given listener to the wrapped connection.
      Specified by:
      addConnectionListener in interface NotifyingSailConnection
      Overrides:
      addConnectionListener in class NotifyingSailConnectionWrapper
      Parameters:
      listener - A SailConnectionListener.
    • removeConnectionListener

      public void removeConnectionListener(SailConnectionListener listener)
      Description copied from class: NotifyingSailConnectionWrapper
      Removes the given listener from the wrapped connection.
      Specified by:
      removeConnectionListener in interface NotifyingSailConnection
      Overrides:
      removeConnectionListener in class NotifyingSailConnectionWrapper
      Parameters:
      listener - A SailConnectionListener.
    • commit

      public void commit() throws SailException
      Description copied from interface: SailConnection
      Commits any updates that have been performed since the last time SailConnection.commit() or SailConnection.rollback() was called.
      Specified by:
      commit in interface SailConnection
      Overrides:
      commit 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 committed.
    • 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.
    • removeStatement

      public void removeStatement(UpdateContext modify, Resource subj, IRI pred, Value obj, Resource... contexts) throws SailException
      Description copied from interface: SailConnection
      Removes all statements matching the specified subject, predicate and object from the repository. All three parameters may be null to indicate wildcards. Called when removing statements through a UpdateExpr operation.
      Specified by:
      removeStatement in interface SailConnection
      Overrides:
      removeStatement in class SailConnectionWrapper
      Parameters:
      modify - operation properties of the UpdateExpr operation removing these statements.
      subj - The subject of the statement that should be removed.
      pred - The predicate of the statement that should be removed.
      obj - The object of the statement that should be removed.
      contexts - The context(s) from which to remove the statement. Note that this parameter is a vararg and as such is optional. If no contexts are specified the method operates on the entire repository. A null value can be used to match context-less statements.
      Throws:
      SailException - If the statement could not be removed, for example because no transaction is active.
    • addStatement

      public void addStatement(Resource subj, IRI pred, Value obj, 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:
      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.
    • removeStatements

      public void removeStatements(Resource subj, IRI pred, Value obj, Resource... contexts) throws SailException
      Description copied from interface: SailConnection
      Removes all statements matching the specified subject, predicate and object from the repository. All three parameters may be null to indicate wildcards.
      Specified by:
      removeStatements in interface SailConnection
      Overrides:
      removeStatements in class SailConnectionWrapper
      Parameters:
      subj - The subject of the statement that should be removed, or null to indicate a wildcard.
      pred - The predicate of the statement that should be removed, or null to indicate a wildcard.
      obj - The object of the statement that should be removed , or null to indicate a wildcard. *
      contexts - The context(s) from which to remove the statement. Note that this parameter is a vararg and as such is optional. If no contexts are specified the method operates on the entire repository. A null value can be used to match context-less statements.
      Throws:
      SailException - If the statement could not be removed, for example because no transaction is active.
    • clear

      public void clear(Resource... contexts) throws SailException
      Description copied from interface: SailConnection
      Removes all statements from the specified/all contexts. If no contexts are specified the method operates on the entire repository.
      Specified by:
      clear in interface SailConnection
      Overrides:
      clear in class SailConnectionWrapper
      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 specified the method operates on the entire repository. A null value can be used to match context-less statements.
      Throws:
      SailException - If the statements could not be removed.
    • 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.
    • close

      public void close() throws SailException
      Description copied from interface: SailConnection
      Closes the connection. Any updates that haven't been committed yet will be rolled back. The connection can no longer be used once it is closed.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface SailConnection
      Overrides:
      close in class SailConnectionWrapper
      Throws:
      SailException
    • prepare

      public void prepare() throws SailException
      Description copied from interface: SailConnection
      Checks for an error state in the active transaction that would force the transaction to be rolled back. This is an optional call; calling or not calling this method should have no effect on the outcome of SailConnection.commit() or SailConnection.rollback(). A call to this method must be followed by (in the same thread) with a call to SailConnection.prepare() , SailConnection.commit(), SailConnection.rollback(), or SailConnection.close() . This method may be called multiple times within the same transaction by the same thread. If this method returns normally, the caller can reasonably expect that a subsequent call to SailConnection.commit() will also return normally. If this method returns with an exception the caller should treat the exception as if it came from a call to SailConnection.commit().
      Specified by:
      prepare in interface SailConnection
      Overrides:
      prepare 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 there is an active transaction and it cannot be committed.
    • statementAdded

      public void statementAdded(Statement statement)
      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:
      statement - The statement that was added.
    • statementRemoved

      public void statementRemoved(Statement statement)
      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:
      statement - The statement that was removed.
    • getRdfsSubClassOfReasoner

      public RdfsSubClassOfReasoner getRdfsSubClassOfReasoner()
    • getStatements

      public CloseableIteration<? extends Statement,SailException> getStatements(Resource subj, IRI pred, Value obj, boolean includeInferred, Resource... contexts) throws SailException
      Description copied from interface: SailConnection
      Gets all statements from the specified contexts that have a specific subject, predicate and/or object. All three parameters may be null to indicate wildcards. The includeInferred parameter can be used to control which statements are fetched: all statements or only the statements that have been added explicitly.
      Specified by:
      getStatements in interface SailConnection
      Overrides:
      getStatements in class SailConnectionWrapper
      Parameters:
      subj - A Resource specifying the subject, or null for a wildcard.
      pred - A URI specifying the predicate, or null for a wildcard.
      obj - A Value specifying the object, or null for a wildcard.
      includeInferred - if false, no inferred statements are returned; if true, inferred statements are returned if available
      contexts - The context(s) to get the data from. Note that this parameter is a vararg and as such is optional. If no contexts are specified the method operates on the entire repository. A null value can be used to match context-less statements.
      Returns:
      The statements matching the specified pattern.
      Throws:
      SailException - If the Sail object encountered an error or unexpected situation internally.
    • hasStatement

      public boolean hasStatement(Resource subj, IRI pred, Value obj, boolean includeInferred, Resource... contexts) throws SailException
      Description copied from interface: SailConnection
      Determines if the store contains any statements from the specified contexts that have a specific subject, predicate and/or object. All three parameters may be null to indicate wildcards. The includeInferred parameter can be used to control which statements are checked: all statements or only the statements that have been added explicitly.
      Specified by:
      hasStatement in interface SailConnection
      Overrides:
      hasStatement in class SailConnectionWrapper
      Parameters:
      subj - A Resource specifying the subject, or null for a wildcard.
      pred - An IRI specifying the predicate, or null for a wildcard.
      obj - A Value specifying the object, or null for a wildcard.
      includeInferred - if false, no inferred statements are returned; if true, inferred statements are returned if available
      contexts - The context(s) to get the data from. Note that this parameter is a vararg and as such is optional. If no contexts are specified the method operates on the entire repository. A null value can be used to match context-less statements.
      Returns:
      true iff the store contains any statements matching the supplied criteria, false otherwise.
      Throws:
      SailException - If the Sail object encountered an error or unexpected situation internally.
    • revalidate

      public ValidationReport revalidate()