Class QueryJoinOptimizer

java.lang.Object
org.eclipse.rdf4j.query.algebra.evaluation.optimizer.QueryJoinOptimizer
All Implemented Interfaces:
QueryOptimizer
Direct Known Subclasses:
QueryJoinOptimizer

public class QueryJoinOptimizer extends Object implements QueryOptimizer
A query optimizer that re-orders nested Joins.
  • Field Details

    • statistics

      protected final EvaluationStatistics statistics
    • trackResultSize

      private final boolean trackResultSize
  • Constructor Details

  • Method Details

    • optimize

      public void optimize(TupleExpr tupleExpr, Dataset dataset, BindingSet bindings)
      Applies generally applicable optimizations: path expressions are sorted from more to less specific.
      Specified by:
      optimize in interface QueryOptimizer
      Parameters:
      tupleExpr -
    • getUnionSize

      private static int getUnionSize(Set<String> currentListNames, Set<String> candidateBindingNames)
    • getJoinSize

      private static int getJoinSize(Set<String> currentListNames, Set<String> names)
    • hasCachedCardinality

      private static boolean hasCachedCardinality(TupleExpr tupleExpr)