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 void
meet(And and)
void
meet(Difference difference)
void
meet(Filter node)
void
meet(Intersection intersection)
void
meet(Join join)
void
meet(LeftJoin leftJoin)
void
meet(Or or)
void
meet(Union union)
protected void
meetUnaryTupleOperator(UnaryTupleOperator node)
Method called by all meet methods with aUnaryTupleOperator
node as argument.void
optimize(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:
optimize
in interfaceQueryOptimizer
-
meet
public void meet(Join join)
- Specified by:
meet
in interfaceQueryModelVisitor<RuntimeException>
- Overrides:
meet
in classAbstractQueryModelVisitor<RuntimeException>
-
meet
public void meet(LeftJoin leftJoin)
- Specified by:
meet
in interfaceQueryModelVisitor<RuntimeException>
- Overrides:
meet
in classAbstractQueryModelVisitor<RuntimeException>
-
meet
public void meet(Union union)
- Specified by:
meet
in interfaceQueryModelVisitor<RuntimeException>
- Overrides:
meet
in classAbstractQueryModelVisitor<RuntimeException>
-
meet
public void meet(Difference difference)
- Specified by:
meet
in interfaceQueryModelVisitor<RuntimeException>
- Overrides:
meet
in classAbstractQueryModelVisitor<RuntimeException>
-
meet
public void meet(Intersection intersection)
- Specified by:
meet
in interfaceQueryModelVisitor<RuntimeException>
- Overrides:
meet
in classAbstractQueryModelVisitor<RuntimeException>
-
meetUnaryTupleOperator
protected void meetUnaryTupleOperator(UnaryTupleOperator node)
Description copied from class:AbstractQueryModelVisitor
Method called by all meet methods with aUnaryTupleOperator
node as argument. Forwards the call toAbstractQueryModelVisitor.meetNode(org.eclipse.rdf4j.query.algebra.QueryModelNode)
by default.- Overrides:
meetUnaryTupleOperator
in classAbstractQueryModelVisitor<RuntimeException>
- Parameters:
node
- The node that is being visited.
-
meet
public void meet(Filter node)
- Specified by:
meet
in interfaceQueryModelVisitor<RuntimeException>
- Overrides:
meet
in classAbstractQueryModelVisitor<RuntimeException>
-
meet
public void meet(Or or)
- Specified by:
meet
in interfaceQueryModelVisitor<RuntimeException>
- Overrides:
meet
in classAbstractQueryModelVisitor<RuntimeException>
-
meet
public void meet(And and)
- Specified by:
meet
in interfaceQueryModelVisitor<RuntimeException>
- Overrides:
meet
in classAbstractQueryModelVisitor<RuntimeException>
-
-