org.openrdf.query.algebra.evaluation.impl
Class QueryJoinOptimizer.JoinVisitor

java.lang.Object
  extended by org.openrdf.query.algebra.helpers.QueryModelVisitorBase<RuntimeException>
      extended by org.openrdf.query.algebra.evaluation.impl.QueryJoinOptimizer.JoinVisitor
All Implemented Interfaces:
QueryModelVisitor<RuntimeException>
Enclosing class:
QueryJoinOptimizer

protected class QueryJoinOptimizer.JoinVisitor
extends QueryModelVisitorBase<RuntimeException>


Constructor Summary
protected QueryJoinOptimizer.JoinVisitor()
           
 
Method Summary
protected  List<Var> getConstantVars(Iterable<Var> vars)
           
protected  int getForeignVarFreq(List<Var> ownUnboundVars, Map<Var,Integer> varFreqMap)
           
protected
<L extends List<TupleExpr>>
L
getJoinArgs(TupleExpr tupleExpr, L joinArgs)
           
protected  List<Var> getStatementPatternVars(TupleExpr tupleExpr)
           
protected  double getTupleExprCardinality(TupleExpr tupleExpr, Map<TupleExpr,Double> cardinalityMap, Map<TupleExpr,List<Var>> varsMap, Map<Var,Integer> varFreqMap, Set<String> boundVars)
           
protected  List<Var> getUnboundVars(Iterable<Var> vars)
           
protected
<M extends Map<Var,Integer>>
M
getVarFreqMap(List<Var> varList, M varFreqMap)
           
 void meet(Join node)
           
 void meet(LeftJoin leftJoin)
           
protected  TupleExpr selectNextTupleExpr(List<TupleExpr> expressions, Map<TupleExpr,Double> cardinalityMap, Map<TupleExpr,List<Var>> varsMap, Map<Var,Integer> varFreqMap, Set<String> boundVars)
          Selects from a list of tuple expressions the next tuple expression that should be evaluated.
 
Methods inherited from class org.openrdf.query.algebra.helpers.QueryModelVisitorBase
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

QueryJoinOptimizer.JoinVisitor

protected QueryJoinOptimizer.JoinVisitor()
Method Detail

meet

public void meet(LeftJoin leftJoin)
Specified by:
meet in interface QueryModelVisitor<RuntimeException>
Overrides:
meet in class QueryModelVisitorBase<RuntimeException>

meet

public void meet(Join node)
Specified by:
meet in interface QueryModelVisitor<RuntimeException>
Overrides:
meet in class QueryModelVisitorBase<RuntimeException>

getJoinArgs

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

getStatementPatternVars

protected List<Var> getStatementPatternVars(TupleExpr tupleExpr)

getVarFreqMap

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

selectNextTupleExpr

protected TupleExpr selectNextTupleExpr(List<TupleExpr> expressions,
                                        Map<TupleExpr,Double> cardinalityMap,
                                        Map<TupleExpr,List<Var>> varsMap,
                                        Map<Var,Integer> varFreqMap,
                                        Set<String> boundVars)
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

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

getConstantVars

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

getUnboundVars

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

getForeignVarFreq

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


Copyright © 2001-2012 Aduna. All Rights Reserved.