Interface SailSink

All Superinterfaces:
AutoCloseable, SailClosable
All Known Implementing Classes:
Changeset

public interface SailSink extends SailClosable
A mutable source of RDF graphs. The life cycle follows that of a write operation.
Author:
James Leigh
  • Method Details

    • prepare

      void prepare() throws SailException
      Checks if this SailSink is consistent with the isolation level it was created with. If this Sink was created with a IsolationLevels.SERIALIZABLE and another conflicting SailSink has already been flush()ed, this method will throw a SailConflictException.
      Throws:
      SailException
    • flush

      void flush() throws SailException
      Once this method returns successfully, changes that were made to this SailSink will be visible to subsequent SailSource.dataset(IsolationLevel).
      Throws:
      SailException
    • setNamespace

      void setNamespace(String prefix, String name) throws SailException
      Sets the prefix for a namespace.
      Parameters:
      prefix - The new prefix, or an empty string in case of the default namespace.
      name - The namespace name that the prefix maps to.
      Throws:
      SailException - If the Sail object encountered an error or unexpected situation internally.
      NullPointerException - In case prefix or name is null.
    • removeNamespace

      void removeNamespace(String prefix) throws SailException
      Removes a namespace declaration by removing the association between a prefix and a namespace name.
      Parameters:
      prefix - The namespace prefix, or an empty string in case of the default namespace.
      Throws:
      SailException
      NullPointerException - In case prefix is null.
    • clearNamespaces

      void clearNamespaces() throws SailException
      Removes all namespace declarations from this SailSource.
      Throws:
      SailException
    • clear

      void clear(Resource... contexts) throws SailException
      Removes all statements from the specified/all contexts. If no contexts are specified the method operates on the entire repository.
      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.
    • observe

      void observe(Resource subj, IRI pred, Value obj, Resource... contexts) throws SailException
      Called to indicate matching statements have been observed and must not change their state until after this SailSink is committed, iff this was opened in an isolation level compatible with IsolationLevels.SERIALIZABLE.
      Parameters:
      subj - A Resource specifying the subject, or null for a wildcard.
      pred - A IRI specifying the predicate, or null for a wildcard.
      obj - A Value specifying the object, or null for a wildcard.
      contexts - The context(s) of the observed statements. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on all contexts.
      Throws:
      SailException - If the triple source failed to observe these statements.
    • observe

      default void observe(Resource subj, IRI pred, Value obj, Resource context) throws SailException
      Called to indicate matching statements have been observed and must not change their state until after this SailSink is committed, iff this was opened in an isolation level compatible with IsolationLevels.SERIALIZABLE.
      Parameters:
      subj - A Resource specifying the subject, or null for a wildcard.
      pred - A IRI specifying the predicate, or null for a wildcard.
      obj - A Value specifying the object, or null for a wildcard.
      context - The context of the observed statements.
      Throws:
      SailException - If the triple source failed to observe these statements.
    • approve

      void approve(Resource subj, IRI pred, Value obj, Resource ctx) throws SailException
      Adds a statement to the store.
      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.
      ctx - The context to add the statement to.
      Throws:
      SailException - If the statement could not be added, for example because no transaction is active.
    • approve

      default void approve(Statement statement) throws SailException
      Adds a statement to the store.
      Parameters:
      statement - The statement to add.
      Throws:
      SailException - If the statement could not be added, for example because no transaction is active.
    • deprecate

      void deprecate(Statement statement) throws SailException
      Removes a statement.
      Parameters:
      statement - The statement that should be removed
      Throws:
      SailException - If the statement could not be removed, for example because no transaction is active.
    • deprecateByQuery

      default boolean deprecateByQuery(Resource subj, IRI pred, Value obj, Resource[] contexts)
      Removes all statements with the specified subject, predicate, object, and context. All four parameters may be null.
      Throws:
      SailException - If statements could not be removed, for example because no transaction is active.
    • supportsDeprecateByQuery

      default boolean supportsDeprecateByQuery()
    • approveAll

      default void approveAll(Set<Statement> approved, Set<Resource> approvedContexts)
    • deprecateAll

      default void deprecateAll(Set<Statement> deprecated)
    • observeAll

      default void observeAll(Set<Changeset.SimpleStatementPattern> observed)