Package org.eclipse.rdf4j.query.algebra.evaluation

## Interface TripleSource

- All Known Subinterfaces:
    `RDFStarTripleSource`
  All Known Implementing Classes:
    `RepositoryTripleSource`, `RepositoryTripleSource`, `SailTripleSource`

      public interface TripleSource

  A triple source that can be queried for (the existence of) certain triples in certain contexts. This interface defines the methods that are needed by the Sail Query Model to be able to evaluate itself.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `CloseableIteration<? extends Statement,​QueryEvaluationException>` | `getStatements​(Resource subj, IRI pred, Value obj, Resource... contexts)` | Gets all statements that have a specific subject, predicate and/or object.
    `ValueFactory` | `getValueFactory()` | Gets a ValueFactory object that can be used to create URI-, blank node- and literal objects.

- - ### Method Detail

    - #### getStatements

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

      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 URI 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 the entire repository.
      Returns:
        An iterator over the relevant statements.
      Throws:
        `QueryEvaluationException` - If the triple source failed to get the statements.

    - #### getValueFactory

          ValueFactory getValueFactory()

      Gets a ValueFactory object that can be used to create URI-, blank node- and literal objects.
      Returns:
        a ValueFactory object for this TripleSource.