public class ExtensionalDataNodeImpl extends LeafIQTreeImpl implements ExtensionalDataNode
iqFactory| Modifier and Type | Method and Description |
|---|---|
ExtensionalDataNode |
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)
Optimized to re-use the variable nullability.
|
IQTree |
applyFreshRenamingToAllVariables(InjectiveVar2VarSubstitution freshRenamingSubstitution)
Identical to applyFreshRenaming, but also applies to non projected variables
|
ExtensionalDataNode |
clone()
See https://stackoverflow.com/questions/6837362/
|
it.unibz.inf.ontop.com.google.common.collect.ImmutableMap<Integer,? extends VariableOrGroundTerm> |
getArgumentMap() |
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()
Only co-occuring variables are required.
|
RelationDefinition |
getRelationDefinition() |
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 RelationDefinition getRelationDefinition()
getRelationDefinition in interface ExtensionalDataNodepublic it.unibz.inf.ontop.com.google.common.collect.ImmutableMap<Integer,? extends VariableOrGroundTerm> getArgumentMap()
getArgumentMap in interface ExtensionalDataNodepublic void acceptVisitor(QueryNodeVisitor visitor)
QueryNodeacceptVisitor in interface QueryNodepublic ExtensionalDataNode clone()
QueryNodeImplclone in interface ExtensionalDataNodeclone in interface QueryNodeclone in class QueryNodeImplpublic ExtensionalDataNode acceptNodeTransformer(HomogeneousQueryNodeTransformer transformer) throws QueryNodeTransformationException
QueryNodeacceptNodeTransformer in interface LeafIQTreeacceptNodeTransformer in interface ExtensionalDataNodeacceptNodeTransformer in interface QueryNodeQueryNodeTransformationExceptionpublic IQTree applyDescendingSubstitutionWithoutOptimizing(ImmutableSubstitution<? extends VariableOrGroundTerm> descendingSubstitution)
IQTreeapplyDescendingSubstitutionWithoutOptimizing in interface IQTreepublic boolean isVariableNullable(IntermediateQuery query, Variable variable)
QueryNodeisVariableNullable in interface QueryNodepublic IQTree acceptTransformer(IQTreeVisitingTransformer transformer)
acceptTransformer in interface IQTreepublic boolean isDistinct()
IQTreeisDistinct in interface IQTreepublic <T> T acceptVisitor(IQVisitor<T> visitor)
acceptVisitor in interface IQTreepublic IQTree applyFreshRenaming(InjectiveVar2VarSubstitution freshRenamingSubstitution)
applyFreshRenaming in interface IQTreepublic IQTree applyFreshRenamingToAllVariables(InjectiveVar2VarSubstitution freshRenamingSubstitution)
IQTreeapplyFreshRenamingToAllVariables 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()
getNotInternallyRequiredVariables in interface IQTreepublic boolean isSyntacticallyEquivalentTo(QueryNode node)
QueryNodeisSyntacticallyEquivalentTo 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 it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Variable> getLocalVariables()
QueryNodegetLocalVariables in interface QueryNodepublic 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> getLocallyDefinedVariables()
QueryNodegetLocallyDefinedVariables 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> getKnownVariables()
IQTreegetKnownVariables in interface IQTreepublic boolean isDeclaredAsEmpty()
IQTreeisDeclaredAsEmpty in interface IQTreeCopyright © 2009–2021 Free University of Bozen-Bolzano. All rights reserved.