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(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<ImmutableTerm> subLexicalTerms,
it.unibz.inf.ontop.com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory) |
protected 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 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) |
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, tryToLiftMagicNumbersequals, getArity, getName, hashCode, toStringclone, finalize, 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(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms)
protected 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)
ReduciblePositiveAritySPARQLFunctionSymbolImplcomputeLexicalTerm in class ReduciblePositiveAritySPARQLFunctionSymbolImplprotected abstract ImmutableTerm computeDBBooleanTerm(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<ImmutableTerm> subLexicalTerms, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms, 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)
computeTypeTerm in class ReduciblePositiveAritySPARQLFunctionSymbolImplprotected 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 ReduciblePositiveAritySPARQLFunctionSymbolImplpublic boolean isAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms()
FunctionSymbolImplisAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms in class FunctionSymbolImplCopyright © 2009–2020 Free University of Bozen-Bolzano. All rights reserved.