public class TrueNodeImpl extends LeafIQTreeImpl implements TrueNode
iqFactory| Modifier and Type | Method and Description |
|---|---|
TrueNode |
acceptNodeTransformer(HomogeneousQueryNodeTransformer transformer)
"Accept" method for the "Visitor" pattern.
|
IQTree |
acceptTransformer(IQTreeVisitingTransformer transformer) |
<T> T |
acceptVisitor(IQVisitor<T> visitor) |
void |
acceptVisitor(QueryNodeVisitor visitor)
"Accept" method for the "Visitor" pattern.
|
IQTree |
applyDescendingSubstitutionWithoutOptimizing(ImmutableSubstitution<? extends VariableOrGroundTerm> descendingSubstitution)
Applies the descending substitution WITHOUT applying any additional optimization.
|
IQTree |
applyFreshRenaming(InjectiveVar2VarSubstitution freshRenamingSubstitution)
Particular type of descending substitution: only renaming some variables by external ones.
|
IQTree |
applyFreshRenamingToAllVariables(InjectiveVar2VarSubstitution freshRenamingSubstitution)
Identical to applyFreshRenaming, but also applies to non projected variables
|
TrueNode |
clone()
See https://stackoverflow.com/questions/6837362/
|
it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Variable> |
getKnownVariables()
Variables present in the tree
|
it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Variable> |
getLocallyDefinedVariables()
Locally defined variables must not appear in the sub-tree
|
it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Variable> |
getLocallyRequiredVariables()
Set of variables that this node, INDEPENDENTLY OF THE REQUIREMENTS OF ITS ANCESTORS,
requires to be defined in the sub-tree.
|
it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Variable> |
getLocalVariables()
Set of variables MENTIONED in the node, INDEPENDENTLY of its sub-tree.
|
it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Variable> |
getNotInternallyRequiredVariables()
Variables that are the tree proposes for removal if the ancestor trees do not need them.
|
it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Variable> |
getRequiredVariables(IntermediateQuery query)
Set of variables which, individually, must be provided by at least one child,
INDEPENDENTLY OF THE REQUIREMENTS OF THIS NODE'S ANCESTORS.
|
VariableNullability |
getVariableNullability() |
it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Variable> |
getVariables()
Variables projected by the tree
|
it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Variable>> |
inferUniqueConstraints()
NOT guaranteed to return all the unique constraints (MAY BE INCOMPLETE)
Set of sets of determinants.
|
boolean |
isDeclaredAsEmpty()
Returns true if corresponds to a EmptyNode
|
boolean |
isDistinct()
Returns true if it guarantees that all its results will be distinct
|
boolean |
isEquivalentTo(QueryNode queryNode)
Is syntactically equivalent
|
boolean |
isSyntacticallyEquivalentTo(QueryNode node)
TODO: explain
|
boolean |
isVariableNullable(IntermediateQuery query,
Variable variable)
Returns true if it cannot guarantee the projected variable to be non-null
Throws an IllegalArgumentException if the variable is not projected by the node
|
String |
toString() |
void |
validate() |
applyDescendingSubstitution, getChildren, getPossibleVariableDefinitions, getRootNode, isConstructed, isEquivalentTo, liftIncompatibleDefinitions, normalizeForOptimization, propagateDownConstraint, removeDistincts, replaceSubTreeequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetRootNodeapplyDescendingSubstitution, getChildren, getPossibleVariableDefinitions, isConstructed, isEquivalentTo, isLeaf, liftIncompatibleDefinitions, normalizeForOptimization, propagateDownConstraint, removeDistincts, replaceSubTreepublic it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Variable> getLocalVariables()
QueryNodegetLocalVariables in interface QueryNodepublic void acceptVisitor(QueryNodeVisitor visitor)
QueryNodeacceptVisitor in interface QueryNodepublic TrueNode acceptNodeTransformer(HomogeneousQueryNodeTransformer transformer) throws QueryNodeTransformationException
QueryNodeacceptNodeTransformer in interface LeafIQTreeacceptNodeTransformer in interface QueryNodeacceptNodeTransformer in interface TrueNodeQueryNodeTransformationExceptionpublic boolean isSyntacticallyEquivalentTo(QueryNode node)
QueryNodeisSyntacticallyEquivalentTo in interface QueryNodepublic boolean isVariableNullable(IntermediateQuery query, Variable variable)
QueryNodeisVariableNullable in interface QueryNodepublic TrueNode clone()
QueryNodeImplpublic it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Variable> getLocallyRequiredVariables()
QueryNodegetLocallyRequiredVariables in interface QueryNodepublic it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Variable> getRequiredVariables(IntermediateQuery query)
QueryNodegetRequiredVariables in interface QueryNodepublic it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Variable> getLocallyDefinedVariables()
QueryNodegetLocallyDefinedVariables in interface QueryNodepublic boolean isEquivalentTo(QueryNode queryNode)
QueryNodeisEquivalentTo in interface QueryNodepublic it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Variable> getVariables()
IQTreegetVariables in interface IQTreegetVariables in interface ExplicitVariableProjectionNodepublic IQTree acceptTransformer(IQTreeVisitingTransformer transformer)
acceptTransformer in interface IQTreepublic <T> T acceptVisitor(IQVisitor<T> visitor)
acceptVisitor in interface IQTreepublic IQTree applyFreshRenaming(InjectiveVar2VarSubstitution freshRenamingSubstitution)
IQTreeapplyFreshRenaming in interface IQTreepublic IQTree applyFreshRenamingToAllVariables(InjectiveVar2VarSubstitution freshRenamingSubstitution)
IQTreeapplyFreshRenamingToAllVariables in interface IQTreepublic IQTree applyDescendingSubstitutionWithoutOptimizing(ImmutableSubstitution<? extends VariableOrGroundTerm> descendingSubstitution)
IQTreeapplyDescendingSubstitutionWithoutOptimizing in interface IQTreepublic it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Variable> getKnownVariables()
IQTreegetKnownVariables in interface IQTreepublic boolean isDistinct()
IQTreeisDistinct in interface IQTreepublic boolean isDeclaredAsEmpty()
IQTreeisDeclaredAsEmpty in interface IQTreepublic VariableNullability getVariableNullability()
getVariableNullability in interface IQTreepublic void validate()
throws InvalidIntermediateQueryException
validate in interface IQTreeInvalidIntermediateQueryExceptionpublic it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Variable>> inferUniqueConstraints()
IQTreeinferUniqueConstraints in interface IQTreepublic it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Variable> getNotInternallyRequiredVariables()
IQTreegetNotInternallyRequiredVariables in interface IQTreeCopyright © 2009–2021 Free University of Bozen-Bolzano. All rights reserved.