org.openrdf.sail.federation.optimizers
Class QueryMultiJoinOptimizer.JoinVisitor
java.lang.Object
org.openrdf.query.algebra.helpers.QueryModelVisitorBase<RuntimeException>
org.openrdf.sail.federation.optimizers.QueryMultiJoinOptimizer.JoinVisitor
- All Implemented Interfaces:
- QueryModelVisitor<RuntimeException>
- Enclosing class:
- QueryMultiJoinOptimizer
protected class QueryMultiJoinOptimizer.JoinVisitor
- extends QueryModelVisitorBase<RuntimeException>
|
Method Summary |
protected List<Var> |
getConstantVars(Iterable<Var> vars)
|
protected int |
getForeignVarFreq(List<Var> ownUnboundVars,
Map<Var,Integer> varFreqMap)
|
protected
|
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
|
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 |
QueryMultiJoinOptimizer.JoinVisitor
protected QueryMultiJoinOptimizer.JoinVisitor()
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.