Package org.eclipse.rdf4j.sail.federation.evaluation

## Class FederationStrategy

- java.lang.Object
- - org.eclipse.rdf4j.query.algebra.evaluation.impl.StrictEvaluationStrategy
  - - org.eclipse.rdf4j.sail.federation.evaluation.FederationStrategy

- All Implemented Interfaces:
    `EvaluationStrategy`, `FederatedServiceResolver`, `FederatedServiceResolverClient`, `UUIDable`

      public class FederationStrategy
      extends StrictEvaluationStrategy

  Evaluates Join, LeftJoin and Union in parallel and only evaluate if `OwnedTupleExpr` is the given member.
  Author:
    James Leigh
  See Also:
    `ParallelJoinCursor`, `ParallelLeftJoinCursor`

- - ### Field Summary

    - ### Fields inherited from class org.eclipse.rdf4j.query.algebra.evaluation.impl.StrictEvaluationStrategy

      `dataset, serviceResolver, tripleSource`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `FederationStrategy​(Executor executor, TripleSource tripleSource, Dataset dataset, FederatedServiceResolver serviceManager)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `CloseableIteration<BindingSet,​QueryEvaluationException>` | `evaluate​(Join join, BindingSet bindings)` |
    `CloseableIteration<BindingSet,​QueryEvaluationException>` | `evaluate​(LeftJoin leftJoin, BindingSet bindings)` |
    `CloseableIteration<BindingSet,​QueryEvaluationException>` | `evaluate​(TupleExpr expr, BindingSet bindings)` | Evaluates the tuple expression against the supplied triple source with the specified set of variable bindings as input.
    `CloseableIteration<BindingSet,​QueryEvaluationException>` | `evaluate​(Union union, BindingSet bindings)` |
    `CloseableIteration<BindingSet,​QueryEvaluationException>` | `evaluate​(NaryJoin join, BindingSet bindings)` |

    - ### Methods inherited from class org.eclipse.rdf4j.query.algebra.evaluation.impl.StrictEvaluationStrategy

      `evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, getLimit, getService, getUUID, getVarValue, getZeroLengthPathIterator, isReducedOrDistinct, isTrue, isUnbound, optimize, setFederatedServiceResolver, setOptimizerPipeline, setTrackResultSize, setTrackTime`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### FederationStrategy

          public FederationStrategy​(Executor executor,
                                    TripleSource tripleSource,
                                    Dataset dataset,
                                    FederatedServiceResolver serviceManager)

  - ### Method Detail

    - #### evaluate

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

      Description copied from interface: `EvaluationStrategy`
      Evaluates the tuple expression against the supplied triple source with the specified set of variable bindings as input.
      Specified by:
        `evaluate` in interface `EvaluationStrategy`
      Overrides:
        `evaluate` in class `StrictEvaluationStrategy`
      Parameters:
        `expr` - The Tuple Expression to evaluate
        `bindings` - The variables bindings to use for evaluating the expression, if applicable.
      Returns:
        A closeable iterator over the variable binding sets that match the tuple expression.
      Throws:
        `QueryEvaluationException`

    - #### evaluate

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

      Overrides:
        `evaluate` in class `StrictEvaluationStrategy`
      Throws:
        `QueryEvaluationException`

    - #### evaluate

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

      Throws:
        `QueryEvaluationException`

    - #### evaluate

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

      Overrides:
        `evaluate` in class `StrictEvaluationStrategy`
      Throws:
        `QueryEvaluationException`

    - #### evaluate

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

      Overrides:
        `evaluate` in class `StrictEvaluationStrategy`
      Throws:
        `QueryEvaluationException`