public abstract class AbstractStrBeforeOrAfterSPARQLFunctionSymbol extends ReduciblePositiveAritySPARQLFunctionSymbolImpl
FunctionSymbol.FunctionalTermNullability| Modifier | Constructor and Description |
|---|---|
protected |
AbstractStrBeforeOrAfterSPARQLFunctionSymbol(String functionSymbolName,
org.apache.commons.rdf.api.IRI functionIRI,
RDFDatatype xsdStringType) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canBePostProcessed(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> arguments)
1.
|
protected abstract ImmutableTerm |
computeLexicalTermWhenSecondArgIsNotEmpty(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<ImmutableTerm> subLexicalTerms,
TermFactory termFactory) |
protected 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). |
Optional<TermTypeInference> |
inferType(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms)
Too complicated logic to determine if it is an XSD.STRING or a langString
|
boolean |
isAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms()
When the function symbol is, in the absence of non-injective functional sub-terms, sometimes but not always injective,
please override isInjective(...)
|
buildTermAfterEvaluation, computeLexicalTerm, tolerateNullsgetIRI, getOfficialNameextractLexicalTerm, extractRDFTermTypeTerm, isRDFFunctionalTerm, mayReturnNullWithoutNullArgumentsanalyzeInjectivity, canBeSafelyDecomposedIntoConjunction, decomposeInjectiveTopFunctionalTerm, enableIfElseNullLifting, evaluateIsNotNull, evaluateNullability, evaluateStrictEq, evaluateStrictEqWithFunctionalTerm, evaluateStrictEqWithNonNullConstant, getExpectedBaseType, getExpectedBaseTypes, isAggregation, isDeterministic, isInjective, isNullable, proposeProvenanceVariables, simplify, simplifyAsGuaranteedToBeNonNull, transformIntoRegularArguments, tryToLiftMagicNumbersequals, getArity, getName, hashCode, toStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitanalyzeInjectivity, evaluateIsNotNull, evaluateNullability, evaluateStrictEq, getExpectedBaseType, isAggregation, isDeterministic, isNullable, proposeProvenanceVariables, simplify, simplifyAsGuaranteedToBeNonNullprotected AbstractStrBeforeOrAfterSPARQLFunctionSymbol(@Nonnull String functionSymbolName, @Nonnull org.apache.commons.rdf.api.IRI functionIRI, RDFDatatype xsdStringType)
protected 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)
computeTypeTerm in class ReduciblePositiveAritySPARQLFunctionSymbolImplprotected abstract ImmutableTerm computeLexicalTermWhenSecondArgIsNotEmpty(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<ImmutableTerm> subLexicalTerms, TermFactory termFactory)
public boolean isAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms()
FunctionSymbolImplisAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms in class FunctionSymbolImplpublic Optional<TermTypeInference> inferType(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms)
public boolean canBePostProcessed(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> arguments)
FunctionSymbolprotected 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)
ReduciblePositiveAritySPARQLFunctionSymbolImpl---> 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 overriddenevaluateInputTypeError in class ReduciblePositiveAritySPARQLFunctionSymbolImplCopyright © 2009–2021 Free University of Bozen-Bolzano. All rights reserved.