Package org.eclipse.rdf4j.federated.algebra

## Interface StatementTupleExpr

- All Superinterfaces:
    `Cloneable`, `FedXTupleExpr`, `QueryModelNode`, `QueryRef`, `Serializable`, `TupleExpr`, `VariableExpr`
  All Known Implementing Classes:
    `CheckStatementPattern`, `ExclusiveGroup`, `ExclusiveStatement`, `FedXStatementPattern`, `StatementSourcePattern`

      public interface StatementTupleExpr
      extends FedXTupleExpr, QueryRef

  Interface for any expression that can be evaluated
  Author:
    Andreas Schwarte
  See Also:
    `StatementSourcePattern`, `ExclusiveStatement`, `ExclusiveGroup`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `CloseableIteration<BindingSet,​QueryEvaluationException>` | `evaluate​(BindingSet bindings)` | Evaluate this expression using the provided bindings
    `String` | `getId()` |
    `List<StatementSource>` | `getStatementSources()` |
    `boolean` | `hasFreeVarsFor​(BindingSet binding)` | returns true iff this statement has free variables in the presence of the specified binding set

    - ### Methods inherited from interface org.eclipse.rdf4j.federated.algebra.FedXTupleExpr

      `getFreeVarCount`

    - ### Methods inherited from interface org.eclipse.rdf4j.query.algebra.QueryModelNode

      `equals, getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getSignature, getTotalTimeNanosActual, replaceChildNode, replaceWith, setCostEstimate, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, toString, visit, visitChildren`

    - ### Methods inherited from interface org.eclipse.rdf4j.federated.algebra.QueryRef

      `getQueryInfo`

    - ### Methods inherited from interface org.eclipse.rdf4j.query.algebra.TupleExpr

      `clone, getAssuredBindingNames, getBindingNames`

    - ### Methods inherited from interface org.eclipse.rdf4j.federated.algebra.VariableExpr

      `getFreeVars`

- - ### Method Detail

    - #### getId

          String getId()

      Returns:
        the id of this expr

    - #### getStatementSources

          List<StatementSource> getStatementSources()

      Returns:
        a list of sources that are relevant for evaluation of this expression

    - #### hasFreeVarsFor

          boolean hasFreeVarsFor​(BindingSet binding)

      returns true iff this statement has free variables in the presence of the specified binding set
      Parameters:
        `binding` -
      Returns:
        whether the statement has free vars

    - #### evaluate

          CloseableIteration<BindingSet,​QueryEvaluationException> evaluate​(BindingSet bindings)
                                                                          throws QueryEvaluationException

      Evaluate this expression using the provided bindings
      Parameters:
        `bindings` -
      Returns:
        the result iteration
      Throws:
        `QueryEvaluationException`