public class IntensionalDataNodeImpl extends DataNodeImpl<AtomPredicate> implements IntensionalDataNode
iqFactory| Modifier and Type | Method and Description |
|---|---|
IntensionalDataNode |
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 |
applyFreshRenaming(InjectiveVar2VarSubstitution freshRenamingSubstitution)
Particular type of descending substitution: only renaming some variables by external ones.
|
IntensionalDataNode |
clone()
See https://stackoverflow.com/questions/6837362/
|
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() |
com.google.common.collect.ImmutableSet<com.google.common.collect.ImmutableSet<Variable>> |
inferUniqueConstraints()
NOT guaranteed to return all the unique constraints (MAY BE INCOMPLETE)
Set of sets of determinants
|
boolean |
isDistinct()
Intensional data nodes are assumed to correspond to triple/quad patterns, which are distinct by definition
|
boolean |
isEquivalentTo(QueryNode queryNode)
Is syntactically equivalent
|
boolean |
isSyntacticallyEquivalentTo(QueryNode node)
TODO: explain
|
boolean |
isVariableNullable(IntermediateQuery query,
Variable variable)
We assume all the variables are non-null.
|
IntensionalDataNode |
newAtom(DataAtom newAtom)
Returns a new DataNode of the same type that will use the new atom
|
String |
toString() |
void |
validate() |
applyDescendingSubstitutionWithoutOptimizing, getKnownVariables, getLocallyDefinedVariables, getLocallyRequiredVariables, getLocalVariables, getProjectionAtom, getVariables, isDeclaredAsEmptyapplyDescendingSubstitution, getChildren, getPossibleVariableDefinitions, getRootNode, isConstructed, isEquivalentTo, liftIncompatibleDefinitions, normalizeForOptimization, propagateDownConstraint, removeDistincts, replaceSubTreeequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetProjectionAtomgetRootNodeapplyDescendingSubstitution, applyDescendingSubstitutionWithoutOptimizing, getChildren, getKnownVariables, getPossibleVariableDefinitions, getVariables, isConstructed, isDeclaredAsEmpty, isEquivalentTo, isLeaf, liftIncompatibleDefinitions, normalizeForOptimization, propagateDownConstraint, removeDistincts, replaceSubTreegetVariablesgetLocallyDefinedVariables, getLocallyRequiredVariables, getLocalVariablespublic void acceptVisitor(QueryNodeVisitor visitor)
QueryNodeacceptVisitor in interface QueryNodepublic IntensionalDataNode clone()
QueryNodeImplclone in interface IntensionalDataNodeclone in interface QueryNodeclone in class QueryNodeImplpublic IntensionalDataNode acceptNodeTransformer(HomogeneousQueryNodeTransformer transformer) throws QueryNodeTransformationException
QueryNodeacceptNodeTransformer in interface LeafIQTreeacceptNodeTransformer in interface IntensionalDataNodeacceptNodeTransformer in interface QueryNodeQueryNodeTransformationExceptionpublic boolean isVariableNullable(IntermediateQuery query, Variable variable)
isVariableNullable in interface QueryNodepublic IQTree acceptTransformer(IQTreeVisitingTransformer transformer)
acceptTransformer in interface IQTreepublic boolean isDistinct()
isDistinct in interface IQTreepublic <T> T acceptVisitor(IQVisitor<T> visitor)
acceptVisitor in interface IQTreepublic IQTree applyFreshRenaming(InjectiveVar2VarSubstitution freshRenamingSubstitution)
IQTreeapplyFreshRenaming in interface IQTreepublic VariableNullability getVariableNullability()
getVariableNullability in interface IQTreepublic void validate()
throws InvalidIntermediateQueryException
validate in interface IQTreeInvalidIntermediateQueryExceptionpublic com.google.common.collect.ImmutableSet<com.google.common.collect.ImmutableSet<Variable>> inferUniqueConstraints()
IQTreeinferUniqueConstraints in interface IQTreepublic boolean isSyntacticallyEquivalentTo(QueryNode node)
QueryNodeisSyntacticallyEquivalentTo in interface QueryNodepublic com.google.common.collect.ImmutableSet<Variable> getRequiredVariables(IntermediateQuery query)
QueryNodegetRequiredVariables in interface QueryNodegetRequiredVariables in class DataNodeImpl<AtomPredicate>public boolean isEquivalentTo(QueryNode queryNode)
QueryNodeisEquivalentTo in interface QueryNodepublic IntensionalDataNode newAtom(DataAtom newAtom)
DataNodenewAtom in interface DataNode<AtomPredicate>newAtom in interface IntensionalDataNodeCopyright © 2009–2020 Free University of Bozen-Bolzano. All rights reserved.