public abstract class AbstractLexicalNonStrictEqOrInequalityFunctionSymbol extends BooleanFunctionSymbolImpl
FunctionSymbol.FunctionalTermNullability| Modifier | Constructor and Description |
|---|---|
protected |
AbstractLexicalNonStrictEqOrInequalityFunctionSymbol(String functionSymbolName,
MetaRDFTermType metaRDFTermType,
RDFDatatype xsdBooleanType,
RDFDatatype xsdDateTimeType,
RDFDatatype xsdStringType,
DBTermType dbStringType,
DBTermType dbBooleanType,
RDFDatatype xsdDateTimeStampType,
RDFDatatype xsdDate) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
blocksNegation()
Returns TRUE if the NOT operator has to stay ABOVE the expression
(i.e.
|
protected ImmutableTerm |
buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability)
By default, just build a new functional term.
|
boolean |
canBePostProcessed(com.google.common.collect.ImmutableList<? extends ImmutableTerm> arguments)
1.
|
protected abstract ImmutableTerm |
computeBooleanEqualityOrInequality(ImmutableTerm dbTerm1,
ImmutableTerm dbTerm2,
TermFactory termFactory,
VariableNullability variableNullability) |
protected abstract ImmutableTerm |
computeDateEqualityOrInequality(ImmutableTerm dbTerm1,
ImmutableTerm dbTerm2,
TermFactory termFactory,
VariableNullability variableNullability) |
protected abstract ImmutableTerm |
computeDatetimeEqualityOrInequality(ImmutableTerm dbTerm1,
ImmutableTerm dbTerm2,
TermFactory termFactory,
VariableNullability variableNullability) |
protected abstract ImmutableTerm |
computeDefaultDifferentTypeEqualityOrInequality(RDFTermType termType1,
RDFTermType termType2,
TermFactory termFactory) |
protected abstract ImmutableTerm |
computeDefaultSameTypeEqualityOrInequality(RDFTermType termType,
ImmutableTerm dbTerm1,
ImmutableTerm dbTerm2,
TermFactory termFactory,
VariableNullability variableNullability) |
protected abstract ImmutableTerm |
computeNumericEqualityOrInequality(ImmutableTerm dbTerm1,
ImmutableTerm dbTerm2,
TermFactory termFactory,
VariableNullability variableNullability) |
protected abstract ImmutableTerm |
computeStringEqualityOrInequality(ImmutableTerm dbTerm1,
ImmutableTerm dbTerm2,
TermFactory termFactory,
VariableNullability variableNullability) |
boolean |
isAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms()
When the function symbol is, in the absence of non-injective functional sub-terms, sometimes but not always injective,
please override isInjective(...)
|
protected boolean |
mayReturnNullWithoutNullArguments()
Returns false when a functional term with this symbol:
1.
|
ImmutableExpression |
negate(com.google.common.collect.ImmutableList<? extends ImmutableTerm> subTerms,
TermFactory termFactory)
Usually NOT supported when the function symbol blocks negation.
|
protected ImmutableTerm |
simplifyWithConstantTypes(TermFactory termFactory,
VariableNullability variableNullability,
DBTypeFactory dbTypeFactory,
ImmutableTerm lexicalTerm1,
ImmutableTerm lexicalTerm2,
RDFTermTypeConstant typeTerm1,
RDFTermTypeConstant typeTerm2) |
protected boolean |
tolerateNulls()
Returns true if is not guaranteed to return NULL when one argument is NULL.
|
enableIfElseNullLifting, inferType, tryToLiftIfThenTerm, tryToLiftMagicNumbersanalyzeInjectivity, canBeSafelyDecomposedIntoConjunction, decomposeInjectiveTopFunctionalTerm, 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, waitsimplify2VLanalyzeInjectivity, evaluateIsNotNull, evaluateNullability, evaluateStrictEq, getExpectedBaseType, isAggregation, isDeterministic, isNullable, proposeProvenanceVariables, simplify, simplifyAsGuaranteedToBeNonNullprotected AbstractLexicalNonStrictEqOrInequalityFunctionSymbol(String functionSymbolName, MetaRDFTermType metaRDFTermType, RDFDatatype xsdBooleanType, RDFDatatype xsdDateTimeType, RDFDatatype xsdStringType, DBTermType dbStringType, DBTermType dbBooleanType, RDFDatatype xsdDateTimeStampType, RDFDatatype xsdDate)
protected boolean tolerateNulls()
FunctionSymbolImpltolerateNulls in class FunctionSymbolImplprotected boolean mayReturnNullWithoutNullArguments()
FunctionSymbolImplmayReturnNullWithoutNullArguments in class FunctionSymbolImplpublic boolean isAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms()
FunctionSymbolImplisAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms in class FunctionSymbolImplpublic boolean canBePostProcessed(com.google.common.collect.ImmutableList<? extends ImmutableTerm> arguments)
FunctionSymbolprotected ImmutableTerm buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms, TermFactory termFactory, VariableNullability variableNullability)
FunctionSymbolImplbuildTermAfterEvaluation in class BooleanFunctionSymbolImplprotected ImmutableTerm simplifyWithConstantTypes(TermFactory termFactory, VariableNullability variableNullability, DBTypeFactory dbTypeFactory, ImmutableTerm lexicalTerm1, ImmutableTerm lexicalTerm2, RDFTermTypeConstant typeTerm1, RDFTermTypeConstant typeTerm2)
public boolean blocksNegation()
BooleanFunctionSymbolpublic ImmutableExpression negate(com.google.common.collect.ImmutableList<? extends ImmutableTerm> subTerms, TermFactory termFactory)
BooleanFunctionSymbolprotected abstract ImmutableTerm computeNumericEqualityOrInequality(ImmutableTerm dbTerm1, ImmutableTerm dbTerm2, TermFactory termFactory, VariableNullability variableNullability)
protected abstract ImmutableTerm computeBooleanEqualityOrInequality(ImmutableTerm dbTerm1, ImmutableTerm dbTerm2, TermFactory termFactory, VariableNullability variableNullability)
protected abstract ImmutableTerm computeStringEqualityOrInequality(ImmutableTerm dbTerm1, ImmutableTerm dbTerm2, TermFactory termFactory, VariableNullability variableNullability)
protected abstract ImmutableTerm computeDatetimeEqualityOrInequality(ImmutableTerm dbTerm1, ImmutableTerm dbTerm2, TermFactory termFactory, VariableNullability variableNullability)
protected abstract ImmutableTerm computeDefaultSameTypeEqualityOrInequality(RDFTermType termType, ImmutableTerm dbTerm1, ImmutableTerm dbTerm2, TermFactory termFactory, VariableNullability variableNullability)
protected abstract ImmutableTerm computeDefaultDifferentTypeEqualityOrInequality(RDFTermType termType1, RDFTermType termType2, TermFactory termFactory)
protected abstract ImmutableTerm computeDateEqualityOrInequality(ImmutableTerm dbTerm1, ImmutableTerm dbTerm2, TermFactory termFactory, VariableNullability variableNullability)
Copyright © 2009–2020 Free University of Bozen-Bolzano. All rights reserved.