org.eclipse.rdf4j.sail.base

## Interface SailSink

- All Superinterfaces:
    AutoCloseable, SailClosable

      public interface SailSink
      extends SailClosable

  A mutable source of RDF graphs. The life cycle follows that of a write operation.
  Author:
    James Leigh

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `approve(Resource subj, IRI pred, Value obj, Resource ctx)` Adds a statement to the store.
    `default void` | `approve(Statement statement)` Adds a statement to the store.
    `void` | `clear(Resource... contexts)` Removes all statements from the specified/all contexts.
    `void` | `clearNamespaces()` Removes all namespace declarations from this `SailSource`.
    `default void` | `deprecate(Resource subj, IRI pred, Value obj, Resource ctx)` Deprecated.
    `void` | `deprecate(Statement statement)` Removes a statement.
    `default boolean` | `deprecateByQuery(Resource subj, IRI pred, Value obj, Resource[] contexts)` Removes all statements with the specified subject, predicate, object, and context.
    `void` | `flush()` Once this method returns successfully, changes that were made to this `SailSink` will be visible to subsequent `SailSource.dataset(org.eclipse.rdf4j.IsolationLevel)`.
    `void` | `observe(Resource subj, IRI pred, Value obj, Resource... contexts)` 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`.
    `void` | `prepare()` Checks if this `SailSink` is consistent with the isolation level it was created with.
    `void` | `removeNamespace(String prefix)` Removes a namespace declaration by removing the association between a prefix and a namespace name.
    `void` | `setNamespace(String prefix, String name)` Sets the prefix for a namespace.
    `default boolean` | `supportsDeprecateByQuery()`

    - ### Methods inherited from interface org.eclipse.rdf4j.sail.base.SailClosable

      `close`

- - ### Method Detail

    - #### 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(org.eclipse.rdf4j.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.

    - #### 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

          @Deprecated
          default void deprecate(Resource subj,
                                             IRI pred,
                                             Value obj,
                                             Resource ctx)
                                      throws SailException

      Deprecated.
      Removes a statement with the specified subject, predicate, object, and context. All four parameters may be non-null. Deprecated since 3.1.0 2019.
      Parameters:
        `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
        `ctx` - The context from which to remove the statement
      Throws:
        `SailException` - If the statement could not be removed, 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()

Copyright © 2015-2020 Eclipse Foundation. All Rights Reserved.