Class GenericInfoOptimizer
java.lang.Object
org.eclipse.rdf4j.query.algebra.helpers.AbstractSimpleQueryModelVisitor<OptimizationException>
org.eclipse.rdf4j.federated.optimizer.GenericInfoOptimizer
- All Implemented Interfaces:
FedXOptimizer
,QueryModelVisitor<OptimizationException>
public class GenericInfoOptimizer
extends AbstractSimpleQueryModelVisitor<OptimizationException>
implements FedXOptimizer
Generic optimizer
Tasks: - Collect information (hasUnion, hasFilter, hasService) - Collect all statements in a list (for source
selection), do not collect SERVICE expressions - Collect all Join arguments and group them in the NJoin structure for
easier optimization (flatten)
- Author:
- Andreas Schwarte
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionlong
getLimit()
boolean
boolean
hasLimit()
boolean
boolean
hasUnion()
void
meet
(DescribeOperator node) void
void
void
void
meet
(Projection node) void
void
void
meet
(StatementPattern node) 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, meetBinaryTupleOperator, meetBinaryValueOperator, meetCompareSubQueryValueOperator, meetNAryValueOperator, meetOther, meetSubQueryValueOperator, meetUnaryTupleOperator, meetUnaryValueOperator, meetUnsupported, meetUpdateExpr
-
Field Details
-
hasFilter
protected boolean hasFilter -
hasUnion
protected boolean hasUnion -
services
-
limit
protected long limit -
stmts
-
queryInfo
-
-
Constructor Details
-
GenericInfoOptimizer
-
-
Method Details
-
hasFilter
public boolean hasFilter() -
hasUnion
public boolean hasUnion() -
getStatements
-
hasLimit
public boolean hasLimit() -
getLimit
public long getLimit() -
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>
-
meet
- Specified by:
meet
in interfaceQueryModelVisitor<OptimizationException>
- Overrides:
meet
in classAbstractSimpleQueryModelVisitor<OptimizationException>
-
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
-
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
-
meet
- Specified by:
meet
in interfaceQueryModelVisitor<OptimizationException>
- Overrides:
meet
in classAbstractSimpleQueryModelVisitor<OptimizationException>
- Throws:
OptimizationException
-
meet
- Specified by:
meet
in interfaceQueryModelVisitor<OptimizationException>
- Overrides:
meet
in classAbstractSimpleQueryModelVisitor<OptimizationException>
- Throws:
OptimizationException
-
hasService
public boolean hasService() -
getServices
-