Class QueryModelNormalizer
- java.lang.Object
-
- org.eclipse.rdf4j.query.algebra.helpers.AbstractQueryModelVisitor<RuntimeException>
-
- org.eclipse.rdf4j.query.algebra.evaluation.impl.QueryModelNormalizer
-
- All Implemented Interfaces:
QueryOptimizer,QueryModelVisitor<RuntimeException>
public class QueryModelNormalizer extends AbstractQueryModelVisitor<RuntimeException> implements QueryOptimizer
A query optimizer that (partially) normalizes query models to a canonical form. Note: this implementation does not yet cover all query node types.- Author:
- Arjohn Kampman
-
-
Constructor Summary
Constructors Constructor Description QueryModelNormalizer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidmeet(And and)voidmeet(Difference difference)voidmeet(Filter node)voidmeet(Intersection intersection)voidmeet(Join join)voidmeet(LeftJoin leftJoin)voidmeet(Or or)voidmeet(Union union)protected voidmeetUnaryTupleOperator(UnaryTupleOperator node)Method called by all meet methods with aUnaryTupleOperatornode as argument.voidoptimize(TupleExpr tupleExpr, Dataset dataset, BindingSet bindings)-
Methods inherited from class org.eclipse.rdf4j.query.algebra.helpers.AbstractQueryModelVisitor
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, meetNode, meetOther, meetSubQueryValueOperator, meetUnaryValueOperator, meetUpdateExpr
-
-
-
-
Method Detail
-
optimize
public void optimize(TupleExpr tupleExpr, Dataset dataset, BindingSet bindings)
- Specified by:
optimizein interfaceQueryOptimizer
-
meet
public void meet(Join join)
- Specified by:
meetin interfaceQueryModelVisitor<RuntimeException>- Overrides:
meetin classAbstractQueryModelVisitor<RuntimeException>
-
meet
public void meet(LeftJoin leftJoin)
- Specified by:
meetin interfaceQueryModelVisitor<RuntimeException>- Overrides:
meetin classAbstractQueryModelVisitor<RuntimeException>
-
meet
public void meet(Union union)
- Specified by:
meetin interfaceQueryModelVisitor<RuntimeException>- Overrides:
meetin classAbstractQueryModelVisitor<RuntimeException>
-
meet
public void meet(Difference difference)
- Specified by:
meetin interfaceQueryModelVisitor<RuntimeException>- Overrides:
meetin classAbstractQueryModelVisitor<RuntimeException>
-
meet
public void meet(Intersection intersection)
- Specified by:
meetin interfaceQueryModelVisitor<RuntimeException>- Overrides:
meetin classAbstractQueryModelVisitor<RuntimeException>
-
meetUnaryTupleOperator
protected void meetUnaryTupleOperator(UnaryTupleOperator node)
Description copied from class:AbstractQueryModelVisitorMethod called by all meet methods with aUnaryTupleOperatornode as argument. Forwards the call toAbstractQueryModelVisitor.meetNode(org.eclipse.rdf4j.query.algebra.QueryModelNode)by default.- Overrides:
meetUnaryTupleOperatorin classAbstractQueryModelVisitor<RuntimeException>- Parameters:
node- The node that is being visited.
-
meet
public void meet(Filter node)
- Specified by:
meetin interfaceQueryModelVisitor<RuntimeException>- Overrides:
meetin classAbstractQueryModelVisitor<RuntimeException>
-
meet
public void meet(Or or)
- Specified by:
meetin interfaceQueryModelVisitor<RuntimeException>- Overrides:
meetin classAbstractQueryModelVisitor<RuntimeException>
-
meet
public void meet(And and)
- Specified by:
meetin interfaceQueryModelVisitor<RuntimeException>- Overrides:
meetin classAbstractQueryModelVisitor<RuntimeException>
-
-