public class CardinalityEstimatorImpl extends Object implements CardinalityEstimator, SelectivityEstimator
Constructor and Description |
---|
CardinalityEstimatorImpl(StatisticsProvider statistics) |
Modifier and Type | Method and Description |
---|---|
long |
getCardinality(org.openrdf.query.algebra.BindingSetAssignment assignment,
org.openrdf.model.URI source) |
long |
getCardinality(org.openrdf.query.algebra.EmptySet set,
org.openrdf.model.URI source) |
long |
getCardinality(org.openrdf.query.algebra.Filter filter,
org.openrdf.model.URI source) |
long |
getCardinality(org.openrdf.query.algebra.Join join,
org.openrdf.model.URI source) |
long |
getCardinality(org.openrdf.query.algebra.LeftJoin join,
org.openrdf.model.URI source) |
long |
getCardinality(org.openrdf.query.algebra.Projection projection,
org.openrdf.model.URI source) |
long |
getCardinality(org.openrdf.query.algebra.Slice slice,
org.openrdf.model.URI source) |
long |
getCardinality(SourceQuery query,
org.openrdf.model.URI source) |
long |
getCardinality(org.openrdf.query.algebra.StatementPattern pattern,
org.openrdf.model.URI source) |
long |
getCardinality(org.openrdf.query.algebra.TupleExpr expr)
This method estimates the cardinality of the results of executing
expr without making reference to a specific data source. |
long |
getCardinality(org.openrdf.query.algebra.TupleExpr expr,
org.openrdf.model.URI source)
This method estimates the cardinality of the results of executing
expr at data source source . |
long |
getCardinality(org.openrdf.query.algebra.Union union,
org.openrdf.model.URI source) |
double |
getConditionSelectivity(org.openrdf.query.algebra.And valueExpr,
org.openrdf.query.algebra.TupleExpr expr,
org.openrdf.model.URI source) |
double |
getConditionSelectivity(org.openrdf.query.algebra.Compare valueExpr,
org.openrdf.query.algebra.TupleExpr expr,
org.openrdf.model.URI source) |
double |
getConditionSelectivity(org.openrdf.query.algebra.Not valueExpr,
org.openrdf.query.algebra.TupleExpr expr,
org.openrdf.model.URI source) |
double |
getConditionSelectivity(org.openrdf.query.algebra.Or valueExpr,
org.openrdf.query.algebra.TupleExpr expr,
org.openrdf.model.URI source) |
double |
getConditionSelectivity(org.openrdf.query.algebra.ValueExpr condition,
org.openrdf.query.algebra.TupleExpr expr)
Estimates the reduction factor
f of applying condition
to expression expr . |
double |
getConditionSelectivity(org.openrdf.query.algebra.ValueExpr condition,
org.openrdf.query.algebra.TupleExpr expr,
org.openrdf.model.URI source)
Compute the reduction factor if a condition is applied in the expression, i.e.
|
double |
getJoinSelectivity(org.openrdf.query.algebra.Join join)
Estimate the merge selectivity factor
f of a merge, such that
merge cardinality = cross product cardinality * f . |
double |
getJoinSelectivity(org.openrdf.query.algebra.Join join,
org.openrdf.model.URI source)
Estimate the merge selectivity factor *sel* of a merge, such that
merge cardinality = cross product cardinality * sel.
|
long |
getVarCardinality(String varName,
org.openrdf.query.algebra.StatementPattern pattern,
org.openrdf.model.URI source)
Estimate the number of distinct values of a given variable.
|
double |
getVarSelectivity(String varName,
org.openrdf.query.algebra.BinaryTupleOperator expr,
org.openrdf.model.URI source) |
double |
getVarSelectivity(String varName,
org.openrdf.query.algebra.BindingSetAssignment assignment,
org.openrdf.model.URI source) |
double |
getVarSelectivity(String varName,
Plan p,
org.openrdf.model.URI source) |
double |
getVarSelectivity(String varName,
SourceQuery expr,
org.openrdf.model.URI source) |
double |
getVarSelectivity(String varName,
org.openrdf.query.algebra.StatementPattern pattern,
org.openrdf.model.URI source) |
double |
getVarSelectivity(String varName,
org.openrdf.query.algebra.TupleExpr expr,
org.openrdf.model.URI source)
Estimates the number of distinct values of a given variable.
|
double |
getVarSelectivity(String varName,
org.openrdf.query.algebra.UnaryTupleOperator expr,
org.openrdf.model.URI source) |
public CardinalityEstimatorImpl(StatisticsProvider statistics)
@Loggable public long getCardinality(org.openrdf.query.algebra.TupleExpr expr)
CardinalityEstimator
expr
without making reference to a specific data source.
This method call is not valid for all types of expressions,
as some expressions can only be estimated in reference to a
specific data source.getCardinality
in interface CardinalityEstimator
public long getCardinality(org.openrdf.query.algebra.TupleExpr expr, org.openrdf.model.URI source)
CardinalityEstimator
expr
at data source source
.getCardinality
in interface CardinalityEstimator
public long getCardinality(org.openrdf.query.algebra.StatementPattern pattern, org.openrdf.model.URI source)
public long getCardinality(org.openrdf.query.algebra.Union union, org.openrdf.model.URI source)
public long getCardinality(org.openrdf.query.algebra.Filter filter, org.openrdf.model.URI source)
public long getCardinality(org.openrdf.query.algebra.Projection projection, org.openrdf.model.URI source)
public long getCardinality(org.openrdf.query.algebra.Slice slice, org.openrdf.model.URI source)
public long getCardinality(org.openrdf.query.algebra.Join join, org.openrdf.model.URI source)
public long getCardinality(org.openrdf.query.algebra.LeftJoin join, org.openrdf.model.URI source)
public long getCardinality(SourceQuery query, org.openrdf.model.URI source)
public long getCardinality(org.openrdf.query.algebra.EmptySet set, org.openrdf.model.URI source)
public long getCardinality(org.openrdf.query.algebra.BindingSetAssignment assignment, org.openrdf.model.URI source)
public double getJoinSelectivity(org.openrdf.query.algebra.Join join, org.openrdf.model.URI source)
getJoinSelectivity
in interface SelectivityEstimator
join
- the merge expressionsource
- a referring data sourcepublic double getJoinSelectivity(org.openrdf.query.algebra.Join join)
SelectivityEstimator
f
of a merge, such that
merge cardinality = cross product cardinality * f
.getJoinSelectivity
in interface SelectivityEstimator
join
- the merge expressionpublic double getConditionSelectivity(org.openrdf.query.algebra.ValueExpr condition, org.openrdf.query.algebra.TupleExpr expr, org.openrdf.model.URI source)
getConditionSelectivity
in interface SelectivityEstimator
condition
- expr
- source
- public double getConditionSelectivity(org.openrdf.query.algebra.And valueExpr, org.openrdf.query.algebra.TupleExpr expr, org.openrdf.model.URI source)
public double getConditionSelectivity(org.openrdf.query.algebra.Or valueExpr, org.openrdf.query.algebra.TupleExpr expr, org.openrdf.model.URI source)
public double getConditionSelectivity(org.openrdf.query.algebra.Not valueExpr, org.openrdf.query.algebra.TupleExpr expr, org.openrdf.model.URI source)
public double getConditionSelectivity(org.openrdf.query.algebra.Compare valueExpr, org.openrdf.query.algebra.TupleExpr expr, org.openrdf.model.URI source)
public double getConditionSelectivity(org.openrdf.query.algebra.ValueExpr condition, org.openrdf.query.algebra.TupleExpr expr)
SelectivityEstimator
f
of applying condition
to expression expr
. That is, the cardinality of the results is
cardinality of results of expr
* f
.getConditionSelectivity
in interface SelectivityEstimator
public double getVarSelectivity(String varName, org.openrdf.query.algebra.TupleExpr expr, org.openrdf.model.URI source)
SelectivityEstimator
getVarSelectivity
in interface SelectivityEstimator
varName
- the name of the variablesource
- a potential referring data sourcepublic double getVarSelectivity(String varName, org.openrdf.query.algebra.StatementPattern pattern, org.openrdf.model.URI source)
public double getVarSelectivity(String varName, org.openrdf.query.algebra.BindingSetAssignment assignment, org.openrdf.model.URI source)
public double getVarSelectivity(String varName, SourceQuery expr, org.openrdf.model.URI source)
public double getVarSelectivity(String varName, Plan p, org.openrdf.model.URI source)
public double getVarSelectivity(String varName, org.openrdf.query.algebra.UnaryTupleOperator expr, org.openrdf.model.URI source)
public double getVarSelectivity(String varName, org.openrdf.query.algebra.BinaryTupleOperator expr, org.openrdf.model.URI source)
public long getVarCardinality(String varName, org.openrdf.query.algebra.StatementPattern pattern, org.openrdf.model.URI source)
varName
- the name of the variablepattern
- the triple patternsource
- a potential referring data sourceCopyright © 2015 SemaGrow - FP7. All rights reserved.