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
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionlonggetLimit()booleanbooleanhasLimit()booleanbooleanbooleanhasUnion()voidmeet(ArbitraryLengthPath node) voidmeet(DescribeOperator node) voidvoidvoidvoidmeet(Projection node) voidvoidvoidmeet(StatementPattern node) voidvoidOptimize 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, meetBinaryTupleOperator, meetBinaryValueOperator, meetCompareSubQueryValueOperator, meetNAryValueOperator, meetOther, meetSubQueryValueOperator, meetUnaryTupleOperator, meetUnaryValueOperator, meetUnsupported, meetUpdateExpr
-
Field Details
-
hasFilter
protected boolean hasFilter -
hasUnion
protected boolean hasUnion -
hasPathExpr
protected boolean hasPathExpr -
services
-
limit
protected long limit -
stmts
-
queryInfo
-
-
Constructor Details
-
GenericInfoOptimizer
-
-
Method Details
-
hasFilter
public boolean hasFilter() -
hasUnion
public boolean hasUnion() -
hasPathExpression
public boolean hasPathExpression() -
getStatements
-
hasLimit
public boolean hasLimit() -
getLimit
public long getLimit() -
optimize
Description copied from interface:FedXOptimizerOptimize the provided tuple expression- Specified by:
optimizein interfaceFedXOptimizer
-
meet
- Specified by:
meetin interfaceQueryModelVisitor<OptimizationException>- Overrides:
meetin classAbstractSimpleQueryModelVisitor<OptimizationException>
-
meet
- Specified by:
meetin interfaceQueryModelVisitor<OptimizationException>- Overrides:
meetin classAbstractSimpleQueryModelVisitor<OptimizationException>
-
meet
- Specified by:
meetin interfaceQueryModelVisitor<OptimizationException>- Overrides:
meetin classAbstractSimpleQueryModelVisitor<OptimizationException>
-
meet
- Specified by:
meetin interfaceQueryModelVisitor<OptimizationException>- Overrides:
meetin classAbstractSimpleQueryModelVisitor<OptimizationException>
-
meet
- Specified by:
meetin interfaceQueryModelVisitor<OptimizationException>- Overrides:
meetin classAbstractSimpleQueryModelVisitor<OptimizationException>- Throws:
OptimizationException
-
meet
- Specified by:
meetin interfaceQueryModelVisitor<OptimizationException>- Overrides:
meetin classAbstractSimpleQueryModelVisitor<OptimizationException>- Throws:
OptimizationException
-
meet
- Specified by:
meetin interfaceQueryModelVisitor<OptimizationException>- Overrides:
meetin classAbstractSimpleQueryModelVisitor<OptimizationException>
-
meet
- Specified by:
meetin interfaceQueryModelVisitor<OptimizationException>- Overrides:
meetin classAbstractSimpleQueryModelVisitor<OptimizationException>- Throws:
OptimizationException
-
meet
- Specified by:
meetin interfaceQueryModelVisitor<OptimizationException>- Overrides:
meetin classAbstractSimpleQueryModelVisitor<OptimizationException>- Throws:
OptimizationException
-
meet
- Specified by:
meetin interfaceQueryModelVisitor<OptimizationException>- Overrides:
meetin classAbstractSimpleQueryModelVisitor<OptimizationException>- Throws:
OptimizationException
-
hasService
public boolean hasService() -
getServices
-