public abstract class StringBooleanBinarySPARQLFunctionSymbolImpl extends ReduciblePositiveAritySPARQLFunctionSymbolImpl
FunctionSymbol.FunctionalTermNullability| Modifier | Constructor and Description |
|---|---|
protected |
StringBooleanBinarySPARQLFunctionSymbolImpl(String functionSymbolName,
org.apache.commons.rdf.api.IRI functionIRI,
RDFDatatype xsdStringType,
RDFDatatype xsdBooleanType) |
protected |
StringBooleanBinarySPARQLFunctionSymbolImpl(String functionSymbolName,
String officialName,
RDFDatatype xsdStringType,
RDFDatatype xsdBooleanType) |
| Modifier and Type | Method and Description |
|---|---|
protected abstract ImmutableTerm |
computeDBBooleanTerm(com.google.common.collect.ImmutableList<ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory) |
protected ImmutableTerm |
computeLexicalTerm(com.google.common.collect.ImmutableList<ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
ImmutableTerm returnedTypeTerm)
Compute the lexical term when there is no input type error
|
protected ImmutableTerm |
computeTypeTerm(com.google.common.collect.ImmutableList<? extends ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableExpression.Evaluation |
evaluateInputTypeError(com.google.common.collect.ImmutableList<ImmutableTerm> subLexicalTerms,
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(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms) |
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, tolerateNullsgetIRI, getOfficialNameextractLexicalTerm, extractRDFTermTypeTerm, isRDFFunctionalTerm, mayReturnNullWithoutNullArgumentsanalyzeInjectivity, canBeSafelyDecomposedIntoConjunction, decomposeInjectiveTopFunctionalTerm, enableIfElseNullLifting, evaluateIsNotNull, evaluateNullability, evaluateStrictEq, evaluateStrictEqWithFunctionalTerm, evaluateStrictEqWithNonNullConstant, getExpectedBaseType, getExpectedBaseTypes, isAggregation, isDeterministic, isInjective, isNullable, proposeProvenanceVariables, simplify, simplifyAsGuaranteedToBeNonNull, transformIntoRegularArguments, tryToLiftMagicNumbersclone, equals, getArity, getName, hashCode, toStringfinalize, getClass, notify, notifyAll, wait, wait, waitanalyzeInjectivity, canBePostProcessed, evaluateIsNotNull, evaluateNullability, evaluateStrictEq, getExpectedBaseType, isAggregation, isDeterministic, isNullable, proposeProvenanceVariables, simplify, simplifyAsGuaranteedToBeNonNullprotected StringBooleanBinarySPARQLFunctionSymbolImpl(@Nonnull String functionSymbolName, @Nonnull org.apache.commons.rdf.api.IRI functionIRI, RDFDatatype xsdStringType, RDFDatatype xsdBooleanType)
protected StringBooleanBinarySPARQLFunctionSymbolImpl(@Nonnull String functionSymbolName, @Nonnull String officialName, RDFDatatype xsdStringType, RDFDatatype xsdBooleanType)
public Optional<TermTypeInference> inferType(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms)
protected ImmutableTerm computeLexicalTerm(com.google.common.collect.ImmutableList<ImmutableTerm> subLexicalTerms, com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms, TermFactory termFactory, ImmutableTerm returnedTypeTerm)
ReduciblePositiveAritySPARQLFunctionSymbolImplcomputeLexicalTerm in class ReduciblePositiveAritySPARQLFunctionSymbolImplprotected abstract ImmutableTerm computeDBBooleanTerm(com.google.common.collect.ImmutableList<ImmutableTerm> subLexicalTerms, com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms, TermFactory termFactory)
protected ImmutableTerm computeTypeTerm(com.google.common.collect.ImmutableList<? extends ImmutableTerm> subLexicalTerms, com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms, TermFactory termFactory, VariableNullability variableNullability)
computeTypeTerm in class ReduciblePositiveAritySPARQLFunctionSymbolImplprotected ImmutableExpression.Evaluation evaluateInputTypeError(com.google.common.collect.ImmutableList<ImmutableTerm> subLexicalTerms, com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms, TermFactory termFactory, VariableNullability variableNullability)
ReduciblePositiveAritySPARQLFunctionSymbolImplevaluateInputTypeError in class ReduciblePositiveAritySPARQLFunctionSymbolImplpublic boolean isAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms()
FunctionSymbolImplisAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms in class FunctionSymbolImplCopyright © 2009–2020 Free University of Bozen-Bolzano. All rights reserved.