public class DefaultDBAndFunctionSymbol extends AbstractDBBooleanConnectorFunctionSymbol implements DBAndFunctionSymbol
FunctionSymbol.FunctionalTermNullability| Modifier | Constructor and Description |
|---|---|
protected |
DefaultDBAndFunctionSymbol(String nameInDialect,
int arity,
DBTermType dbBooleanTermType) |
| 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(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability)
NB: terms are assumed to be either TRUE, FALSE, NULL or ImmutableExpressions.
|
boolean |
canBePostProcessed(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> arguments)
1.
|
String |
getNativeDBString(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
Function<ImmutableTerm,String> termConverter,
TermFactory termFactory)
Returns a String in the native query language.
|
boolean |
isAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms()
When the function symbol is, in the absence of non-injective functional sub-terms, sometimes but not always injective,
please override isInjective(...)
|
ImmutableExpression |
negate(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> subTerms,
TermFactory termFactory)
Usually NOT supported when the function symbol blocks negation.
|
protected it.unibz.inf.ontop.com.google.common.collect.ImmutableList<ImmutableTerm> |
simplify2VLInteractions(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected it.unibz.inf.ontop.com.google.common.collect.ImmutableList<ImmutableTerm> |
simplifyInteractions(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability)
Look at the interaction between conjuncts
|
simplify2VL, simplifyIsNullOrIsNotNull, tolerateNulls, transformIntoRegularArgumentsinBrackets, isPreferringToBePostProcessedOverBeingBlocked, mayReturnNullWithoutNullArgumentsenableIfElseNullLifting, inferType, tryToLiftIfThenTerm, tryToLiftMagicNumbersanalyzeInjectivity, canBeSafelyDecomposedIntoConjunction, decomposeInjectiveTopFunctionalTerm, evaluateIsNotNull, evaluateNullability, evaluateStrictEq, evaluateStrictEqWithFunctionalTerm, evaluateStrictEqWithNonNullConstant, getExpectedBaseType, getExpectedBaseTypes, isAggregation, isDeterministic, isInjective, isNullable, proposeProvenanceVariables, simplify, simplifyAsGuaranteedToBeNonNull, tryToLiftMagicNumbersequals, getArity, getName, hashCode, toStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitsimplify2VLisPreferringToBePostProcessedOverBeingBlockedanalyzeInjectivity, evaluateIsNotNull, evaluateNullability, evaluateStrictEq, getExpectedBaseType, inferType, isAggregation, isDeterministic, isNullable, proposeProvenanceVariables, simplify, simplifyAsGuaranteedToBeNonNullprotected DefaultDBAndFunctionSymbol(String nameInDialect, int arity, DBTermType dbBooleanTermType)
public boolean isAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms()
FunctionSymbolImplisAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms in class FunctionSymbolImplpublic boolean canBePostProcessed(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> arguments)
FunctionSymbolcanBePostProcessed in interface FunctionSymbolprotected ImmutableTerm buildTermAfterEvaluation(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<ImmutableTerm> newTerms, TermFactory termFactory, VariableNullability variableNullability)
buildTermAfterEvaluation in class BooleanFunctionSymbolImplprotected it.unibz.inf.ontop.com.google.common.collect.ImmutableList<ImmutableTerm> simplifyInteractions(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<ImmutableTerm> newTerms, TermFactory termFactory, VariableNullability variableNullability)
protected it.unibz.inf.ontop.com.google.common.collect.ImmutableList<ImmutableTerm> simplify2VLInteractions(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<ImmutableTerm> newTerms, TermFactory termFactory, VariableNullability variableNullability)
simplify2VLInteractions in class AbstractDBBooleanConnectorFunctionSymbolpublic String getNativeDBString(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms, Function<ImmutableTerm,String> termConverter, TermFactory termFactory)
DBFunctionSymbolSerializergetNativeDBString in interface DBFunctionSymbolSerializerpublic boolean blocksNegation()
BooleanFunctionSymbolblocksNegation in interface BooleanFunctionSymbolpublic ImmutableExpression negate(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> subTerms, TermFactory termFactory)
BooleanFunctionSymbolnegate in interface BooleanFunctionSymbolCopyright © 2009–2021 Free University of Bozen-Bolzano. All rights reserved.