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 and Description
    `FederationStrategy(Executor executor, TripleSource tripleSource, Dataset dataset, FederatedServiceResolver serviceManager)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `CloseableIteration<BindingSet,QueryEvaluationException>` | `evaluate(Join join, BindingSet bindings)`
    `CloseableIteration<BindingSet,QueryEvaluationException>` | `evaluate(LeftJoin leftJoin, BindingSet bindings)`
    `CloseableIteration<BindingSet,QueryEvaluationException>` | `evaluate(NaryJoin join, 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)`

    - ### 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, getLimit, getService, getUUID, getVarValue, getZeroLengthPathIterator, isReducedOrDistinct, isTrue, isUnbound, setFederatedServiceResolver`

    - ### 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`

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