Class CardinalityInsensitiveJoinTransferLJOptimizer.CardinalityInsensitiveTransformer
- java.lang.Object
-
- it.unibz.inf.ontop.iq.transform.impl.DefaultNonRecursiveIQTreeTransformer
-
- it.unibz.inf.ontop.iq.optimizer.impl.lj.AbstractJoinTransferLJTransformer
-
- it.unibz.inf.ontop.iq.optimizer.impl.lj.CardinalityInsensitiveJoinTransferLJOptimizer.CardinalityInsensitiveTransformer
-
- All Implemented Interfaces:
IQTreeTransformer,IQTreeVisitingTransformer
- Enclosing class:
- CardinalityInsensitiveJoinTransferLJOptimizer
protected static class CardinalityInsensitiveJoinTransferLJOptimizer.CardinalityInsensitiveTransformer extends AbstractJoinTransferLJTransformer
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class it.unibz.inf.ontop.iq.optimizer.impl.lj.AbstractJoinTransferLJTransformer
AbstractJoinTransferLJTransformer.DataNodeAndReplacement, AbstractJoinTransferLJTransformer.RenamingAndEqualities, AbstractJoinTransferLJTransformer.ReplaceNodeByTrueTransformer, AbstractJoinTransferLJTransformer.SelectedNode
-
-
Field Summary
-
Fields inherited from class it.unibz.inf.ontop.iq.optimizer.impl.lj.AbstractJoinTransferLJTransformer
optimizationSingletons, requiredDataNodeExtractor, rightProvenanceNormalizer, variableGenerator
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedCardinalityInsensitiveTransformer(IQTreeTransformer lookForDistinctTransformer, Supplier<VariableNullability> variableNullabilitySupplier, VariableGenerator variableGenerator, RequiredExtensionalDataNodeExtractor requiredDataNodeExtractor, RightProvenanceNormalizer rightProvenanceNormalizer, OptimizationSingletons optimizationSingletons)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected IQTreepreTransformLJRightChild(IQTree rightChild)Can be overriddenprotected Optional<AbstractJoinTransferLJTransformer.SelectedNode>selectForTransfer(ExtensionalDataNode rightDataNode, it.unibz.inf.ontop.com.google.common.collect.ImmutableMultimap<RelationDefinition,ExtensionalDataNode> leftMultimap)protected IQTreetransformBySearchingFromScratch(IQTree tree)protected IQTreetransformBySearchingFromScratchFromDistinctTree(IQTree tree)IQTreetransformConstruction(IQTree tree, ConstructionNode 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.optimizer.impl.lj.AbstractJoinTransferLJTransformer
extractRightDataNodes, furtherTransformLeftJoin, getInheritedVariableNullability, matchForeignKey, matchFunctionalDependency, matchIndexes, matchUniqueConstraint, selectRightDataNodesToTransfer, transformBinaryNonCommutativeNode, transformBinaryNonCommutativeNode, transformDistinct, transformFilter, transformInnerJoin, transformLeftJoin, transformNaryCommutativeNode, transformNaryCommutativeNode, transformOrderBy, transformSlice, transformUnaryNode, transformUnaryNode
-
Methods inherited from class it.unibz.inf.ontop.iq.transform.impl.DefaultNonRecursiveIQTreeTransformer
transformAggregation, transformEmpty, transformExtensionalData, transformIntensionalData, transformLeaf, transformNonStandardBinaryNonCommutativeNode, transformNonStandardLeafNode, transformNonStandardNaryNode, transformNonStandardUnaryNode, 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
-
-
-
-
Constructor Detail
-
CardinalityInsensitiveTransformer
protected CardinalityInsensitiveTransformer(IQTreeTransformer lookForDistinctTransformer, Supplier<VariableNullability> variableNullabilitySupplier, VariableGenerator variableGenerator, RequiredExtensionalDataNodeExtractor requiredDataNodeExtractor, RightProvenanceNormalizer rightProvenanceNormalizer, OptimizationSingletons optimizationSingletons)
-
-
Method Detail
-
selectForTransfer
protected Optional<AbstractJoinTransferLJTransformer.SelectedNode> selectForTransfer(ExtensionalDataNode rightDataNode, it.unibz.inf.ontop.com.google.common.collect.ImmutableMultimap<RelationDefinition,ExtensionalDataNode> leftMultimap)
- Specified by:
selectForTransferin classAbstractJoinTransferLJTransformer
-
transformBySearchingFromScratch
protected IQTree transformBySearchingFromScratch(IQTree tree)
- Specified by:
transformBySearchingFromScratchin classAbstractJoinTransferLJTransformer
-
transformBySearchingFromScratchFromDistinctTree
protected IQTree transformBySearchingFromScratchFromDistinctTree(IQTree tree)
-
preTransformLJRightChild
protected IQTree preTransformLJRightChild(IQTree rightChild)
Description copied from class:AbstractJoinTransferLJTransformerCan be overridden- Overrides:
preTransformLJRightChildin classAbstractJoinTransferLJTransformer
-
transformConstruction
public IQTree transformConstruction(IQTree tree, ConstructionNode rootNode, IQTree child)
- Specified by:
transformConstructionin interfaceIQTreeVisitingTransformer- Overrides:
transformConstructionin classDefaultNonRecursiveIQTreeTransformer
-
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 classDefaultNonRecursiveIQTreeTransformer
-
-