Class EvaluationStatistics.CardinalityCalculator
- java.lang.Object
-
- org.eclipse.rdf4j.query.algebra.helpers.AbstractQueryModelVisitor<RuntimeException>
-
- org.eclipse.rdf4j.query.algebra.evaluation.impl.EvaluationStatistics.CardinalityCalculator
-
- All Implemented Interfaces:
QueryModelVisitor<RuntimeException>
- Direct Known Subclasses:
TupleFunctionEvaluationStatistics.TupleFunctionCardinalityCalculator
- Enclosing class:
- EvaluationStatistics
protected static class EvaluationStatistics.CardinalityCalculator extends AbstractQueryModelVisitor<RuntimeException>
-
-
Field Summary
Fields Modifier and Type Field Description protected doublecardinality
-
Constructor Summary
Constructors Modifier Constructor Description protectedCardinalityCalculator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected intcountConstantVars(Iterable<Var> vars)doublegetCardinality()protected doublegetCardinality(double varCardinality, Collection<Var> vars)protected doublegetCardinality(double varCardinality, Var var)protected doublegetCardinality(BindingSetAssignment bindingSetAssignment)protected doublegetCardinality(StatementPattern sp)protected doublegetCardinality(TripleRef tripleRef)protected doublegetContextCardinality(StatementPattern sp)Override this if you are able to determine the cardinality based not only on the contextVar itself but also the other vars (e.g.protected doublegetContextCardinality(Var var)protected doublegetObjectCardinality(StatementPattern sp)Override this if you are able to determine the cardinality based not only on the objectVar itself but also the other vars (e.g.protected doublegetObjectCardinality(Var var)protected doublegetPredicateCardinality(StatementPattern sp)Override this if you are able to determine the cardinality based not only on the predicateVar itself but also the other vars (e.g.protected doublegetPredicateCardinality(Var var)protected doublegetSubjectCardinality(StatementPattern sp)Override this if you are able to determine the cardinality based not only on the subjectVar itself but also the other vars (e.g.protected doublegetSubjectCardinality(Var var)voidmeet(ArbitraryLengthPath node)voidmeet(BindingSetAssignment node)voidmeet(EmptySet node)voidmeet(Join node)voidmeet(LeftJoin node)voidmeet(QueryRoot node)voidmeet(Service node)voidmeet(SingletonSet node)voidmeet(StatementPattern sp)voidmeet(TripleRef tripleRef)voidmeet(ZeroLengthPath node)protected voidmeetBinaryTupleOperator(BinaryTupleOperator node)Method called by all meet methods with aBinaryTupleOperatornode as argument.protected voidmeetNode(QueryModelNode node)Method called by all of the other meet methods that are not overridden in subclasses.protected voidmeetUnaryTupleOperator(UnaryTupleOperator node)Method called by all meet methods with aUnaryTupleOperatornode as argument.-
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, meetBinaryValueOperator, meetCompareSubQueryValueOperator, meetNAryValueOperator, meetOther, meetSubQueryValueOperator, meetUnaryValueOperator, meetUpdateExpr
-
-
-
-
Method Detail
-
getCardinality
public double getCardinality()
-
meet
public void meet(EmptySet node)
- Specified by:
meetin interfaceQueryModelVisitor<RuntimeException>- Overrides:
meetin classAbstractQueryModelVisitor<RuntimeException>
-
meet
public void meet(SingletonSet node)
- Specified by:
meetin interfaceQueryModelVisitor<RuntimeException>- Overrides:
meetin classAbstractQueryModelVisitor<RuntimeException>
-
meet
public void meet(BindingSetAssignment node)
- Specified by:
meetin interfaceQueryModelVisitor<RuntimeException>- Overrides:
meetin classAbstractQueryModelVisitor<RuntimeException>
-
meet
public void meet(ZeroLengthPath node)
- Specified by:
meetin interfaceQueryModelVisitor<RuntimeException>- Overrides:
meetin classAbstractQueryModelVisitor<RuntimeException>
-
meet
public void meet(ArbitraryLengthPath node)
- Specified by:
meetin interfaceQueryModelVisitor<RuntimeException>- Overrides:
meetin classAbstractQueryModelVisitor<RuntimeException>
-
meet
public void meet(Service node)
- Specified by:
meetin interfaceQueryModelVisitor<RuntimeException>- Overrides:
meetin classAbstractQueryModelVisitor<RuntimeException>
-
meet
public void meet(StatementPattern sp)
- Specified by:
meetin interfaceQueryModelVisitor<RuntimeException>- Overrides:
meetin classAbstractQueryModelVisitor<RuntimeException>
-
meet
public void meet(TripleRef tripleRef)
- Specified by:
meetin interfaceQueryModelVisitor<RuntimeException>- Overrides:
meetin classAbstractQueryModelVisitor<RuntimeException>
-
getCardinality
protected double getCardinality(StatementPattern sp)
-
getCardinality
protected double getCardinality(BindingSetAssignment bindingSetAssignment)
-
getCardinality
protected double getCardinality(TripleRef tripleRef)
-
getSubjectCardinality
protected double getSubjectCardinality(StatementPattern sp)
Override this if you are able to determine the cardinality based not only on the subjectVar itself but also the other vars (e.g. the predicate value might determine a subject subset).
-
getSubjectCardinality
protected double getSubjectCardinality(Var var)
-
getPredicateCardinality
protected double getPredicateCardinality(StatementPattern sp)
Override this if you are able to determine the cardinality based not only on the predicateVar itself but also the other vars (e.g. the subject value might determine a predicate subset).
-
getPredicateCardinality
protected double getPredicateCardinality(Var var)
-
getObjectCardinality
protected double getObjectCardinality(StatementPattern sp)
Override this if you are able to determine the cardinality based not only on the objectVar itself but also the other vars (e.g. the predicate value might determine an object subset).
-
getObjectCardinality
protected double getObjectCardinality(Var var)
-
getContextCardinality
protected double getContextCardinality(StatementPattern sp)
Override this if you are able to determine the cardinality based not only on the contextVar itself but also the other vars (e.g. the subject value might determine a context subset).
-
getContextCardinality
protected double getContextCardinality(Var var)
-
getCardinality
protected double getCardinality(double varCardinality, Var var)
-
getCardinality
protected double getCardinality(double varCardinality, Collection<Var> vars)
-
meet
public void meet(Join node)
- Specified by:
meetin interfaceQueryModelVisitor<RuntimeException>- Overrides:
meetin classAbstractQueryModelVisitor<RuntimeException>
-
meet
public void meet(LeftJoin node)
- Specified by:
meetin interfaceQueryModelVisitor<RuntimeException>- Overrides:
meetin classAbstractQueryModelVisitor<RuntimeException>
-
meetBinaryTupleOperator
protected void meetBinaryTupleOperator(BinaryTupleOperator node)
Description copied from class:AbstractQueryModelVisitorMethod called by all meet methods with aBinaryTupleOperatornode as argument. Forwards the call toAbstractQueryModelVisitor.meetNode(org.eclipse.rdf4j.query.algebra.QueryModelNode)by default.- Overrides:
meetBinaryTupleOperatorin classAbstractQueryModelVisitor<RuntimeException>- Parameters:
node- The node that is being visited.
-
meetUnaryTupleOperator
protected void meetUnaryTupleOperator(UnaryTupleOperator node)
Description copied from class:AbstractQueryModelVisitorMethod called by all meet methods with aUnaryTupleOperatornode as argument. Forwards the call toAbstractQueryModelVisitor.meetNode(org.eclipse.rdf4j.query.algebra.QueryModelNode)by default.- Overrides:
meetUnaryTupleOperatorin classAbstractQueryModelVisitor<RuntimeException>- Parameters:
node- The node that is being visited.
-
meet
public void meet(QueryRoot node)
- Specified by:
meetin interfaceQueryModelVisitor<RuntimeException>- Overrides:
meetin classAbstractQueryModelVisitor<RuntimeException>
-
meetNode
protected void meetNode(QueryModelNode node)
Description copied from class:AbstractQueryModelVisitorMethod called by all of the other meet methods that are not overridden in subclasses. This method can be overridden in subclasses to define default behaviour when visiting nodes. The default behaviour of this method is to visit the node's children.- Overrides:
meetNodein classAbstractQueryModelVisitor<RuntimeException>- Parameters:
node- The node that is being visited.
-
-