Class ProjectOrderByTermsNormalizer
- java.lang.Object
-
- it.unibz.inf.ontop.iq.transform.impl.DefaultRecursiveIQTreeExtendedTransformer<VariableGenerator>
-
- it.unibz.inf.ontop.generation.normalization.impl.ProjectOrderByTermsNormalizer
-
- All Implemented Interfaces:
DialectExtraNormalizer,IQTreeExtendedTransformer<VariableGenerator>
- Direct Known Subclasses:
AlwaysProjectOrderByTermsNormalizer,OnlyInPresenceOfDistinctProjectOrderByTermsNormalizer
public class ProjectOrderByTermsNormalizer extends DefaultRecursiveIQTreeExtendedTransformer<VariableGenerator> implements DialectExtraNormalizer
-
-
Field Summary
-
Fields inherited from class it.unibz.inf.ontop.iq.transform.impl.DefaultRecursiveIQTreeExtendedTransformer
iqFactory
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedProjectOrderByTermsNormalizer(boolean onlyInPresenceOfDistinct, CoreSingletons coreSingletons)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleanisSupported(it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Variable> projectedVariables, it.unibz.inf.ontop.generation.normalization.impl.ProjectOrderByTermsNormalizer.Analysis analysis, it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Map.Entry<Variable,NonGroundTerm>> newBindings)Decides whether or not new bindings can be addedprotected booleanmayImpactDistinct(ImmutableTerm term, it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<ImmutableTerm> alreadyProjectedTerms)TODO: explainIQTreetransform(IQTree tree, VariableGenerator variableGenerator)IQTreetransformConstruction(IQTree tree, ConstructionNode rootNode, IQTree child, VariableGenerator variableGenerator)protected IQTreetransformConstructionSliceDistinctOrOrderByTree(IQTree tree, VariableGenerator variableGenerator)IQTreetransformDistinct(IQTree tree, DistinctNode rootNode, IQTree child, VariableGenerator variableGenerator)IQTreetransformOrderBy(IQTree tree, OrderByNode rootNode, IQTree child, VariableGenerator variableGenerator)IQTreetransformSlice(IQTree tree, SliceNode sliceNode, IQTree child, VariableGenerator variableGenerator)-
Methods inherited from class it.unibz.inf.ontop.iq.transform.impl.DefaultRecursiveIQTreeExtendedTransformer
transformAggregation, transformBinaryNonCommutativeNode, transformEmpty, transformExtensionalData, transformFilter, transformInnerJoin, transformIntensionalData, transformLeaf, transformLeftJoin, transformNaryCommutativeNode, transformNonStandardBinaryNonCommutativeNode, transformNonStandardLeafNode, transformNonStandardNaryNode, transformNonStandardUnaryNode, transformTrue, transformUnaryNode, transformUnion, transformValues
-
-
-
-
Constructor Detail
-
ProjectOrderByTermsNormalizer
protected ProjectOrderByTermsNormalizer(boolean onlyInPresenceOfDistinct, CoreSingletons coreSingletons)
-
-
Method Detail
-
transform
public IQTree transform(IQTree tree, VariableGenerator variableGenerator)
- Specified by:
transformin interfaceDialectExtraNormalizer- Specified by:
transformin interfaceIQTreeExtendedTransformer<VariableGenerator>
-
transformConstruction
public IQTree transformConstruction(IQTree tree, ConstructionNode rootNode, IQTree child, VariableGenerator variableGenerator)
- Specified by:
transformConstructionin interfaceIQTreeExtendedTransformer<VariableGenerator>- Overrides:
transformConstructionin classDefaultRecursiveIQTreeExtendedTransformer<VariableGenerator>
-
transformDistinct
public IQTree transformDistinct(IQTree tree, DistinctNode rootNode, IQTree child, VariableGenerator variableGenerator)
- Specified by:
transformDistinctin interfaceIQTreeExtendedTransformer<VariableGenerator>- Overrides:
transformDistinctin classDefaultRecursiveIQTreeExtendedTransformer<VariableGenerator>
-
transformSlice
public IQTree transformSlice(IQTree tree, SliceNode sliceNode, IQTree child, VariableGenerator variableGenerator)
- Specified by:
transformSlicein interfaceIQTreeExtendedTransformer<VariableGenerator>- Overrides:
transformSlicein classDefaultRecursiveIQTreeExtendedTransformer<VariableGenerator>
-
transformOrderBy
public IQTree transformOrderBy(IQTree tree, OrderByNode rootNode, IQTree child, VariableGenerator variableGenerator)
- Specified by:
transformOrderByin interfaceIQTreeExtendedTransformer<VariableGenerator>- Overrides:
transformOrderByin classDefaultRecursiveIQTreeExtendedTransformer<VariableGenerator>
-
transformConstructionSliceDistinctOrOrderByTree
protected IQTree transformConstructionSliceDistinctOrOrderByTree(IQTree tree, VariableGenerator variableGenerator)
-
isSupported
protected boolean isSupported(it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Variable> projectedVariables, it.unibz.inf.ontop.generation.normalization.impl.ProjectOrderByTermsNormalizer.Analysis analysis, it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Map.Entry<Variable,NonGroundTerm>> newBindings)
Decides whether or not new bindings can be added
-
mayImpactDistinct
protected boolean mayImpactDistinct(ImmutableTerm term, it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<ImmutableTerm> alreadyProjectedTerms)
TODO: explain
-
-