Class AvoidJoinAboveUnionPlanner.AvoidJoinAboveUnionTransformer
- java.lang.Object
-
- it.unibz.inf.ontop.iq.transform.impl.DefaultRecursiveIQTreeVisitingTransformer
-
- it.unibz.inf.ontop.iq.planner.impl.AvoidJoinAboveUnionPlanner.AvoidJoinAboveUnionTransformer
-
- All Implemented Interfaces:
IQTreeTransformer,IQTreeVisitingTransformer
- Enclosing class:
- AvoidJoinAboveUnionPlanner
@Singleton protected static class AvoidJoinAboveUnionPlanner.AvoidJoinAboveUnionTransformer extends DefaultRecursiveIQTreeVisitingTransformer
-
-
Field Summary
-
Fields inherited from class it.unibz.inf.ontop.iq.transform.impl.DefaultRecursiveIQTreeVisitingTransformer
iqFactory
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAvoidJoinAboveUnionTransformer(IntermediateQueryFactory iqFactory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Optional<Map.Entry<NaryIQTree,it.unibz.inf.ontop.com.google.common.collect.ImmutableList<Integer>>>extractPushableSiblings(NaryIQTree unionTree, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<IQTree> children)Criteria for selecting siblings: must be leaf and must naturally join (i.e.IQTreetransformInnerJoin(IQTree tree, InnerJoinNode rootNode, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<IQTree> initialChildren)-
Methods inherited from class it.unibz.inf.ontop.iq.transform.impl.DefaultRecursiveIQTreeVisitingTransformer
transformAggregation, transformBinaryNonCommutativeNode, transformConstruction, transformDistinct, transformEmpty, transformExtensionalData, transformFilter, transformIntensionalData, transformLeaf, transformLeftJoin, transformNaryCommutativeNode, transformNonStandardBinaryNonCommutativeNode, transformNonStandardLeafNode, transformNonStandardNaryNode, transformNonStandardUnaryNode, transformOrderBy, transformSlice, transformTrue, transformUnaryNode, transformUnion, transformValues
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface it.unibz.inf.ontop.iq.transform.IQTreeVisitingTransformer
transform
-
-
-
-
Constructor Detail
-
AvoidJoinAboveUnionTransformer
@Inject protected AvoidJoinAboveUnionTransformer(IntermediateQueryFactory iqFactory)
-
-
Method Detail
-
transformInnerJoin
public IQTree transformInnerJoin(IQTree tree, InnerJoinNode rootNode, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<IQTree> initialChildren)
- Specified by:
transformInnerJoinin interfaceIQTreeVisitingTransformer- Overrides:
transformInnerJoinin classDefaultRecursiveIQTreeVisitingTransformer
-
extractPushableSiblings
protected Optional<Map.Entry<NaryIQTree,it.unibz.inf.ontop.com.google.common.collect.ImmutableList<Integer>>> extractPushableSiblings(NaryIQTree unionTree, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<IQTree> children)
Criteria for selecting siblings: must be leaf and must naturally join (i.e. share a variable) with the union
-
-