Class LimitOptimizer
- java.lang.Object
-
- org.eclipse.rdf4j.query.algebra.helpers.AbstractSimpleQueryModelVisitor<OptimizationException>
-
- org.eclipse.rdf4j.federated.optimizer.LimitOptimizer
-
- All Implemented Interfaces:
FedXOptimizer
,QueryModelVisitor<OptimizationException>
public class LimitOptimizer extends AbstractSimpleQueryModelVisitor<OptimizationException> implements FedXOptimizer
An optimizer that attempts to push upper limits into BGPs of the query. Currently upper limits are only pushed for simple queries consisting of a single BGP.- Author:
- Andreas Schwarte
-
-
Constructor Summary
Constructors Constructor Description LimitOptimizer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
meet(Projection proj)
void
meet(Slice node)
void
meetOther(QueryModelNode node)
void
optimize(TupleExpr tupleExpr)
Optimize the provided tuple expressionprotected void
pushLimit(FedXStatementPattern stmt, long upperLimit)
-
Methods 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, meet, meetBinaryTupleOperator, meetBinaryValueOperator, meetCompareSubQueryValueOperator, meetNAryValueOperator, meetSubQueryValueOperator, meetUnaryTupleOperator, meetUnaryValueOperator, meetUnsupported, meetUpdateExpr
-
-
-
-
Method Detail
-
optimize
public void optimize(TupleExpr tupleExpr)
Description copied from interface:FedXOptimizer
Optimize the provided tuple expression- Specified by:
optimize
in interfaceFedXOptimizer
-
meetOther
public void meetOther(QueryModelNode node) throws OptimizationException
- Specified by:
meetOther
in interfaceQueryModelVisitor<OptimizationException>
- Overrides:
meetOther
in classAbstractSimpleQueryModelVisitor<OptimizationException>
- Throws:
OptimizationException
-
meet
public void meet(Slice node) throws OptimizationException
- Specified by:
meet
in interfaceQueryModelVisitor<OptimizationException>
- Overrides:
meet
in classAbstractSimpleQueryModelVisitor<OptimizationException>
- Throws:
OptimizationException
-
meet
public void meet(Projection proj) throws OptimizationException
- Specified by:
meet
in interfaceQueryModelVisitor<OptimizationException>
- Overrides:
meet
in classAbstractSimpleQueryModelVisitor<OptimizationException>
- Throws:
OptimizationException
-
pushLimit
protected void pushLimit(FedXStatementPattern stmt, long upperLimit)
-
-