| Modifier and Type | Method and Description |
|---|---|
AggregationNode |
IntermediateQueryFactory.createAggregationNode(com.google.common.collect.ImmutableSet<Variable> groupingVariables,
ImmutableSubstitution<ImmutableFunctionalTerm> substitution) |
ConstructionNode |
IntermediateQueryFactory.createConstructionNode(com.google.common.collect.ImmutableSet<Variable> projectedVariables,
ImmutableSubstitution<ImmutableTerm> substitution) |
| Modifier and Type | Method and Description |
|---|---|
com.google.common.collect.ImmutableSet<ImmutableSubstitution<NonVariableTerm>> |
ConcreteIQTreeCache.getPossibleVariableDefinitions() |
com.google.common.collect.ImmutableSet<ImmutableSubstitution<NonVariableTerm>> |
IQTree.getPossibleVariableDefinitions()
Returns a set of substitutions that define the projected variables when they are constructed.
|
| Modifier and Type | Method and Description |
|---|---|
IQTree |
IQTree.applyDescendingSubstitution(ImmutableSubstitution<? extends VariableOrGroundTerm> descendingSubstitution,
Optional<ImmutableExpression> constraint)
Applies the descending substitution and performs SOME optimizations.
|
IQTree |
IQTree.applyDescendingSubstitutionWithoutOptimizing(ImmutableSubstitution<? extends VariableOrGroundTerm> descendingSubstitution)
Applies the descending substitution WITHOUT applying any additional optimization.
|
| Modifier and Type | Method and Description |
|---|---|
void |
ConcreteIQTreeCache.setPossibleVariableDefinitions(com.google.common.collect.ImmutableSet<ImmutableSubstitution<NonVariableTerm>> possibleVariableDefinitions)
Can only be set ONCE!
|
| Modifier and Type | Method and Description |
|---|---|
protected com.google.common.collect.ImmutableSet<ImmutableSubstitution<NonVariableTerm>> |
BinaryNonCommutativeIQTreeImpl.computePossibleVariableDefinitions() |
protected com.google.common.collect.ImmutableSet<ImmutableSubstitution<NonVariableTerm>> |
NaryIQTreeImpl.computePossibleVariableDefinitions() |
protected abstract com.google.common.collect.ImmutableSet<ImmutableSubstitution<NonVariableTerm>> |
AbstractCompositeIQTree.computePossibleVariableDefinitions() |
protected com.google.common.collect.ImmutableSet<ImmutableSubstitution<NonVariableTerm>> |
UnaryIQTreeImpl.computePossibleVariableDefinitions() |
com.google.common.collect.ImmutableSet<ImmutableSubstitution<NonVariableTerm>> |
ConcreteIQTreeCacheImpl.getPossibleVariableDefinitions() |
com.google.common.collect.ImmutableSet<ImmutableSubstitution<NonVariableTerm>> |
AbstractCompositeIQTree.getPossibleVariableDefinitions() |
protected Optional<ImmutableSubstitution<? extends VariableOrGroundTerm>> |
AbstractCompositeIQTree.normalizeDescendingSubstitution(ImmutableSubstitution<? extends VariableOrGroundTerm> descendingSubstitution) |
Optional<ImmutableSubstitution<? extends VariableOrGroundTerm>> |
IQTreeTools.normalizeDescendingSubstitution(IQTree tree,
ImmutableSubstitution<? extends VariableOrGroundTerm> descendingSubstitution)
Excludes the variables that are not projected by the IQTree
If a "null" variable is propagated down, throws an UnsatisfiableDescendingSubstitutionException.
|
| Modifier and Type | Method and Description |
|---|---|
IQTree |
AbstractCompositeIQTree.applyDescendingSubstitution(ImmutableSubstitution<? extends VariableOrGroundTerm> descendingSubstitution,
Optional<ImmutableExpression> constraint) |
IQTree |
BinaryNonCommutativeIQTreeImpl.applyDescendingSubstitutionWithoutOptimizing(ImmutableSubstitution<? extends VariableOrGroundTerm> descendingSubstitution) |
IQTree |
NaryIQTreeImpl.applyDescendingSubstitutionWithoutOptimizing(ImmutableSubstitution<? extends VariableOrGroundTerm> descendingSubstitution) |
IQTree |
UnaryIQTreeImpl.applyDescendingSubstitutionWithoutOptimizing(ImmutableSubstitution<? extends VariableOrGroundTerm> descendingSubstitution) |
protected IQTree |
BinaryNonCommutativeIQTreeImpl.applyRegularDescendingSubstitution(ImmutableSubstitution<? extends VariableOrGroundTerm> descendingSubstitution,
Optional<ImmutableExpression> constraint) |
protected IQTree |
NaryIQTreeImpl.applyRegularDescendingSubstitution(ImmutableSubstitution<? extends VariableOrGroundTerm> descendingSubstitution,
Optional<ImmutableExpression> constraint) |
protected abstract IQTree |
AbstractCompositeIQTree.applyRegularDescendingSubstitution(ImmutableSubstitution<? extends VariableOrGroundTerm> descendingSubstitution,
Optional<ImmutableExpression> constraint) |
protected IQTree |
UnaryIQTreeImpl.applyRegularDescendingSubstitution(ImmutableSubstitution<? extends VariableOrGroundTerm> descendingSubstitution,
Optional<ImmutableExpression> constraint) |
com.google.common.collect.ImmutableSet<Variable> |
IQTreeTools.computeNewProjectedVariables(ImmutableSubstitution<? extends ImmutableTerm> descendingSubstitution,
com.google.common.collect.ImmutableSet<Variable> projectedVariables) |
Optional<InjectiveVar2VarSubstitution> |
IQTreeTools.extractFreshRenaming(ImmutableSubstitution<? extends VariableOrGroundTerm> descendingSubstitution,
com.google.common.collect.ImmutableSet<Variable> projectedVariables)
If the substitution is an fresh renaming, returns it as an injective substitution
|
protected Optional<ImmutableSubstitution<? extends VariableOrGroundTerm>> |
AbstractCompositeIQTree.normalizeDescendingSubstitution(ImmutableSubstitution<? extends VariableOrGroundTerm> descendingSubstitution) |
Optional<ImmutableSubstitution<? extends VariableOrGroundTerm>> |
IQTreeTools.normalizeDescendingSubstitution(IQTree tree,
ImmutableSubstitution<? extends VariableOrGroundTerm> descendingSubstitution)
Excludes the variables that are not projected by the IQTree
If a "null" variable is propagated down, throws an UnsatisfiableDescendingSubstitutionException.
|
| Modifier and Type | Method and Description |
|---|---|
void |
ConcreteIQTreeCacheImpl.setPossibleVariableDefinitions(com.google.common.collect.ImmutableSet<ImmutableSubstitution<NonVariableTerm>> possibleVariableDefinitions) |
| Constructor and Description |
|---|
ConcreteIQTreeCacheImpl(CoreSingletons coreSingletons,
boolean isNormalizedForOptimization,
boolean areDistinctAlreadyRemoved,
VariableNullability variableNullability,
com.google.common.collect.ImmutableSet<Variable> variables,
com.google.common.collect.ImmutableSet<Variable> notInternallyRequiredVariables,
com.google.common.collect.ImmutableSet<ImmutableSubstitution<NonVariableTerm>> possibleVariableDefinitions,
com.google.common.collect.ImmutableSet<com.google.common.collect.ImmutableSet<Variable>> uniqueConstraints,
Boolean isDistinct)
Internal constructor
|
| Modifier and Type | Method and Description |
|---|---|
ImmutableSubstitution<ImmutableFunctionalTerm> |
AggregationNode.getSubstitution() |
ImmutableSubstitution<ImmutableTerm> |
ConstructionNode.getSubstitution() |
ImmutableSubstitution<? extends ImmutableTerm> |
ExtendedProjectionNode.getSubstitution()
(Some) projected variable --> transformed variable
|
| Modifier and Type | Method and Description |
|---|---|
com.google.common.collect.ImmutableSet<ImmutableSubstitution<NonVariableTerm>> |
NaryOperatorNode.getPossibleVariableDefinitions(com.google.common.collect.ImmutableList<IQTree> children) |
com.google.common.collect.ImmutableSet<ImmutableSubstitution<NonVariableTerm>> |
UnaryOperatorNode.getPossibleVariableDefinitions(IQTree child) |
com.google.common.collect.ImmutableSet<ImmutableSubstitution<NonVariableTerm>> |
BinaryOrderedOperatorNode.getPossibleVariableDefinitions(IQTree leftChild,
IQTree rightChild) |
| Modifier and Type | Method and Description |
|---|---|
IQTree |
NaryOperatorNode.applyDescendingSubstitution(ImmutableSubstitution<? extends VariableOrGroundTerm> descendingSubstitution,
Optional<ImmutableExpression> constraint,
com.google.common.collect.ImmutableList<IQTree> children) |
IQTree |
UnaryOperatorNode.applyDescendingSubstitution(ImmutableSubstitution<? extends VariableOrGroundTerm> descendingSubstitution,
Optional<ImmutableExpression> constraint,
IQTree child) |
IQTree |
BinaryOrderedOperatorNode.applyDescendingSubstitution(ImmutableSubstitution<? extends VariableOrGroundTerm> descendingSubstitution,
Optional<ImmutableExpression> constraint,
IQTree leftChild,
IQTree rightChild) |
IQTree |
NaryOperatorNode.applyDescendingSubstitutionWithoutOptimizing(ImmutableSubstitution<? extends VariableOrGroundTerm> descendingSubstitution,
com.google.common.collect.ImmutableList<IQTree> children) |
IQTree |
UnaryOperatorNode.applyDescendingSubstitutionWithoutOptimizing(ImmutableSubstitution<? extends VariableOrGroundTerm> descendingSubstitution,
IQTree child) |
IQTree |
BinaryOrderedOperatorNode.applyDescendingSubstitutionWithoutOptimizing(ImmutableSubstitution<? extends VariableOrGroundTerm> descendingSubstitution,
IQTree leftChild,
IQTree rightChild) |
Optional<OrderByNode> |
OrderByNode.applySubstitution(ImmutableSubstitution<? extends ImmutableTerm> substitution) |
VariableNullability |
VariableNullability.update(ImmutableSubstitution<? extends ImmutableTerm> substitution,
com.google.common.collect.ImmutableSet<Variable> projectedVariables) |
VariableNullability |
DummyVariableNullability.update(ImmutableSubstitution<? extends ImmutableTerm> substitution,
com.google.common.collect.ImmutableSet<Variable> projectedVariables)
Deprecated.
|
| Modifier and Type | Field and Description |
|---|---|
ImmutableSubstitution<ImmutableTerm> |
ConstructionNodeTools.NewSubstitutionPair.bindings |
ImmutableSubstitution<T> |
ConstructionNodeImpl.PropagationResults.delta |
ImmutableSubstitution<? extends ImmutableTerm> |
ConstructionNodeTools.NewSubstitutionPair.propagatedSubstitution |
ImmutableSubstitution<ImmutableTerm> |
ConstructionNodeImpl.PropagationResults.theta |
| Modifier and Type | Method and Description |
|---|---|
ImmutableSubstitution<ImmutableTerm> |
ConstructionNodeImpl.getSubstitution() |
ImmutableSubstitution<ImmutableFunctionalTerm> |
AggregationNodeImpl.getSubstitution() |
| Modifier and Type | Method and Description |
|---|---|
com.google.common.collect.ImmutableSet<ImmutableSubstitution<NonVariableTerm>> |
LeafIQTreeImpl.getPossibleVariableDefinitions() |
com.google.common.collect.ImmutableSet<ImmutableSubstitution<NonVariableTerm>> |
InnerJoinNodeImpl.getPossibleVariableDefinitions(com.google.common.collect.ImmutableList<IQTree> children) |
com.google.common.collect.ImmutableSet<ImmutableSubstitution<NonVariableTerm>> |
UnionNodeImpl.getPossibleVariableDefinitions(com.google.common.collect.ImmutableList<IQTree> children) |
com.google.common.collect.ImmutableSet<ImmutableSubstitution<NonVariableTerm>> |
QueryModifierNodeImpl.getPossibleVariableDefinitions(IQTree child) |
com.google.common.collect.ImmutableSet<ImmutableSubstitution<NonVariableTerm>> |
ConstructionNodeImpl.getPossibleVariableDefinitions(IQTree child) |
com.google.common.collect.ImmutableSet<ImmutableSubstitution<NonVariableTerm>> |
AggregationNodeImpl.getPossibleVariableDefinitions(IQTree child) |
com.google.common.collect.ImmutableSet<ImmutableSubstitution<NonVariableTerm>> |
FilterNodeImpl.getPossibleVariableDefinitions(IQTree child) |
com.google.common.collect.ImmutableSet<ImmutableSubstitution<NonVariableTerm>> |
LeftJoinNodeImpl.getPossibleVariableDefinitions(IQTree leftChild,
IQTree rightChild)
Returns possible definitions for left and right-specific variables.
|
| Constructor and Description |
|---|
AggregationNodeImpl(com.google.common.collect.ImmutableSet<Variable> groupingVariables,
ImmutableSubstitution<ImmutableFunctionalTerm> substitution,
SubstitutionFactory substitutionFactory,
IntermediateQueryFactory iqFactory,
AggregationNormalizer aggregationNormalizer,
ImmutableUnificationTools unificationTools,
ConstructionNodeTools constructionNodeTools,
ImmutableSubstitutionTools substitutionTools,
TermFactory termFactory,
CoreUtilsFactory coreUtilsFactory,
OntopModelSettings settings) |
| Modifier and Type | Method and Description |
|---|---|
ImmutableSubstitution<ImmutableTerm> |
ConstructionSubstitutionNormalizer.ConstructionSubstitutionNormalization.getNormalizedSubstitution() |
ImmutableSubstitution<VariableOrGroundTerm> |
ConditionSimplifier.ExpressionAndSubstitution.getSubstitution() |
| Modifier and Type | Method and Description |
|---|---|
ConstructionSubstitutionNormalizer.ConstructionSubstitutionNormalization |
ConstructionSubstitutionNormalizer.normalizeSubstitution(ImmutableSubstitution<ImmutableTerm> ascendingSubstitution,
com.google.common.collect.ImmutableSet<Variable> projectedVariables) |
| Modifier and Type | Method and Description |
|---|---|
ImmutableSubstitution<ImmutableTerm> |
ConstructionSubstitutionNormalizerImpl.ConstructionSubstitutionNormalizationImpl.getNormalizedSubstitution() |
ImmutableSubstitution<VariableOrGroundTerm> |
ExpressionAndSubstitutionImpl.getSubstitution() |
| Modifier and Type | Method and Description |
|---|---|
R |
JoinLikeChildBindingLifter.BindingLiftConverter.convert(com.google.common.collect.ImmutableList<IQTree> liftedChildren,
IQTree selectedGrandChild,
int selectedChildPosition,
Optional<ImmutableExpression> newCondition,
ImmutableSubstitution<ImmutableTerm> ascendingSubstitution,
ImmutableSubstitution<? extends VariableOrGroundTerm> descendingSubstitution) |
R |
JoinLikeChildBindingLifter.BindingLiftConverter.convert(com.google.common.collect.ImmutableList<IQTree> liftedChildren,
IQTree selectedGrandChild,
int selectedChildPosition,
Optional<ImmutableExpression> newCondition,
ImmutableSubstitution<ImmutableTerm> ascendingSubstitution,
ImmutableSubstitution<? extends VariableOrGroundTerm> descendingSubstitution) |
ConstructionSubstitutionNormalizer.ConstructionSubstitutionNormalization |
ConstructionSubstitutionNormalizerImpl.normalizeSubstitution(ImmutableSubstitution<ImmutableTerm> ascendingSubstitution,
com.google.common.collect.ImmutableSet<Variable> projectedVariables)
Prevents creating construction nodes out of ascending substitutions
Here, variable nullability is not considered due to the complexity induced by the descending substitution
|
| Constructor and Description |
|---|
ExpressionAndSubstitutionImpl(Optional<ImmutableExpression> optionalExpression,
ImmutableSubstitution<? extends VariableOrGroundTerm> substitution) |
| Modifier and Type | Method and Description |
|---|---|
DefinitionPushDownRequest |
DefinitionPushDownRequest.newRequest(ImmutableSubstitution<? extends ImmutableTerm> substitution) |
| Modifier and Type | Method and Description |
|---|---|
DefinitionPushDownRequest |
DefPushDownRequestImpl.newRequest(ImmutableSubstitution<? extends ImmutableTerm> substitution) |
| Modifier and Type | Method and Description |
|---|---|
Optional<ImmutableSubstitution<ImmutableTerm>> |
ProjectionDecomposer.ProjectionDecomposition.getSubSubstitution() |
Optional<ImmutableSubstitution<ImmutableTerm>> |
ProjectionDecomposer.ProjectionDecomposition.getTopSubstitution() |
| Modifier and Type | Method and Description |
|---|---|
ProjectionDecomposer.ProjectionDecomposition |
ProjectionDecomposer.decomposeSubstitution(ImmutableSubstitution<? extends ImmutableTerm> substitution,
VariableGenerator variableGenerator) |
| Modifier and Type | Method and Description |
|---|---|
Optional<ImmutableSubstitution<ImmutableTerm>> |
ProjectionDecompositionImpl.getSubSubstitution() |
Optional<ImmutableSubstitution<ImmutableTerm>> |
ProjectionDecompositionImpl.getTopSubstitution() |
| Modifier and Type | Interface and Description |
|---|---|
interface |
IndempotentVar2VarSubstitution
Var-to-var substitution S satisfying the indempotency property:
S(x) = S(S(x) = S(S(S(...S(x)...)))
Concretely it means that its domain and its range do not intersect.
|
interface |
InjectiveVar2VarSubstitution
Var2VarSubstitution that is injective
(no value in the substitution map is shared by two keys)
|
interface |
Var2VarSubstitution
Substitution where variables are only mapped to variables
|
| Modifier and Type | Method and Description |
|---|---|
<T extends ImmutableTerm> |
InjectiveVar2VarSubstitution.applyRenaming(ImmutableSubstitution<T> substitutionToRename)
Applies it (the Var2VarSubstitution) on the keys and values of the given substitution.
|
ImmutableSubstitution<ImmutableTerm> |
ImmutableSubstitution.applyToTarget(ImmutableSubstitution<? extends ImmutableTerm> otherSubstitution)
Applies the current substitution to the "target" part of another substitution
|
ImmutableSubstitution<ImmutableTerm> |
ImmutableSubstitution.composeWith(ImmutableSubstitution<? extends ImmutableTerm> f)
Returns "(g o f)" where g is this substitution.
|
ImmutableSubstitution<T> |
ImmutableSubstitution.composeWith2(ImmutableSubstitution<? extends T> f) |
ImmutableSubstitution<ImmutableFunctionalTerm> |
ImmutableSubstitution.getFunctionalTermFragment() |
ImmutableSubstitution<GroundFunctionalTerm> |
ImmutableSubstitution.getGroundFunctionalTermFragment() |
ImmutableSubstitution<GroundTerm> |
ImmutableSubstitution.getGroundTermFragment() |
ImmutableSubstitution<NonFunctionalTerm> |
ImmutableSubstitution.getNonFunctionalTermFragment() |
ImmutableSubstitution<NonGroundFunctionalTerm> |
ImmutableSubstitution.getNonGroundFunctionalTermFragment() |
ImmutableSubstitution<NonVariableTerm> |
ImmutableSubstitution.getNonVariableTermFragment() |
<T extends ImmutableTerm> |
SubstitutionFactory.getSubstitution() |
<T extends ImmutableTerm> |
SubstitutionFactory.getSubstitution(com.google.common.collect.ImmutableMap<Variable,T> newSubstitutionMap) |
<T extends ImmutableTerm> |
SubstitutionFactory.getSubstitution(Variable k1,
T v1) |
<T extends ImmutableTerm> |
SubstitutionFactory.getSubstitution(Variable k1,
T v1,
Variable k2,
T v2) |
<T extends ImmutableTerm> |
SubstitutionFactory.getSubstitution(Variable k1,
T v1,
Variable k2,
T v2,
Variable k3,
T v3) |
<T extends ImmutableTerm> |
SubstitutionFactory.getSubstitution(Variable k1,
T v1,
Variable k2,
T v2,
Variable k3,
T v3,
Variable k4,
T v4) |
ImmutableSubstitution<VariableOrGroundTerm> |
ImmutableSubstitution.getVariableOrGroundTermFragment() |
ImmutableSubstitution<T> |
ImmutableSubstitution.orientate(com.google.common.collect.ImmutableList<Variable> priorityVariables)
Returns a "similar" substitution that avoids (if possible) to substitute certain variables.
|
ImmutableSubstitution<T> |
ImmutableSubstitution.reduceDomainToIntersectionWith(com.google.common.collect.ImmutableSet<Variable> restrictingDomain)
Reduces the substitution's domain to its intersection with the argument domain
|
ImmutableSubstitution<ImmutableTerm> |
ImmutableSubstitution.simplifyValues() |
ImmutableSubstitution<ImmutableTerm> |
ImmutableSubstitution.simplifyValues(VariableNullability variableNullability) |
| Modifier and Type | Method and Description |
|---|---|
<T extends ImmutableTerm> |
Var2VarSubstitution.applyToSubstitution(ImmutableSubstitution<T> substitution)
Applies the substitution to the domain and co-domain terns
Returns Optional.empty() if the results is not a substitution (incompatible entries)
|
Optional<ImmutableSubstitution<T>> |
ImmutableSubstitution.union(ImmutableSubstitution<T> otherSubstitution)
Because of the optional cannot be overloaded.
|
Optional<ImmutableSubstitution<? extends ImmutableTerm>> |
ImmutableSubstitution.unionHeterogeneous(ImmutableSubstitution<? extends ImmutableTerm> other)
TODO: explain
|
| Modifier and Type | Method and Description |
|---|---|
<T extends ImmutableTerm> |
InjectiveVar2VarSubstitution.applyRenaming(ImmutableSubstitution<T> substitutionToRename)
Applies it (the Var2VarSubstitution) on the keys and values of the given substitution.
|
<T extends ImmutableTerm> |
Var2VarSubstitution.applyToSubstitution(ImmutableSubstitution<T> substitution)
Applies the substitution to the domain and co-domain terns
Returns Optional.empty() if the results is not a substitution (incompatible entries)
|
ImmutableSubstitution<ImmutableTerm> |
ImmutableSubstitution.applyToTarget(ImmutableSubstitution<? extends ImmutableTerm> otherSubstitution)
Applies the current substitution to the "target" part of another substitution
|
ImmutableSubstitution<ImmutableTerm> |
ImmutableSubstitution.composeWith(ImmutableSubstitution<? extends ImmutableTerm> f)
Returns "(g o f)" where g is this substitution.
|
ImmutableSubstitution<T> |
ImmutableSubstitution.composeWith2(ImmutableSubstitution<? extends T> f) |
Optional<ImmutableSubstitution<T>> |
ImmutableSubstitution.union(ImmutableSubstitution<T> otherSubstitution)
Because of the optional cannot be overloaded.
|
Optional<ImmutableSubstitution<? extends ImmutableTerm>> |
ImmutableSubstitution.unionHeterogeneous(ImmutableSubstitution<? extends ImmutableTerm> other)
TODO: explain
|
| Modifier and Type | Class and Description |
|---|---|
class |
AbstractImmutableSubstitutionImpl<T extends ImmutableTerm>
Common abstract class for ImmutableSubstitutionImpl and Var2VarSubstitutionImpl
|
class |
ImmutableSubstitutionImpl<T extends ImmutableTerm>
Wrapper above an ImmutableMap
|
class |
IndempotentVar2VarSubstitutionImpl |
class |
InjectiveVar2VarSubstitutionImpl |
class |
Var2VarSubstitutionImpl
Immutable { Variable --> Variable } substitution.
|
| Modifier and Type | Field and Description |
|---|---|
ImmutableSubstitution<VariableOrGroundTerm> |
ImmutableUnificationTools.ArgumentMapUnification.substitution |
| Modifier and Type | Method and Description |
|---|---|
<T extends ImmutableTerm> |
InjectiveVar2VarSubstitutionImpl.applyRenaming(ImmutableSubstitution<T> substitutionToRename) |
ImmutableSubstitution<ImmutableTerm> |
AbstractImmutableSubstitutionImpl.applyToTarget(ImmutableSubstitution<? extends ImmutableTerm> otherSubstitution) |
ImmutableSubstitution<ImmutableTerm> |
AbstractImmutableSubstitutionImpl.composeWith(ImmutableSubstitution<? extends ImmutableTerm> f)
" "this o f"
Equivalent to the function x -> this.apply(f.apply(x))
Follows the formal definition of a the composition of two substitutions.
|
ImmutableSubstitution<T> |
AbstractImmutableSubstitutionImpl.composeWith2(ImmutableSubstitution<? extends T> g) |
protected ImmutableSubstitution<T> |
ImmutableSubstitutionImpl.constructNewSubstitution(com.google.common.collect.ImmutableMap<Variable,T> map) |
protected abstract ImmutableSubstitution<T> |
AbstractImmutableSubstitutionImpl.constructNewSubstitution(com.google.common.collect.ImmutableMap<Variable,T> map) |
protected ImmutableSubstitution<Variable> |
Var2VarSubstitutionImpl.constructNewSubstitution(com.google.common.collect.ImmutableMap<Variable,Variable> map) |
ImmutableSubstitution<ImmutableFunctionalTerm> |
AbstractImmutableSubstitutionImpl.getFunctionalTermFragment() |
ImmutableSubstitution<GroundFunctionalTerm> |
AbstractImmutableSubstitutionImpl.getGroundFunctionalTermFragment() |
ImmutableSubstitution<GroundTerm> |
ImmutableSubstitutionImpl.getGroundTermFragment() |
ImmutableSubstitution<GroundTerm> |
Var2VarSubstitutionImpl.getGroundTermFragment() |
ImmutableSubstitution<NonFunctionalTerm> |
AbstractImmutableSubstitutionImpl.getNonFunctionalTermFragment() |
ImmutableSubstitution<NonGroundFunctionalTerm> |
AbstractImmutableSubstitutionImpl.getNonGroundFunctionalTermFragment() |
ImmutableSubstitution<NonVariableTerm> |
AbstractImmutableSubstitutionImpl.getNonVariableTermFragment() |
<T extends ImmutableTerm> |
SubstitutionFactoryImpl.getSubstitution() |
<T extends ImmutableTerm> |
SubstitutionFactoryImpl.getSubstitution(com.google.common.collect.ImmutableMap<Variable,T> newSubstitutionMap) |
<T extends ImmutableTerm> |
SubstitutionFactoryImpl.getSubstitution(Variable k1,
T v1) |
<T extends ImmutableTerm> |
SubstitutionFactoryImpl.getSubstitution(Variable k1,
T v1,
Variable k2,
T v2) |
<T extends ImmutableTerm> |
SubstitutionFactoryImpl.getSubstitution(Variable k1,
T v1,
Variable k2,
T v2,
Variable k3,
T v3) |
<T extends ImmutableTerm> |
SubstitutionFactoryImpl.getSubstitution(Variable k1,
T v1,
Variable k2,
T v2,
Variable k3,
T v3,
Variable k4,
T v4) |
ImmutableSubstitution<VariableOrGroundTerm> |
AbstractImmutableSubstitutionImpl.getVariableOrGroundTermFragment() |
ImmutableSubstitution<T> |
AbstractImmutableSubstitutionImpl.orientate(com.google.common.collect.ImmutableList<Variable> priorityVariables) |
<T extends ImmutableTerm> |
ImmutableSubstitutionTools.prioritizeRenaming(ImmutableSubstitution<T> substitution,
com.google.common.collect.ImmutableSet<Variable> priorityVariables)
Prevents priority variables to be renamed into non-priority variables.
|
ImmutableSubstitution<T> |
AbstractImmutableSubstitutionImpl.reduceDomainToIntersectionWith(com.google.common.collect.ImmutableSet<Variable> restrictingDomain) |
ImmutableSubstitution<ImmutableTerm> |
AbstractImmutableSubstitutionImpl.simplifyValues() |
ImmutableSubstitution<ImmutableTerm> |
AbstractImmutableSubstitutionImpl.simplifyValues(Optional<VariableNullability> variableNullability) |
ImmutableSubstitution<ImmutableTerm> |
AbstractImmutableSubstitutionImpl.simplifyValues(VariableNullability variableNullability) |
| Modifier and Type | Method and Description |
|---|---|
<T extends ImmutableTerm> |
InjectiveVar2VarSubstitutionImpl.applyToSubstitution(ImmutableSubstitution<T> substitution)
More efficient implementation
|
<T extends ImmutableTerm> |
Var2VarSubstitutionImpl.applyToSubstitution(ImmutableSubstitution<T> substitution)
TODO: directly build an ImmutableMap
|
Optional<ImmutableSubstitution<VariableOrGroundTerm>> |
ImmutableUnificationTools.computeAtomMGUS(ImmutableSubstitution<VariableOrGroundTerm> substitution1,
ImmutableSubstitution<VariableOrGroundTerm> substitution2) |
Optional<ImmutableSubstitution<ImmutableTerm>> |
ImmutableUnificationTools.computeDirectedMGU(ImmutableTerm sourceTerm,
ImmutableTerm targetTerm)
Computes a MGU that reuses as much as possible the variables from the target part.
|
<T extends ImmutableTerm> |
ImmutableUnificationTools.computeMGU(com.google.common.collect.ImmutableList<T> args1,
com.google.common.collect.ImmutableList<T> args2)
TODO: explain
|
Optional<ImmutableSubstitution<ImmutableTerm>> |
ImmutableUnificationTools.computeMGUS(ImmutableSubstitution<? extends ImmutableTerm> substitution1,
ImmutableSubstitution<? extends ImmutableTerm> substitution2)
Computes one Most General Unifier (MGU) of (two) substitutions.
|
Optional<ImmutableSubstitution<NonFunctionalTerm>> |
ImmutableUnificationTools.computeMGUS2(ImmutableSubstitution<NonFunctionalTerm> s1,
ImmutableSubstitution<NonFunctionalTerm> s2)
TODO: make it replace computeMGUS()
|
Optional<ImmutableSubstitution<ImmutableTerm>> |
ImmutableSubstitutionTools.computeUnidirectionalSubstitution(ImmutableTerm sourceTerm,
ImmutableTerm targetTerm)
Returns a substitution theta (if it exists) such as :
theta(s) = t
with
s : source term
t: target term
|
<T extends ImmutableTerm> |
UnifierUtilities.getMGU(com.google.common.collect.ImmutableList<? extends ImmutableTerm> args1,
com.google.common.collect.ImmutableList<? extends ImmutableTerm> args2)
Computes the Most General Unifier (MGU) for two n-ary atoms.
|
Optional<ImmutableSubstitution<T>> |
AbstractImmutableSubstitutionImpl.union(ImmutableSubstitution<T> otherSubstitution) |
Optional<ImmutableSubstitution<? extends ImmutableTerm>> |
AbstractImmutableSubstitutionImpl.unionHeterogeneous(ImmutableSubstitution<? extends ImmutableTerm> otherSubstitution) |
| Modifier and Type | Method and Description |
|---|---|
<T extends ImmutableTerm> |
InjectiveVar2VarSubstitutionImpl.applyRenaming(ImmutableSubstitution<T> substitutionToRename) |
<T extends ImmutableTerm> |
InjectiveVar2VarSubstitutionImpl.applyToSubstitution(ImmutableSubstitution<T> substitution)
More efficient implementation
|
<T extends ImmutableTerm> |
Var2VarSubstitutionImpl.applyToSubstitution(ImmutableSubstitution<T> substitution)
TODO: directly build an ImmutableMap
|
ImmutableSubstitution<ImmutableTerm> |
AbstractImmutableSubstitutionImpl.applyToTarget(ImmutableSubstitution<? extends ImmutableTerm> otherSubstitution) |
ImmutableSubstitution<ImmutableTerm> |
AbstractImmutableSubstitutionImpl.composeWith(ImmutableSubstitution<? extends ImmutableTerm> f)
" "this o f"
Equivalent to the function x -> this.apply(f.apply(x))
Follows the formal definition of a the composition of two substitutions.
|
ImmutableSubstitution<T> |
AbstractImmutableSubstitutionImpl.composeWith2(ImmutableSubstitution<? extends T> g) |
Optional<ImmutableSubstitution<VariableOrGroundTerm>> |
ImmutableUnificationTools.computeAtomMGUS(ImmutableSubstitution<VariableOrGroundTerm> substitution1,
ImmutableSubstitution<VariableOrGroundTerm> substitution2) |
Optional<ImmutableSubstitution<VariableOrGroundTerm>> |
ImmutableUnificationTools.computeAtomMGUS(ImmutableSubstitution<VariableOrGroundTerm> substitution1,
ImmutableSubstitution<VariableOrGroundTerm> substitution2) |
Optional<ImmutableSubstitution<ImmutableTerm>> |
ImmutableUnificationTools.computeMGUS(ImmutableSubstitution<? extends ImmutableTerm> substitution1,
ImmutableSubstitution<? extends ImmutableTerm> substitution2)
Computes one Most General Unifier (MGU) of (two) substitutions.
|
Optional<ImmutableSubstitution<ImmutableTerm>> |
ImmutableUnificationTools.computeMGUS(ImmutableSubstitution<? extends ImmutableTerm> substitution1,
ImmutableSubstitution<? extends ImmutableTerm> substitution2)
Computes one Most General Unifier (MGU) of (two) substitutions.
|
Optional<ImmutableSubstitution<NonFunctionalTerm>> |
ImmutableUnificationTools.computeMGUS2(ImmutableSubstitution<NonFunctionalTerm> s1,
ImmutableSubstitution<NonFunctionalTerm> s2)
TODO: make it replace computeMGUS()
|
Optional<ImmutableSubstitution<NonFunctionalTerm>> |
ImmutableUnificationTools.computeMGUS2(ImmutableSubstitution<NonFunctionalTerm> s1,
ImmutableSubstitution<NonFunctionalTerm> s2)
TODO: make it replace computeMGUS()
|
protected Optional<com.google.common.collect.ImmutableMap<Variable,T>> |
AbstractImmutableSubstitutionImpl.computeUnionMap(ImmutableSubstitution<T> otherSubstitution)
In case some sub-classes wants to add a new unionXX method returning an optional in their own type.
|
protected Optional<ImmutableExpression> |
AbstractImmutableSubstitutionImpl.convertIntoBooleanExpression(ImmutableSubstitution<? extends ImmutableTerm> substitution) |
<T extends ImmutableTerm> |
ImmutableSubstitutionTools.prioritizeRenaming(ImmutableSubstitution<T> substitution,
com.google.common.collect.ImmutableSet<Variable> priorityVariables)
Prevents priority variables to be renamed into non-priority variables.
|
Optional<ImmutableSubstitution<T>> |
AbstractImmutableSubstitutionImpl.union(ImmutableSubstitution<T> otherSubstitution) |
Optional<ImmutableSubstitution<? extends ImmutableTerm>> |
AbstractImmutableSubstitutionImpl.unionHeterogeneous(ImmutableSubstitution<? extends ImmutableTerm> otherSubstitution) |
| Constructor and Description |
|---|
ArgumentMapUnification(com.google.common.collect.ImmutableMap<Integer,? extends VariableOrGroundTerm> argumentMap,
ImmutableSubstitution<VariableOrGroundTerm> substitution) |
Copyright © 2009–2020 Free University of Bozen-Bolzano. All rights reserved.