public class MinOrMaxSPARQLFunctionSymbolImpl extends SPARQLFunctionSymbolImpl implements SPARQLAggregationFunctionSymbol
SPARQLAggregationFunctionSymbol.AggregationSimplificationFunctionSymbol.FunctionalTermNullability| Modifier | Constructor and Description |
|---|---|
protected |
MinOrMaxSPARQLFunctionSymbolImpl(String name,
String officialName,
TypeFactory typeFactory,
boolean isMax) |
protected |
MinOrMaxSPARQLFunctionSymbolImpl(TypeFactory typeFactory,
boolean isMax) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canBePostProcessed(com.google.common.collect.ImmutableList<? extends ImmutableTerm> arguments)
1.
|
Optional<SPARQLAggregationFunctionSymbol.AggregationSimplification> |
decomposeIntoDBAggregation(com.google.common.collect.ImmutableList<? extends ImmutableTerm> subTerms,
com.google.common.collect.ImmutableList<com.google.common.collect.ImmutableSet<RDFTermType>> possibleRDFTypes,
boolean hasGroupBy,
VariableNullability variableNullability,
VariableGenerator variableGenerator,
TermFactory termFactory)
TODO: put it into common in an abstract class
|
Constant |
evaluateEmptyBag(TermFactory termFactory) |
Optional<TermTypeInference> |
inferType(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms)
Too complex to be implemented for the moment
|
boolean |
isAggregation()
By default, assume it is not an aggregation function symbol
To be overridden when needed
|
boolean |
isAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms()
When the function symbol is, in the absence of non-injective functional sub-terms, sometimes but not always injective,
please override isInjective(...)
|
boolean |
isNullable(com.google.common.collect.ImmutableSet<Integer> nullableIndexes)
By default, to be overridden by function symbols that supports tolerate NULL values
|
protected boolean |
tolerateNulls()
Returns true if is not guaranteed to return NULL when one argument is NULL.
|
getIRI, getOfficialNameextractLexicalTerm, extractRDFTermTypeTerm, isRDFFunctionalTerm, mayReturnNullWithoutNullArgumentsanalyzeInjectivity, buildTermAfterEvaluation, canBeSafelyDecomposedIntoConjunction, decomposeInjectiveTopFunctionalTerm, enableIfElseNullLifting, evaluateIsNotNull, evaluateNullability, evaluateStrictEq, evaluateStrictEqWithFunctionalTerm, evaluateStrictEqWithNonNullConstant, getExpectedBaseType, getExpectedBaseTypes, isDeterministic, isInjective, proposeProvenanceVariables, simplify, simplifyAsGuaranteedToBeNonNull, transformIntoRegularArguments, tryToLiftMagicNumbersequals, getArity, getName, hashCode, toStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitgetIRI, getOfficialNameanalyzeInjectivity, evaluateIsNotNull, evaluateNullability, evaluateStrictEq, getExpectedBaseType, isDeterministic, proposeProvenanceVariables, simplify, simplifyAsGuaranteedToBeNonNullprotected MinOrMaxSPARQLFunctionSymbolImpl(TypeFactory typeFactory, boolean isMax)
protected MinOrMaxSPARQLFunctionSymbolImpl(String name, String officialName, TypeFactory typeFactory, boolean isMax)
protected boolean tolerateNulls()
FunctionSymbolImpltolerateNulls in class FunctionSymbolImplpublic boolean isAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms()
FunctionSymbolImplisAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms in class FunctionSymbolImplpublic boolean isAggregation()
FunctionSymbolImplisAggregation in interface FunctionSymbolisAggregation in class FunctionSymbolImplpublic Optional<TermTypeInference> inferType(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms)
inferType in interface FunctionSymbolpublic boolean canBePostProcessed(com.google.common.collect.ImmutableList<? extends ImmutableTerm> arguments)
FunctionSymbolcanBePostProcessed in interface FunctionSymbolpublic boolean isNullable(com.google.common.collect.ImmutableSet<Integer> nullableIndexes)
FunctionSymbolImplisNullable in interface FunctionSymbolisNullable in class FunctionSymbolImplpublic Optional<SPARQLAggregationFunctionSymbol.AggregationSimplification> decomposeIntoDBAggregation(com.google.common.collect.ImmutableList<? extends ImmutableTerm> subTerms, com.google.common.collect.ImmutableList<com.google.common.collect.ImmutableSet<RDFTermType>> possibleRDFTypes, boolean hasGroupBy, VariableNullability variableNullability, VariableGenerator variableGenerator, TermFactory termFactory)
decomposeIntoDBAggregation in interface SPARQLAggregationFunctionSymbolpublic Constant evaluateEmptyBag(TermFactory termFactory)
evaluateEmptyBag in interface AggregationFunctionSymbolCopyright © 2009–2020 Free University of Bozen-Bolzano. All rights reserved.