Class PostProcessableFunctionLifterImpl.FunctionLifterTransformer
- java.lang.Object
-
- it.unibz.inf.ontop.iq.transform.impl.DefaultRecursiveIQTreeVisitingTransformer
-
- it.unibz.inf.ontop.iq.optimizer.impl.PostProcessableFunctionLifterImpl.FunctionLifterTransformer
-
- All Implemented Interfaces:
IQTreeTransformer,IQTreeVisitingTransformer
- Enclosing class:
- PostProcessableFunctionLifterImpl
public static class PostProcessableFunctionLifterImpl.FunctionLifterTransformer extends DefaultRecursiveIQTreeVisitingTransformer
-
-
Field Summary
Fields Modifier and Type Field Description protected static intLOOPING_BOUNDprotected OptimizationSingletonsoptimizationSingletonsprotected VariableGeneratorvariableGenerator-
Fields inherited from class it.unibz.inf.ontop.iq.transform.impl.DefaultRecursiveIQTreeVisitingTransformer
iqFactory
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedFunctionLifterTransformer(VariableGenerator variableGenerator, OptimizationSingletons optimizationSingletons)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected PostProcessableFunctionLifterImpl.LiftStatelift(PostProcessableFunctionLifterImpl.LiftState initialState)protected Optional<Variable>selectVariableToLift(it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Variable> unionVariables, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<IQTree> children)protected booleanshouldBeLifted(ImmutableFunctionalTerm functionalTerm, int nbChildren)Recursiveprotected booleanshouldBeLifted(Variable variable, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<IQTree> children)protected PostProcessableFunctionLifterImpl.LiftStatestep(PostProcessableFunctionLifterImpl.LiftState state)protected IQTreetransformBinaryNonCommutativeNode(IQTree tree, BinaryNonCommutativeOperatorNode rootNode, IQTree leftChild, IQTree rightChild)protected IQTreetransformNaryCommutativeNode(IQTree tree, NaryOperatorNode rootNode, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<IQTree> children)protected IQTreetransformUnaryNode(IQTree tree, UnaryOperatorNode rootNode, IQTree child)IQTreetransformUnion(IQTree tree, UnionNode rootNode, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<IQTree> children)-
Methods inherited from class it.unibz.inf.ontop.iq.transform.impl.DefaultRecursiveIQTreeVisitingTransformer
transformAggregation, transformConstruction, transformDistinct, transformEmpty, transformExtensionalData, transformFilter, transformInnerJoin, transformIntensionalData, transformLeaf, transformLeftJoin, transformNonStandardBinaryNonCommutativeNode, transformNonStandardLeafNode, transformNonStandardNaryNode, transformNonStandardUnaryNode, transformOrderBy, transformSlice, transformTrue, 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
-
-
-
-
Field Detail
-
LOOPING_BOUND
protected static final int LOOPING_BOUND
- See Also:
- Constant Field Values
-
variableGenerator
protected final VariableGenerator variableGenerator
-
optimizationSingletons
protected final OptimizationSingletons optimizationSingletons
-
-
Constructor Detail
-
FunctionLifterTransformer
protected FunctionLifterTransformer(VariableGenerator variableGenerator, OptimizationSingletons optimizationSingletons)
-
-
Method Detail
-
transformUnaryNode
protected IQTree transformUnaryNode(IQTree tree, UnaryOperatorNode rootNode, IQTree child)
- Overrides:
transformUnaryNodein classDefaultRecursiveIQTreeVisitingTransformer
-
transformNaryCommutativeNode
protected IQTree transformNaryCommutativeNode(IQTree tree, NaryOperatorNode rootNode, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<IQTree> children)
- Overrides:
transformNaryCommutativeNodein classDefaultRecursiveIQTreeVisitingTransformer
-
transformBinaryNonCommutativeNode
protected IQTree transformBinaryNonCommutativeNode(IQTree tree, BinaryNonCommutativeOperatorNode rootNode, IQTree leftChild, IQTree rightChild)
- Overrides:
transformBinaryNonCommutativeNodein classDefaultRecursiveIQTreeVisitingTransformer
-
transformUnion
public IQTree transformUnion(IQTree tree, UnionNode rootNode, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<IQTree> children)
- Specified by:
transformUnionin interfaceIQTreeVisitingTransformer- Overrides:
transformUnionin classDefaultRecursiveIQTreeVisitingTransformer
-
lift
protected PostProcessableFunctionLifterImpl.LiftState lift(PostProcessableFunctionLifterImpl.LiftState initialState)
-
step
protected PostProcessableFunctionLifterImpl.LiftState step(PostProcessableFunctionLifterImpl.LiftState state)
-
selectVariableToLift
protected Optional<Variable> selectVariableToLift(it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Variable> unionVariables, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<IQTree> children)
-
shouldBeLifted
protected boolean shouldBeLifted(Variable variable, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<IQTree> children)
-
shouldBeLifted
protected boolean shouldBeLifted(ImmutableFunctionalTerm functionalTerm, int nbChildren)
Recursive
-
-