Package org.eclipse.rdf4j.sail.base

## Interface SailDataset

- All Superinterfaces:
    `AutoCloseable`, `SailClosable`

      public interface SailDataset
      extends SailClosable

  A state of an `SailSource` at a point in time that will remain consistent until `close()` is called. The life cycle follows that of a read operation.
  Author:
    James Leigh

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `close()` | Called when this `SailDataset` is no longer is used, such as when a read operation is complete.
    `CloseableIteration<? extends Resource,​SailException>` | `getContextIDs()` | Returns the set of all unique context identifiers that are used to store statements.
    `String` | `getNamespace​(String prefix)` | Gets the namespace that is associated with the specified prefix, if any.
    `CloseableIteration<? extends Namespace,​SailException>` | `getNamespaces()` | Gets the namespaces relevant to the data contained in this object.
    `CloseableIteration<? extends Statement,​SailException>` | `getStatements​(Resource subj, IRI pred, Value obj, Resource... contexts)` | Gets all statements that have a specific subject, predicate and/or object.
    `default CloseableIteration<? extends Triple,​SailException>` | `getTriples​(Resource subj, IRI pred, Value obj)` | Gets all RDF-star triples that have a specific subject, predicate and/or object.

- - ### Method Detail

    - #### close

          void close()
              throws SailException

      Called when this `SailDataset` is no longer is used, such as when a read operation is complete. An isolation level compatible with `IsolationLevels.SNAPSHOT` will ensure the state of this `SailDataset` dose not change between the first call to this object until `SailClosable#release()` is called.
      Specified by:
        `close` in interface `AutoCloseable`
      Specified by:
        `close` in interface `SailClosable`
      Throws:
        `SailException` - if this resource cannot be closed

    - #### getNamespaces

          CloseableIteration<? extends Namespace,​SailException> getNamespaces()
                                                                             throws SailException

      Gets the namespaces relevant to the data contained in this object.
      Returns:
        An iterator over the relevant namespaces, should not contain any duplicates.
      Throws:
        `SailException` - If this object encountered an error or unexpected situation internally.

    - #### getNamespace

          String getNamespace​(String prefix)
                       throws SailException

      Gets the namespace that is associated with the specified prefix, if any.
      Parameters:
        `prefix` - A namespace prefix, or an empty string in case of the default namespace.
      Returns:
        The namespace name that is associated with the specified prefix, or null if there is no such namespace.
      Throws:
        `SailException` - If this object encountered an error or unexpected situation internally.
        `NullPointerException` - In case prefix is null.

    - #### getContextIDs

          CloseableIteration<? extends Resource,​SailException> getContextIDs()
                                                                            throws SailException

      Returns the set of all unique context identifiers that are used to store statements.
      Returns:
        An iterator over the context identifiers, should not contain any duplicates.
      Throws:
        `SailException`

    - #### getStatements

          CloseableIteration<? extends Statement,​SailException> getStatements​(Resource subj,
                                                                                    IRI pred,
                                                                                    Value obj,
                                                                                    Resource... contexts)
                                                                             throws SailException

      Gets all statements that have a specific subject, predicate and/or object. All three parameters may be null to indicate wildcards. Optionally a (set of) context(s) may be specified in which case the result will be restricted to statements matching one or more of the specified contexts.
      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) to get the statements from. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on all contexts.
      Returns:
        An iterator over the relevant statements.
      Throws:
        `SailException` - If the triple source failed to get the statements.

    - #### getTriples

          default CloseableIteration<? extends Triple,​SailException> getTriples​(Resource subj,
                                                                                      IRI pred,
                                                                                      Value obj)
                                                                               throws SailException

      Gets all RDF-star triples that have a specific subject, predicate and/or object. All three parameters may be null to indicate wildcards.
      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.
      Returns:
        An iterator over the relevant triples.
      Throws:
        `SailException` - If the triple source failed to get the RDF-star triples.