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

## Class QueryJoinOptimizer.JoinVisitor

- java.lang.Object
- - org.eclipse.rdf4j.query.algebra.helpers.AbstractQueryModelVisitor<RuntimeException>
  - - org.eclipse.rdf4j.query.algebra.evaluation.impl.QueryJoinOptimizer.JoinVisitor

- All Implemented Interfaces:
    `QueryModelVisitor<RuntimeException>`
  Enclosing class:
    QueryJoinOptimizer

      @Deprecated
      protected class QueryJoinOptimizer.JoinVisitor
      extends AbstractQueryModelVisitor<RuntimeException>

  Deprecated.
  This class is protected for historic reasons only, and will be made private in a future major release.

- - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `JoinVisitor()` | Deprecated.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected List<Var>` | `getConstantVars​(Iterable<Var> vars)` | Deprecated.
    `protected List<Extension>` | `getExtensions​(List<TupleExpr> expressions)` | Deprecated.
    `protected int` | `getForeignVarFreq​(List<Var> ownUnboundVars, Map<Var,​Integer> varFreqMap)` | Deprecated.
    `protected <L extends List<TupleExpr>> L` | `getJoinArgs​(TupleExpr tupleExpr, L joinArgs)` | Deprecated.
    `protected List<Var>` | `getStatementPatternVars​(TupleExpr tupleExpr)` | Deprecated.
    `protected List<TupleExpr>` | `getSubSelects​(List<TupleExpr> expressions)` | Deprecated.
    `protected double` | `getTupleExprCardinality​(TupleExpr tupleExpr, Map<TupleExpr,​Double> cardinalityMap, Map<TupleExpr,​List<Var>> varsMap, Map<Var,​Integer> varFreqMap, Set<String> boundVars)` | Deprecated.
    `protected double` | `getTupleExprCost​(TupleExpr tupleExpr, Map<TupleExpr,​Double> cardinalityMap, Map<TupleExpr,​List<Var>> varsMap, Map<Var,​Integer> varFreqMap, Set<String> boundVars)` | Deprecated.
    `protected List<Var>` | `getUnboundVars​(Iterable<Var> vars)` | Deprecated.
    `protected <M extends Map<Var,​Integer>> M` | `getVarFreqMap​(List<Var> varList, M varFreqMap)` | Deprecated.
    `void` | `meet​(Join node)` | Deprecated.
    `void` | `meet​(LeftJoin leftJoin)` | Deprecated.
    `void` | `meet​(StatementPattern node)` | Deprecated.
    `protected List<TupleExpr>` | `reorderSubselects​(List<TupleExpr> subselects)` | Deprecated. Determines an optimal ordering of subselect join arguments, based on variable bindings.
    `protected TupleExpr` | `selectNextTupleExpr​(List<TupleExpr> expressions, Map<TupleExpr,​Double> cardinalityMap, Map<TupleExpr,​List<Var>> varsMap, Map<Var,​Integer> varFreqMap, Set<String> boundVars)` | Deprecated. Selects from a list of tuple expressions the next tuple expression that should be evaluated.

    - ### Methods inherited from class org.eclipse.rdf4j.query.algebra.helpers.AbstractQueryModelVisitor

      `meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meetBinaryTupleOperator, meetBinaryValueOperator, meetCompareSubQueryValueOperator, meetNAryValueOperator, meetNode, meetOther, meetSubQueryValueOperator, meetUnaryTupleOperator, meetUnaryValueOperator, meetUpdateExpr`

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

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

- - ### Constructor Detail

    - #### JoinVisitor

          protected JoinVisitor()

      Deprecated.

  - ### Method Detail

    - #### meet

          public void meet​(LeftJoin leftJoin)

      Deprecated.
      Specified by:
        `meet` in interface `QueryModelVisitor<RuntimeException>`
      Overrides:
        `meet` in class `AbstractQueryModelVisitor<RuntimeException>`

    - #### meet

          public void meet​(StatementPattern node)
                    throws RuntimeException

      Deprecated.
      Specified by:
        `meet` in interface `QueryModelVisitor<RuntimeException>`
      Overrides:
        `meet` in class `AbstractQueryModelVisitor<RuntimeException>`
      Throws:
        `RuntimeException`

    - #### meet

          public void meet​(Join node)

      Deprecated.
      Specified by:
        `meet` in interface `QueryModelVisitor<RuntimeException>`
      Overrides:
        `meet` in class `AbstractQueryModelVisitor<RuntimeException>`

    - #### getJoinArgs

          protected <L extends List<TupleExpr>> L getJoinArgs​(TupleExpr tupleExpr,
                                                              L joinArgs)

      Deprecated.

    - #### getStatementPatternVars

          protected List<Var> getStatementPatternVars​(TupleExpr tupleExpr)

      Deprecated.

    - #### getVarFreqMap

          protected <M extends Map<Var,​Integer>> M getVarFreqMap​(List<Var> varList,
                                                                       M varFreqMap)

      Deprecated.

    - #### getExtensions

          protected List<Extension> getExtensions​(List<TupleExpr> expressions)

      Deprecated.

    - #### getSubSelects

          protected List<TupleExpr> getSubSelects​(List<TupleExpr> expressions)

      Deprecated.

    - #### reorderSubselects

          protected List<TupleExpr> reorderSubselects​(List<TupleExpr> subselects)

      Deprecated.
      Determines an optimal ordering of subselect join arguments, based on variable bindings. An ordering is considered optimal if for each consecutive element it holds that first of all its shared variables with all previous elements is maximized, and second, the union of all its variables with all previous elements is maximized.

      Example: reordering

             [f] [a b c] [e f] [a d] [b e]

      should result in:

             [a b c] [a d] [b e] [e f] [f]

      Parameters:
        `subselects` - the original ordering of expressions
      Returns:
        the optimized ordering of expressions

    - #### selectNextTupleExpr

          protected TupleExpr selectNextTupleExpr​(List<TupleExpr> expressions,
                                                  Map<TupleExpr,​Double> cardinalityMap,
                                                  Map<TupleExpr,​List<Var>> varsMap,
                                                  Map<Var,​Integer> varFreqMap,
                                                  Set<String> boundVars)

      Deprecated.
      Selects from a list of tuple expressions the next tuple expression that should be evaluated. This method selects the tuple expression with highest number of bound variables, preferring variables that have been bound in other tuple expressions over variables with a fixed value.

    - #### getTupleExprCardinality

          @Deprecated
          protected double getTupleExprCardinality​(TupleExpr tupleExpr,
                                                   Map<TupleExpr,​Double> cardinalityMap,
                                                   Map<TupleExpr,​List<Var>> varsMap,
                                                   Map<Var,​Integer> varFreqMap,
                                                   Set<String> boundVars)

      Deprecated.

    - #### getTupleExprCost

          protected double getTupleExprCost​(TupleExpr tupleExpr,
                                            Map<TupleExpr,​Double> cardinalityMap,
                                            Map<TupleExpr,​List<Var>> varsMap,
                                            Map<Var,​Integer> varFreqMap,
                                            Set<String> boundVars)

      Deprecated.

    - #### getConstantVars

          protected List<Var> getConstantVars​(Iterable<Var> vars)

      Deprecated.

    - #### getUnboundVars

          protected List<Var> getUnboundVars​(Iterable<Var> vars)

      Deprecated.

    - #### getForeignVarFreq

          protected int getForeignVarFreq​(List<Var> ownUnboundVars,
                                          Map<Var,​Integer> varFreqMap)

      Deprecated.