org.openrdf.sail.federation.optimizers
Class QueryMultiJoinOptimizer.JoinVisitor

java.lang.Object
  extended by org.openrdf.query.algebra.helpers.QueryModelVisitorBase<RuntimeException>
      extended by org.openrdf.sail.federation.optimizers.QueryMultiJoinOptimizer.JoinVisitor
All Implemented Interfaces:
QueryModelVisitor<RuntimeException>
Enclosing class:
QueryMultiJoinOptimizer

protected class QueryMultiJoinOptimizer.JoinVisitor
extends QueryModelVisitorBase<RuntimeException>


Constructor Summary
protected QueryMultiJoinOptimizer.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)
           
 void meetJoin(TupleExpr node)
           
 void meetOther(QueryModelNode node)
           
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, meetBinaryTupleOperator, meetBinaryValueOperator, meetCompareSubQueryValueOperator, meetNode, meetSubQueryValueOperator, meetUnaryTupleOperator, meetUnaryValueOperator
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

QueryMultiJoinOptimizer.JoinVisitor

protected QueryMultiJoinOptimizer.JoinVisitor()
Method Detail

meet

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

meetOther

public void meetOther(QueryModelNode node)
               throws RuntimeException
Specified by:
meetOther in interface QueryModelVisitor<RuntimeException>
Overrides:
meetOther in class QueryModelVisitorBase<RuntimeException>
Throws:
RuntimeException

meet

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

meetJoin

public void meetJoin(TupleExpr node)

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 © 2004-2010 James Leigh Services Inc.. All Rights Reserved.