public interface ImmutableFunctionalTerm extends NonVariableTerm, NonConstantTerm
| Modifier and Type | Interface and Description |
|---|---|
static interface |
ImmutableFunctionalTerm.FunctionalTermDecomposition |
| Modifier and Type | Method and Description |
|---|---|
Optional<ImmutableFunctionalTerm.FunctionalTermDecomposition> |
analyzeInjectivity(it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Variable> nonFreeVariables,
VariableNullability variableNullability,
VariableGenerator variableGenerator)
Returns an empty optional when no decomposition is possible
In the decomposition, the liftable term is injective.
|
boolean |
canBePostProcessed()
Returns true if it can be post-processed modulo some decomposition
(i.e.
|
int |
getArity() |
FunctionSymbol |
getFunctionSymbol() |
ImmutableTerm |
getTerm(int index) |
it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> |
getTerms() |
it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Variable> |
getVariables() |
default Optional<TermTypeInference> |
inferType()
Returns empty when no TermType has been inferred (missing information or fatal error)
and no non-fatal error has been detected.
|
Stream<Variable> |
proposeProvenanceVariables()
Returns some variables are required to non-null for the functional term to be non-null.
|
FunctionalTermSimplification |
simplifyAsGuaranteedToBeNonNull()
In some occasions, we now that a functional term will never produce a NULL in a given context
(e.g.
|
isNullevaluateIsNotNull, evaluateStrictEq, getVariableStream, isGround, isNullable, simplify, simplifyit.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> getTerms()
ImmutableTerm getTerm(int index)
FunctionSymbol getFunctionSymbol()
int getArity()
it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Variable> getVariables()
default Optional<TermTypeInference> inferType()
ImmutableTerminferType in interface ImmutableTermboolean canBePostProcessed()
Optional<ImmutableFunctionalTerm.FunctionalTermDecomposition> analyzeInjectivity(it.unibz.inf.ontop.com.google.common.collect.ImmutableSet<Variable> nonFreeVariables, VariableNullability variableNullability, VariableGenerator variableGenerator)
Stream<Variable> proposeProvenanceVariables()
FunctionalTermSimplification simplifyAsGuaranteedToBeNonNull()
Copyright © 2009–2020 Free University of Bozen-Bolzano. All rights reserved.