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 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, meetUpdateExprModifier and TypeMethodDescriptionvoidvoidmeet(AggregateFunctionCall node) voidvoidvoidmeet(BindingSetAssignment node) voidmeet(BNodeGenerator node) voidvoidvoidvoidvoidmeet(CompareAll node) voidmeet(CompareAny node) voidvoidvoidvoidvoidmeet(DeleteData node) voidmeet(Difference node) voidvoidvoidvoidvoidmeet(ExtensionElem node) voidmeet(FunctionCall node) voidvoidmeet(GroupConcat node) voidvoidvoidvoidmeet(InsertData node) voidmeet(Intersection node) voidmeet(IRIFunction node) voidvoidvoidvoidmeet(IsResource node) voidvoidvoidvoidmeet(LangMatches node) voidmeet(ListMemberOperator node) voidvoidvoidvoidvoidvoidvoidvoidmeet(MultiProjection node) voidvoidvoidvoidvoidvoidmeet(ProjectionElem node) voidmeet(ProjectionElemList node) voidvoidvoidvoidvoidvoidmeet(SingletonSet node) voidvoidvoidvoidmeet(ValueConstant node) voidmeet(ValueExprTripleRef node) voidvoidmeet(ZeroLengthPath node) protected voidMethod called by all meet methods with aBinaryTupleOperatornode as argument.protected voidMethod called by all meet methods with aBinaryValueOperatornode as argument.protected voidMethod called by all meet methods with aCompareSubQueryValueOperatornode as argument.protected voidMethod called by all meet methods with aNAryValueOperatornode as argument.voidmeetOther(QueryModelNode node) protected voidMethod called by all meet methods with aSubQueryValueOperatornode as argument.protected voidMethod called by all meet methods with aUnaryTupleOperatornode as argument.protected voidMethod called by all meet methods with aUnaryValueOperatornode as argument.voidprotected voidmeetUpdateExpr(UpdateExpr node) Method called by all meet methods with aUpdateExprnode as argument.
-
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- Parameters:
tupleExpr-
-
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
-