public abstract class ReduciblePositiveAritySPARQLFunctionSymbolImpl extends SPARQLFunctionSymbolImpl
>= 1 FunctionSymbol.FunctionalTermNullability| Modifier | Constructor and Description |
|---|---|
protected |
ReduciblePositiveAritySPARQLFunctionSymbolImpl(String functionSymbolName,
org.apache.commons.rdf.api.IRI functionIRI,
it.unibz.inf.ontop.com.google.common.collect.ImmutableList<TermType> expectedBaseTypes) |
protected |
ReduciblePositiveAritySPARQLFunctionSymbolImpl(String functionSymbolName,
String officialName,
it.unibz.inf.ontop.com.google.common.collect.ImmutableList<TermType> expectedBaseTypes) |
| Modifier and Type | Method and Description |
|---|---|
protected ImmutableTerm |
buildTermAfterEvaluation(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability)
By default, just build a new functional term.
|
protected abstract ImmutableTerm |
computeLexicalTerm(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<ImmutableTerm> subLexicalTerms,
it.unibz.inf.ontop.com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
ImmutableTerm returnedTypeTerm)
Compute the lexical term when there is no input type error
|
protected abstract ImmutableTerm |
computeTypeTerm(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> subLexicalTerms,
it.unibz.inf.ontop.com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableExpression.Evaluation |
evaluateInputTypeError(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<ImmutableTerm> subLexicalTerms,
it.unibz.inf.ontop.com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability)
MUST detect ALL the cases where the SPARQL function would produce an error (that is a NULL)
---> the resulting condition must determine if the output of the SPARQL function is NULL (evaluates to FALSE or NULL)
or not (evaluates to TRUE). |
protected boolean |
tolerateNulls()
By default, does not tolerate receiving NULLs (SPARQL errors) as input
|
getIRI, getOfficialNameextractLexicalTerm, extractRDFTermTypeTerm, isRDFFunctionalTerm, mayReturnNullWithoutNullArgumentsanalyzeInjectivity, canBeSafelyDecomposedIntoConjunction, decomposeInjectiveTopFunctionalTerm, enableIfElseNullLifting, evaluateIsNotNull, evaluateNullability, evaluateStrictEq, evaluateStrictEqWithFunctionalTerm, evaluateStrictEqWithNonNullConstant, getExpectedBaseType, getExpectedBaseTypes, isAggregation, isAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms, isDeterministic, isInjective, isNullable, proposeProvenanceVariables, simplify, simplifyAsGuaranteedToBeNonNull, transformIntoRegularArguments, tryToLiftMagicNumbersequals, getArity, getName, hashCode, toStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitanalyzeInjectivity, canBePostProcessed, evaluateIsNotNull, evaluateNullability, evaluateStrictEq, getExpectedBaseType, inferType, isAggregation, isDeterministic, isNullable, proposeProvenanceVariables, simplify, simplifyAsGuaranteedToBeNonNullprotected ReduciblePositiveAritySPARQLFunctionSymbolImpl(@Nonnull String functionSymbolName, @Nonnull org.apache.commons.rdf.api.IRI functionIRI, @Nonnull it.unibz.inf.ontop.com.google.common.collect.ImmutableList<TermType> expectedBaseTypes)
protected final ImmutableTerm buildTermAfterEvaluation(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<ImmutableTerm> newTerms, TermFactory termFactory, VariableNullability variableNullability)
FunctionSymbolImplbuildTermAfterEvaluation in class FunctionSymbolImplprotected boolean tolerateNulls()
tolerateNulls in class FunctionSymbolImplprotected ImmutableExpression.Evaluation evaluateInputTypeError(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<ImmutableTerm> subLexicalTerms, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms, TermFactory termFactory, VariableNullability variableNullability)
---> the resulting condition must determine if the output of the SPARQL function is NULL (evaluates to FALSE or NULL)
or not (evaluates to TRUE).
Default implementation, can be overriddenprotected abstract ImmutableTerm computeLexicalTerm(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<ImmutableTerm> subLexicalTerms, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms, TermFactory termFactory, ImmutableTerm returnedTypeTerm)
protected abstract ImmutableTerm computeTypeTerm(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> subLexicalTerms, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms, TermFactory termFactory, VariableNullability variableNullability)
Copyright © 2009–2020 Free University of Bozen-Bolzano. All rights reserved.