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 and 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* 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* 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* triples.

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