public abstract class AbstractDiscardedVariablesTransformer extends DefaultNonRecursiveIQTreeTransformer
| Modifier and Type | Field and Description |
|---|---|
protected CoreSingletons |
coreSingletons |
| Modifier | Constructor and Description |
|---|---|
protected |
AbstractDiscardedVariablesTransformer(it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Variable> discardedVariables,
IQTreeTransformer lookForDistinctTransformer,
CoreSingletons coreSingletons) |
| Modifier and Type | Method and Description |
|---|---|
protected abstract Optional<IQTree> |
furtherSimplifyInnerJoinChildren(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Variable>> discardedVariablesPerChild,
Optional<ImmutableExpression> optionalFilterCondition,
it.unibz.inf.ontop.com.google.common.collect.ImmutableList<IQTree> children)
Takes in account the interaction between children
Returns empty() if no further optimization has been applied
|
protected IQTree |
transformBinaryNonCommutativeNode(IQTree tree,
BinaryNonCommutativeOperatorNode rootNode,
IQTree leftChild,
IQTree rightChild)
By default, switch back to the "LookForDistinctTransformer"
|
IQTree |
transformConstruction(IQTree tree,
ConstructionNode rootNode,
IQTree child)
NB: For the sake of simplicity, does not "take into account" (i.e.
|
IQTree |
transformFilter(IQTree tree,
FilterNode rootNode,
IQTree child) |
IQTree |
transformInnerJoin(IQTree tree,
InnerJoinNode rootNode,
it.unibz.inf.ontop.com.google.common.collect.ImmutableList<IQTree> children) |
IQTree |
transformLeftJoin(IQTree tree,
LeftJoinNode rootNode,
IQTree leftChild,
IQTree rightChild) |
protected IQTree |
transformNaryCommutativeNode(IQTree tree,
NaryOperatorNode rootNode,
it.unibz.inf.ontop.com.google.common.collect.ImmutableList<IQTree> children)
By default, switch back to the "LookForDistinctTransformer"
|
IQTree |
transformOrderBy(IQTree tree,
OrderByNode rootNode,
IQTree child) |
IQTree |
transformSlice(IQTree tree,
SliceNode sliceNode,
IQTree child) |
protected IQTree |
transformUnaryNode(IQTree tree,
UnaryOperatorNode rootNode,
IQTree child)
By default, switch back to the "LookForDistinctTransformer"
|
IQTree |
transformUnion(IQTree tree,
UnionNode rootNode,
it.unibz.inf.ontop.com.google.common.collect.ImmutableList<IQTree> children) |
protected abstract AbstractDiscardedVariablesTransformer |
update(it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Variable> newDiscardedVariables) |
transformAggregation, transformDistinct, transformEmpty, transformExtensionalData, transformIntensionalData, transformLeaf, transformNonStandardBinaryNonCommutativeNode, transformNonStandardLeafNode, transformNonStandardNaryNode, transformNonStandardUnaryNode, transformTrueclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waittransformprotected final CoreSingletons coreSingletons
protected AbstractDiscardedVariablesTransformer(it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Variable> discardedVariables, IQTreeTransformer lookForDistinctTransformer, CoreSingletons coreSingletons)
protected abstract AbstractDiscardedVariablesTransformer update(it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Variable> newDiscardedVariables)
public IQTree transformInnerJoin(IQTree tree, InnerJoinNode rootNode, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<IQTree> children)
transformInnerJoin in interface IQTreeVisitingTransformertransformInnerJoin in class DefaultNonRecursiveIQTreeTransformerprotected abstract Optional<IQTree> furtherSimplifyInnerJoinChildren(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Variable>> discardedVariablesPerChild, Optional<ImmutableExpression> optionalFilterCondition, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<IQTree> children)
public IQTree transformConstruction(IQTree tree, ConstructionNode rootNode, IQTree child)
transformConstruction in interface IQTreeVisitingTransformertransformConstruction in class DefaultNonRecursiveIQTreeTransformerpublic IQTree transformSlice(IQTree tree, SliceNode sliceNode, IQTree child)
transformSlice in interface IQTreeVisitingTransformertransformSlice in class DefaultNonRecursiveIQTreeTransformerpublic IQTree transformOrderBy(IQTree tree, OrderByNode rootNode, IQTree child)
transformOrderBy in interface IQTreeVisitingTransformertransformOrderBy in class DefaultNonRecursiveIQTreeTransformerpublic IQTree transformFilter(IQTree tree, FilterNode rootNode, IQTree child)
transformFilter in interface IQTreeVisitingTransformertransformFilter in class DefaultNonRecursiveIQTreeTransformerpublic IQTree transformUnion(IQTree tree, UnionNode rootNode, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<IQTree> children)
transformUnion in interface IQTreeVisitingTransformertransformUnion in class DefaultNonRecursiveIQTreeTransformerpublic IQTree transformLeftJoin(IQTree tree, LeftJoinNode rootNode, IQTree leftChild, IQTree rightChild)
transformLeftJoin in interface IQTreeVisitingTransformertransformLeftJoin in class DefaultNonRecursiveIQTreeTransformerprotected IQTree transformUnaryNode(IQTree tree, UnaryOperatorNode rootNode, IQTree child)
transformUnaryNode in class DefaultNonRecursiveIQTreeTransformerprotected IQTree transformNaryCommutativeNode(IQTree tree, NaryOperatorNode rootNode, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<IQTree> children)
transformNaryCommutativeNode in class DefaultNonRecursiveIQTreeTransformerprotected IQTree transformBinaryNonCommutativeNode(IQTree tree, BinaryNonCommutativeOperatorNode rootNode, IQTree leftChild, IQTree rightChild)
transformBinaryNonCommutativeNode in class DefaultNonRecursiveIQTreeTransformerCopyright © 2009–2020 Free University of Bozen-Bolzano. All rights reserved.