# Package org.eclipse.rdf4j.sail.base

Base functionality for Sail implementations that require multi-versioned concurrency control (MVCC).

- Interface Summary
  Interface | Description
  --- | ---
  SailClosable | Common interface to objects that throw `SailException` on close.
  SailDataset | A state of an `SailSource` at a point in time that will remain consistent until `SailDataset.close()` is called.
  SailSink | A mutable source of RDF graphs.
  SailSource | A persistent yet mutable source or container of RDF graphs.
  SailStore | A high level interface used by `SailSourceConnection` to access `SailSource`.

- Class Summary
  Class | Description
  --- | ---
  BackingSailSource | A Backing `SailSource` that does not respond to `BackingSailSource.close()` `BackingSailSource.prepare()` or `BackingSailSource.flush()`.
  DistinctModelReducingUnionIteration | An Iteration that takes two source.
  SailSourceConnection | A `SailConnection` implementation that is based on an `SailStore` .
  SnapshotSailStore | A `SailStore` wrapper that branches the backing `SailSource`s to provide concurrent `IsolationLevels.SNAPSHOT_READ` isolation and higher.