Class FilterOptimizer
java.lang.Object
org.eclipse.rdf4j.query.algebra.helpers.AbstractSimpleQueryModelVisitor<OptimizationException>
org.eclipse.rdf4j.federated.optimizer.FilterOptimizer
- All Implemented Interfaces:
FedXOptimizer
,QueryModelVisitor<OptimizationException>
public class FilterOptimizer
extends AbstractSimpleQueryModelVisitor<OptimizationException>
implements FedXOptimizer
Filter optimizer to push down FILTER expressions as far as possible.
- Author:
- Andreas Schwarte
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected static class
protected static class
protected static class
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
getConjunctiveExpressions
(ValueExpr expr, List<ValueExpr> conjExpr) add the conjunctive expressions to specified list, has recursive step.protected boolean
returns true if this filter can be used for optimization.void
void
void
Optimize the provided tuple expressionMethods inherited from class org.eclipse.rdf4j.query.algebra.helpers.AbstractSimpleQueryModelVisitor
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, meet, meet, meet, meet, meetBinaryTupleOperator, meetBinaryValueOperator, meetCompareSubQueryValueOperator, meetNAryValueOperator, meetOther, meetSubQueryValueOperator, meetUnaryTupleOperator, meetUnaryValueOperator, meetUnsupported, meetUpdateExpr
-
Constructor Details
-
FilterOptimizer
public FilterOptimizer()
-
-
Method Details
-
optimize
Description copied from interface:FedXOptimizer
Optimize the provided tuple expression- Specified by:
optimize
in interfaceFedXOptimizer
- Parameters:
tupleExpr
-
-
meet
- Specified by:
meet
in interfaceQueryModelVisitor<OptimizationException>
- Overrides:
meet
in classAbstractSimpleQueryModelVisitor<OptimizationException>
-
meet
- Specified by:
meet
in interfaceQueryModelVisitor<OptimizationException>
- Overrides:
meet
in classAbstractSimpleQueryModelVisitor<OptimizationException>
- Throws:
OptimizationException
-
getConjunctiveExpressions
add the conjunctive expressions to specified list, has recursive step.- Parameters:
expr
- the expr, in the best case in CNFconjExpr
- the list to which expressions will be added
-
isCompatibleExpr
returns true if this filter can be used for optimization. Currently no conjunctive or disjunctive expressions are supported.- Parameters:
e
-- Returns:
- whether the expression is compatible
-