| Modifier and Type | Method and Description |
|---|---|
ExtensionalDataNode |
IntermediateQueryFactory.createExtensionalDataNode(RelationDefinition relationDefinition,
com.google.common.collect.ImmutableMap<Integer,? extends VariableOrGroundTerm> argumentMap,
VariableNullability variableNullability) |
NativeNode |
IntermediateQueryFactory.createNativeNode(com.google.common.collect.ImmutableSortedSet<Variable> variables,
com.google.common.collect.ImmutableMap<Variable,DBTermType> variableTypeMap,
com.google.common.collect.ImmutableMap<Variable,QuotedID> columnNames,
String nativeQueryString,
VariableNullability variableNullability) |
| Modifier and Type | Method and Description |
|---|---|
VariableNullability |
ConcreteIQTreeCache.getVariableNullability() |
VariableNullability |
IQTree.getVariableNullability() |
| Modifier and Type | Method and Description |
|---|---|
void |
ConcreteIQTreeCache.setVariableNullability(VariableNullability variableNullability)
Can only be set ONCE!
|
| Modifier and Type | Method and Description |
|---|---|
protected VariableNullability |
BinaryNonCommutativeIQTreeImpl.computeVariableNullability() |
protected VariableNullability |
NaryIQTreeImpl.computeVariableNullability() |
protected abstract VariableNullability |
AbstractCompositeIQTree.computeVariableNullability() |
protected VariableNullability |
UnaryIQTreeImpl.computeVariableNullability() |
VariableNullability |
ConcreteIQTreeCacheImpl.getVariableNullability() |
VariableNullability |
AbstractCompositeIQTree.getVariableNullability() |
| Modifier and Type | Method and Description |
|---|---|
void |
ConcreteIQTreeCacheImpl.setVariableNullability(VariableNullability variableNullability) |
| Constructor and Description |
|---|
ConcreteIQTreeCacheImpl(CoreSingletons coreSingletons,
boolean isNormalizedForOptimization,
boolean areDistinctAlreadyRemoved,
VariableNullability variableNullability,
com.google.common.collect.ImmutableSet<Variable> variables,
com.google.common.collect.ImmutableSet<Variable> notInternallyRequiredVariables,
com.google.common.collect.ImmutableSet<ImmutableSubstitution<NonVariableTerm>> possibleVariableDefinitions,
com.google.common.collect.ImmutableSet<com.google.common.collect.ImmutableSet<Variable>> uniqueConstraints,
Boolean isDistinct)
Internal constructor
|
| Modifier and Type | Interface and Description |
|---|---|
interface |
DummyVariableNullability |
| Modifier and Type | Method and Description |
|---|---|
VariableNullability |
VariableNullability.applyFreshRenaming(InjectiveVar2VarSubstitution freshRenamingSubstitution) |
VariableNullability |
DummyVariableNullability.applyFreshRenaming(InjectiveVar2VarSubstitution freshRenamingSubstitution)
Deprecated.
|
VariableNullability |
NaryOperatorNode.getVariableNullability(com.google.common.collect.ImmutableList<IQTree> children) |
VariableNullability |
UnaryOperatorNode.getVariableNullability(IQTree child) |
VariableNullability |
BinaryOrderedOperatorNode.getVariableNullability(IQTree leftChild,
IQTree rightChild) |
VariableNullability |
VariableNullability.update(ImmutableSubstitution<? extends ImmutableTerm> substitution,
com.google.common.collect.ImmutableSet<Variable> projectedVariables) |
VariableNullability |
DummyVariableNullability.update(ImmutableSubstitution<? extends ImmutableTerm> substitution,
com.google.common.collect.ImmutableSet<Variable> projectedVariables)
Deprecated.
|
| Modifier and Type | Class and Description |
|---|---|
class |
DummyVariableNullabilityImpl |
class |
VariableNullabilityImpl |
| Modifier and Type | Method and Description |
|---|---|
VariableNullability |
DummyVariableNullabilityImpl.applyFreshRenaming(InjectiveVar2VarSubstitution freshRenamingSubstitution) |
VariableNullability |
VariableNullabilityImpl.applyFreshRenaming(InjectiveVar2VarSubstitution freshRenamingSubstitution) |
VariableNullability |
JoinOrFilterVariableNullabilityTools.getChildrenVariableNullability(com.google.common.collect.ImmutableList<IQTree> children) |
VariableNullability |
JoinOrFilterVariableNullabilityTools.getDummyVariableNullability(com.google.common.collect.ImmutableSet<Variable> variables) |
VariableNullability |
EmptyNodeImpl.getVariableNullability() |
VariableNullability |
NativeNodeImpl.getVariableNullability() |
VariableNullability |
TrueNodeImpl.getVariableNullability() |
VariableNullability |
IntensionalDataNodeImpl.getVariableNullability() |
VariableNullability |
ExtensionalDataNodeImpl.getVariableNullability() |
VariableNullability |
InnerJoinNodeImpl.getVariableNullability(com.google.common.collect.ImmutableList<IQTree> children) |
VariableNullability |
UnionNodeImpl.getVariableNullability(com.google.common.collect.ImmutableList<IQTree> children) |
VariableNullability |
JoinOrFilterVariableNullabilityTools.getVariableNullability(com.google.common.collect.ImmutableList<IQTree> children,
Optional<ImmutableExpression> joiningCondition) |
VariableNullability |
QueryModifierNodeImpl.getVariableNullability(IQTree child) |
VariableNullability |
ExtendedProjectionNodeImpl.getVariableNullability(IQTree child) |
VariableNullability |
FilterNodeImpl.getVariableNullability(IQTree child) |
VariableNullability |
LeftJoinNodeImpl.getVariableNullability(IQTree leftChild,
IQTree rightChild)
Variable nullability for the full LJ tree
|
VariableNullability |
DummyVariableNullabilityImpl.update(ImmutableSubstitution<? extends ImmutableTerm> substitution,
com.google.common.collect.ImmutableSet<Variable> projectedVariables)
Deprecated.
|
VariableNullability |
VariableNullabilityImpl.update(ImmutableSubstitution<? extends ImmutableTerm> substitution,
com.google.common.collect.ImmutableSet<Variable> newScope) |
VariableNullability |
JoinOrFilterVariableNullabilityTools.updateWithFilter(ImmutableExpression filter,
com.google.common.collect.ImmutableSet<com.google.common.collect.ImmutableSet<Variable>> nullableGroups,
com.google.common.collect.ImmutableSet<Variable> scope) |
| Modifier and Type | Method and Description |
|---|---|
Optional<ImmutableExpression> |
ConditionSimplifier.computeDownConstraint(Optional<ImmutableExpression> optionalConstraint,
ConditionSimplifier.ExpressionAndSubstitution conditionSimplificationResults,
VariableNullability childVariableNullability) |
ConditionSimplifier.ExpressionAndSubstitution |
ConditionSimplifier.simplifyCondition(ImmutableExpression expression,
VariableNullability variableNullability) |
ConditionSimplifier.ExpressionAndSubstitution |
ConditionSimplifier.simplifyCondition(Optional<ImmutableExpression> nonOptimizedExpression,
com.google.common.collect.ImmutableSet<Variable> nonLiftableVariables,
VariableNullability variableNullability) |
| Modifier and Type | Method and Description |
|---|---|
Optional<ImmutableExpression> |
ConditionSimplifierImpl.computeDownConstraint(Optional<ImmutableExpression> optionalConstraint,
ConditionSimplifier.ExpressionAndSubstitution conditionSimplificationResults,
VariableNullability childVariableNullability) |
<R> R |
JoinLikeChildBindingLifter.liftRegularChildBinding(ConstructionNode selectedChildConstructionNode,
int selectedChildPosition,
IQTree selectedGrandChild,
com.google.common.collect.ImmutableList<IQTree> children,
com.google.common.collect.ImmutableSet<Variable> nonLiftableVariables,
Optional<ImmutableExpression> initialJoiningCondition,
VariableGenerator variableGenerator,
VariableNullability variableNullability,
JoinLikeChildBindingLifter.BindingLiftConverter<R> bindingLiftConverter)
For children of a commutative join or for the left child of a LJ
|
ConditionSimplifier.ExpressionAndSubstitution |
ConditionSimplifierImpl.simplifyCondition(ImmutableExpression expression,
VariableNullability variableNullability) |
ConditionSimplifier.ExpressionAndSubstitution |
ConditionSimplifierImpl.simplifyCondition(Optional<ImmutableExpression> nonOptimizedExpression,
com.google.common.collect.ImmutableSet<Variable> nonLiftableVariables,
VariableNullability variableNullability) |
| Modifier and Type | Method and Description |
|---|---|
VariableNullability |
TermFactory.createDummyVariableNullability(ImmutableFunctionalTerm functionalTerm) |
| Modifier and Type | Method and Description |
|---|---|
Optional<ImmutableFunctionalTerm.FunctionalTermDecomposition> |
ImmutableFunctionalTerm.analyzeInjectivity(com.google.common.collect.ImmutableSet<Variable> nonFreeVariables,
VariableNullability variableNullability,
VariableGenerator variableGenerator)
Returns an empty optional when no decomposition is possible
In the decomposition, the liftable term is injective.
|
ImmutableExpression.Evaluation |
ImmutableExpression.evaluate(VariableNullability variableNullability) |
IncrementalEvaluation |
ImmutableExpression.evaluate(VariableNullability variableNullability,
boolean isExpressionNew) |
ImmutableExpression.Evaluation |
ImmutableExpression.evaluate2VL(VariableNullability variableNullability)
2-valued logic (2VL): NULL is reduced to FALSE
Is intended to be used by filtering condition, where both NULL and FALSE cause the condition to be rejected.
|
IncrementalEvaluation |
ImmutableExpression.evaluate2VL(VariableNullability variableNullability,
boolean isExpressionNew) |
IncrementalEvaluation |
ImmutableTerm.evaluateIsNotNull(VariableNullability variableNullability) |
IncrementalEvaluation |
ImmutableTerm.evaluateStrictEq(ImmutableTerm otherTerm,
VariableNullability variableNullability) |
ImmutableTerm |
ImmutableTerm.simplify(VariableNullability variableNullability) |
ImmutableTerm |
ImmutableExpression.simplify2VL(VariableNullability variableNullability) |
| Modifier and Type | Method and Description |
|---|---|
Optional<ImmutableFunctionalTerm.FunctionalTermDecomposition> |
FunctionSymbol.analyzeInjectivity(com.google.common.collect.ImmutableList<? extends ImmutableTerm> arguments,
com.google.common.collect.ImmutableSet<Variable> nonFreeVariables,
VariableNullability variableNullability,
VariableGenerator variableGenerator,
TermFactory termFactory) |
Optional<SPARQLAggregationFunctionSymbol.AggregationSimplification> |
SPARQLAggregationFunctionSymbol.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) |
IncrementalEvaluation |
FunctionSymbol.evaluateIsNotNull(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
TermFactory termFactory,
VariableNullability variableNullability) |
FunctionSymbol.FunctionalTermNullability |
FunctionSymbol.evaluateNullability(com.google.common.collect.ImmutableList<? extends NonFunctionalTerm> arguments,
VariableNullability childNullability,
TermFactory termFactory) |
IncrementalEvaluation |
FunctionSymbol.evaluateStrictEq(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
ImmutableTerm otherTerm,
TermFactory termFactory,
VariableNullability variableNullability) |
ImmutableTerm |
FunctionSymbol.simplify(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
TermFactory termFactory,
VariableNullability variableNullability) |
default ImmutableTerm |
BooleanFunctionSymbol.simplify2VL(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
TermFactory termFactory,
VariableNullability variableNullability)
Can further simplify than the simplify(...) because here FALSE can be treated as equivalent to NULL (2-valued logic)
By default, reuses simplify(...).
|
| Modifier and Type | Method and Description |
|---|---|
Optional<ImmutableFunctionalTerm.FunctionalTermDecomposition> |
DefaultDBIfElseNullFunctionSymbol.analyzeInjectivity(com.google.common.collect.ImmutableList<? extends ImmutableTerm> arguments,
com.google.common.collect.ImmutableSet<Variable> nonFreeVariables,
VariableNullability variableNullability,
VariableGenerator variableGenerator,
TermFactory termFactory) |
Optional<ImmutableFunctionalTerm.FunctionalTermDecomposition> |
AbstractDBConcatFunctionSymbol.analyzeInjectivity(com.google.common.collect.ImmutableList<? extends ImmutableTerm> arguments,
com.google.common.collect.ImmutableSet<Variable> nonFreeVariables,
VariableNullability variableNullability,
VariableGenerator variableGenerator,
TermFactory termFactory) |
protected ImmutableTerm |
AbstractDBTypeConversionFunctionSymbolImpl.buildFromVariable(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability)
Default implementation
|
protected ImmutableTerm |
DefaultSimpleDBCastFunctionSymbol.buildFromVariable(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
ObjectStringTemplateFunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
TemporaryDBTypeConversionToStringFunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability)
Minimalistic optimization: just optimize when the sub-term is a DB string constant.
|
protected ImmutableTerm |
DefaultDBAndFunctionSymbol.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability)
NB: terms are assumed to be either TRUE, FALSE, NULL or ImmutableExpressions.
|
protected ImmutableTerm |
AbstractDBIsNullOrNotFunctionSymbol.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
AbstractDBAggregationFunctionSymbol.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
AbstractDBIsStringEmptyFunctionSymbol.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
DefaultDBOrFunctionSymbol.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability)
NB: terms are assumed to be either TRUE, FALSE, NULL or ImmutableExpressions.
|
protected ImmutableTerm |
AbstractDBTypeConversionFunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
AbstractDBStrictEqNeqFunctionSymbol.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
DefaultDBNonStrictStringEqOperator.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
DBContainsFunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
DefaultDBNumericInequalityOperator.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
DBCountFunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
DefaultDBNotFunctionSymbol.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
AbstractOrNullFunctionSymbol.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
DefaultDBIsTrueFunctionSymbol.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
DefaultDBNonStrictNumericEqOperator.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
DefaultDBCoalesceFunctionSymbol.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
NullIfDBFunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
AbstractR2RMLSafeIRIEncodeFunctionSymbol.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
SimplifiableTypedNullFunctionSymbol.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
DefaultBooleanDenormFunctionSymbol.buildTermFromFunctionalTerm(ImmutableFunctionalTerm subTerm,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
AbstractDBTypeConversionFunctionSymbolImpl.buildTermFromFunctionalTerm(ImmutableFunctionalTerm subTerm,
TermFactory termFactory,
VariableNullability variableNullability)
Default implementation
|
protected ImmutableTerm |
AbstractTimestampISODenormFunctionSymbol.buildTermFromFunctionalTerm(ImmutableFunctionalTerm subTerm,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
DefaultSimpleDBCastFunctionSymbol.buildTermFromFunctionalTerm(ImmutableFunctionalTerm subTerm,
TermFactory termFactory,
VariableNullability variableNullability)
Tries to simplify nested casts
|
IncrementalEvaluation |
AbstractDBIsNullOrNotFunctionSymbol.evaluateIsNotNull(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
TermFactory termFactory,
VariableNullability variableNullability) |
IncrementalEvaluation |
AbstractDBStrictEqNeqFunctionSymbol.evaluateIsNotNull(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
TermFactory termFactory,
VariableNullability variableNullability) |
IncrementalEvaluation |
DefaultDBIfElseNullFunctionSymbol.evaluateIsNotNull(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
TermFactory termFactory,
VariableNullability variableNullability) |
IncrementalEvaluation |
NullToleratingDBConcatFunctionSymbol.evaluateIsNotNull(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
TermFactory termFactory,
VariableNullability variableNullability)
Never returns NULL
|
IncrementalEvaluation |
DefaultDBCoalesceFunctionSymbol.evaluateIsNotNull(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
TermFactory termFactory,
VariableNullability variableNullability) |
IncrementalEvaluation |
NullIfDBFunctionSymbolImpl.evaluateIsNotNull(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
TermFactory termFactory,
VariableNullability variableNullability) |
IncrementalEvaluation |
DBIntIndexFunctionSymbolImpl.evaluateStrictEq(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
ImmutableTerm otherTerm,
TermFactory termFactory,
VariableNullability variableNullability) |
protected IncrementalEvaluation |
ObjectStringTemplateFunctionSymbolImpl.evaluateStrictEqWithFunctionalTerm(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
ImmutableFunctionalTerm otherTerm,
TermFactory termFactory,
VariableNullability variableNullability) |
protected IncrementalEvaluation |
ObjectStringTemplateFunctionSymbolImpl.evaluateStrictEqWithNonNullConstant(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
NonNullConstant otherTerm,
TermFactory termFactory,
VariableNullability variableNullability) |
protected IncrementalEvaluation |
DefaultCastIntegerToStringFunctionSymbol.evaluateStrictEqWithNonNullConstant(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
NonNullConstant otherTerm,
TermFactory termFactory,
VariableNullability variableNullability) |
protected IncrementalEvaluation |
DefaultNumberNormAsBooleanFunctionSymbol.evaluateStrictEqWithNonNullConstant(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
NonNullConstant otherTerm,
TermFactory termFactory,
VariableNullability variableNullability) |
protected IncrementalEvaluation |
DefaultSimpleDBCastFunctionSymbol.evaluateStrictEqWithNonNullConstant(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
NonNullConstant otherTerm,
TermFactory termFactory,
VariableNullability variableNullability)
Gets rid of the cast and simplifies the strict equality
|
protected IncrementalEvaluation |
AbstractR2RMLSafeIRIEncodeFunctionSymbol.evaluateStrictEqWithNonNullConstant(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
NonNullConstant otherTerm,
TermFactory termFactory,
VariableNullability variableNullability) |
protected IncrementalEvaluation |
DefaultSimpleDBCastFunctionSymbol.perform2ndStepEvaluationStrictEqWithConstant(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
String otherLexicalValue,
TermFactory termFactory,
VariableNullability variableNullability)
After making the compatibility checks (2nd step)
Low-level.
|
protected ImmutableTerm |
BooleanDBIfElseNullFunctionSymbolImpl.simplify(ImmutableExpression newCondition,
ImmutableTerm newThenValue,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
DefaultDBIfElseNullFunctionSymbol.simplify(ImmutableExpression newCondition,
ImmutableTerm newThenValue,
TermFactory termFactory,
VariableNullability variableNullability) |
ImmutableTerm |
AbstractDBIfThenFunctionSymbol.simplify(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
TermFactory termFactory,
VariableNullability variableNullability) |
ImmutableTerm |
DefaultDBIfElseNullFunctionSymbol.simplify(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
TermFactory termFactory,
VariableNullability variableNullability) |
ImmutableTerm |
DBIntIndexFunctionSymbolImpl.simplify(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
TermFactory termFactory,
VariableNullability variableNullability) |
ImmutableTerm |
AbstractDBIfThenElseFunctionSymbol.simplify(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
TermFactory termFactory,
VariableNullability variableNullability) |
ImmutableTerm |
BooleanDBIfElseNullFunctionSymbolImpl.simplify2VL(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
TermFactory termFactory,
VariableNullability variableNullability) |
ImmutableTerm |
DBBooleanCaseFunctionSymbolImpl.simplify2VL(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
TermFactory termFactory,
VariableNullability variableNullability) |
ImmutableTerm |
DefaultDBNotFunctionSymbol.simplify2VL(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
TermFactory termFactory,
VariableNullability variableNullability) |
ImmutableTerm |
AbstractDBBooleanConnectorFunctionSymbol.simplify2VL(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
TermFactory termFactory,
VariableNullability variableNullability)
Propagates the info that 2VL can be applied to the sub-expressions.
|
ImmutableTerm |
AbstractOrNullFunctionSymbol.simplify2VL(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
TermFactory termFactory,
VariableNullability variableNullability)
2VL: the NULL is considered "equivalent" to FALSE
|
protected com.google.common.collect.ImmutableList<ImmutableTerm> |
DefaultDBAndFunctionSymbol.simplify2VLInteractions(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected com.google.common.collect.ImmutableList<ImmutableTerm> |
DefaultDBOrFunctionSymbol.simplify2VLInteractions(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected abstract com.google.common.collect.ImmutableList<ImmutableTerm> |
AbstractDBBooleanConnectorFunctionSymbol.simplify2VLInteractions(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected com.google.common.collect.ImmutableList<ImmutableTerm> |
DefaultDBAndFunctionSymbol.simplifyInteractions(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability)
Look at the interaction between conjuncts
|
protected com.google.common.collect.ImmutableList<ImmutableTerm> |
DefaultDBOrFunctionSymbol.simplifyInteractions(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability)
Look at the interaction between disjuncts
|
protected com.google.common.collect.ImmutableList<ImmutableTerm> |
AbstractDBBooleanConnectorFunctionSymbol.simplifyIsNullOrIsNotNull(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability,
boolean lookForIsNull)
Look for conjuncts that are IS_NULL(...) or disjuncts that are IS_NOT_NULL(...)
and uses them to nullify some terms
|
protected ImmutableTerm |
AbstractDBIfThenFunctionSymbol.simplifyValue(ImmutableTerm immutableTerm,
VariableNullability variableNullability,
TermFactory termFactory)
Can be overridden
|
protected ImmutableExpression |
DBBooleanCaseFunctionSymbolImpl.simplifyValue(ImmutableTerm immutableTerm,
VariableNullability variableNullability,
TermFactory termFactory) |
| Modifier and Type | Method and Description |
|---|---|
Optional<ImmutableFunctionalTerm.FunctionalTermDecomposition> |
FunctionSymbolImpl.analyzeInjectivity(com.google.common.collect.ImmutableList<? extends ImmutableTerm> arguments,
com.google.common.collect.ImmutableSet<Variable> nonFreeVariables,
VariableNullability variableNullability,
VariableGenerator variableGenerator,
TermFactory termFactory)
To be overridden when is sometimes but not always injective in the absence of non-injective functional terms
|
Optional<ImmutableFunctionalTerm.FunctionalTermDecomposition> |
ConcatSPARQLFunctionSymbolImpl.analyzeInjectivity(com.google.common.collect.ImmutableList<? extends ImmutableTerm> arguments,
com.google.common.collect.ImmutableSet<Variable> nonFreeVariables,
VariableNullability variableNullability,
VariableGenerator variableGenerator,
TermFactory termFactory) |
protected ImmutableTerm |
CountSPARQLFunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
UUIDSPARQLFunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
RDFTermFunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
CommonPropagatedOrSubstitutedNumericTypeFunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
RDFTermTypeFunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
LexicalEBVFunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
LangTagFunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
UnaryLatelyTypedFunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
LexicalLangMatchesFunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
SameTermSPARQLFunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability)
Always simplifies itself
|
protected ImmutableTerm |
AreCompatibleRDFStringFunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
FunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability)
By default, just build a new functional term.
|
protected ImmutableTerm |
AbstractCommonDenominatorFunctionSymbol.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability)
To be overridden by concrete classes
Default case: looks for DBIfThen
|
protected ImmutableTerm |
BinaryNumericLexicalFunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
AbstractLexicalNonStrictEqOrInequalityFunctionSymbol.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
RDFDatatypeStringFunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
RDF2DBBooleanFunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
IsARDFTermTypeFunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
StrUUIDSPARQLFunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
EBVSPARQLLikeFunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
UnaryNumericSPARQLAggregationFunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
AbstractBinaryBooleanOperatorSPARQLFunctionSymbol.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability)
Type of the input is not checked as it cannot be a source of SPARQL errors.
|
protected ImmutableTerm |
NowSPARQLFunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
BooleanFunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
AbstractBinaryComparisonSPARQLFunctionSymbol.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
CoalesceSPARQLFunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
RandSPARQLFunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
CommonDenominatorFunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability)
Reduces all the RDFTermTypeConstants into one.
|
protected ImmutableTerm |
GroupConcatSPARQLFunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
ReduciblePositiveAritySPARQLFunctionSymbolImpl.buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected boolean |
RDFTermFunctionSymbolImpl.canBeSafelyDecomposedIntoConjunction(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
VariableNullability variableNullability,
com.google.common.collect.ImmutableList<? extends ImmutableTerm> otherTerms)
TODO: stop overriding (only use the top implementation)
|
protected boolean |
FunctionSymbolImpl.canBeSafelyDecomposedIntoConjunction(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
VariableNullability variableNullability,
com.google.common.collect.ImmutableList<? extends ImmutableTerm> otherTerms)
ONLY for injective function symbols
Makes sure that the conjunction would never evaluate as FALSE instead of NULL
(first produced equality evaluated as false, while the second evaluates as NULL)
|
protected abstract ImmutableTerm |
AbstractLexicalNonStrictEqOrInequalityFunctionSymbol.computeBooleanEqualityOrInequality(ImmutableTerm dbTerm1,
ImmutableTerm dbTerm2,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
LexicalInequalityFunctionSymbolImpl.computeBooleanEqualityOrInequality(ImmutableTerm dbTerm1,
ImmutableTerm dbTerm2,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
LexicalNonStrictEqualityFunctionSymbolImpl.computeBooleanEqualityOrInequality(ImmutableTerm dbTerm1,
ImmutableTerm dbTerm2,
TermFactory termFactory,
VariableNullability variableNullability) |
protected abstract ImmutableTerm |
AbstractLexicalNonStrictEqOrInequalityFunctionSymbol.computeDateEqualityOrInequality(ImmutableTerm dbTerm1,
ImmutableTerm dbTerm2,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
LexicalInequalityFunctionSymbolImpl.computeDateEqualityOrInequality(ImmutableTerm dbTerm1,
ImmutableTerm dbTerm2,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
LexicalNonStrictEqualityFunctionSymbolImpl.computeDateEqualityOrInequality(ImmutableTerm dbTerm1,
ImmutableTerm dbTerm2,
TermFactory termFactory,
VariableNullability variableNullability) |
protected abstract ImmutableTerm |
AbstractLexicalNonStrictEqOrInequalityFunctionSymbol.computeDatetimeEqualityOrInequality(ImmutableTerm dbTerm1,
ImmutableTerm dbTerm2,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
LexicalInequalityFunctionSymbolImpl.computeDatetimeEqualityOrInequality(ImmutableTerm dbTerm1,
ImmutableTerm dbTerm2,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
LexicalNonStrictEqualityFunctionSymbolImpl.computeDatetimeEqualityOrInequality(ImmutableTerm dbTerm1,
ImmutableTerm dbTerm2,
TermFactory termFactory,
VariableNullability variableNullability) |
protected abstract ImmutableTerm |
AbstractLexicalNonStrictEqOrInequalityFunctionSymbol.computeDefaultSameTypeEqualityOrInequality(RDFTermType termType,
ImmutableTerm dbTerm1,
ImmutableTerm dbTerm2,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
LexicalInequalityFunctionSymbolImpl.computeDefaultSameTypeEqualityOrInequality(RDFTermType termType,
ImmutableTerm dbTerm1,
ImmutableTerm dbTerm2,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
LexicalNonStrictEqualityFunctionSymbolImpl.computeDefaultSameTypeEqualityOrInequality(RDFTermType termType,
ImmutableTerm dbTerm1,
ImmutableTerm dbTerm2,
TermFactory termFactory,
VariableNullability variableNullability) |
protected abstract ImmutableTerm |
AbstractLexicalNonStrictEqOrInequalityFunctionSymbol.computeNumericEqualityOrInequality(ImmutableTerm dbTerm1,
ImmutableTerm dbTerm2,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
LexicalInequalityFunctionSymbolImpl.computeNumericEqualityOrInequality(ImmutableTerm dbTerm1,
ImmutableTerm dbTerm2,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
LexicalNonStrictEqualityFunctionSymbolImpl.computeNumericEqualityOrInequality(ImmutableTerm dbTerm1,
ImmutableTerm dbTerm2,
TermFactory termFactory,
VariableNullability variableNullability) |
protected abstract ImmutableTerm |
AbstractLexicalNonStrictEqOrInequalityFunctionSymbol.computeStringEqualityOrInequality(ImmutableTerm dbTerm1,
ImmutableTerm dbTerm2,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
LexicalInequalityFunctionSymbolImpl.computeStringEqualityOrInequality(ImmutableTerm dbTerm1,
ImmutableTerm dbTerm2,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
LexicalNonStrictEqualityFunctionSymbolImpl.computeStringEqualityOrInequality(ImmutableTerm dbTerm1,
ImmutableTerm dbTerm2,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
StrlenSPARQLFunctionSymbolImpl.computeTypeTerm(com.google.common.collect.ImmutableList<? extends ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
AbstractStrBeforeOrAfterSPARQLFunctionSymbol.computeTypeTerm(com.google.common.collect.ImmutableList<? extends ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
AbstractSubStrSPARQLFunctionSymbol.computeTypeTerm(com.google.common.collect.ImmutableList<? extends ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
LangSPARQLFunctionSymbolImpl.computeTypeTerm(com.google.common.collect.ImmutableList<? extends ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
RegexSPARQLFunctionSymbolImpl.computeTypeTerm(com.google.common.collect.ImmutableList<? extends ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
DatatypeSPARQLFunctionSymbolImpl.computeTypeTerm(com.google.common.collect.ImmutableList<? extends ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
UnaryNumericSPARQLFunctionSymbolImpl.computeTypeTerm(com.google.common.collect.ImmutableList<? extends ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability)
Makes sure sub-types of xsd:integer are replaced by xsd:integer
|
protected ImmutableTerm |
DivideSPARQLFunctionSymbolImpl.computeTypeTerm(com.google.common.collect.ImmutableList<? extends ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
AbstractHashSPARQLFunctionSymbol.computeTypeTerm(com.google.common.collect.ImmutableList<? extends ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
StringBooleanBinarySPARQLFunctionSymbolImpl.computeTypeTerm(com.google.common.collect.ImmutableList<? extends ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
MultitypedInputUnarySPARQLFunctionSymbolImpl.computeTypeTerm(com.google.common.collect.ImmutableList<? extends ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
AbstractUnaryBooleanSPARQLFunctionSymbol.computeTypeTerm(com.google.common.collect.ImmutableList<? extends ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
ConcatSPARQLFunctionSymbolImpl.computeTypeTerm(com.google.common.collect.ImmutableList<? extends ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
NumericBinarySPARQLFunctionSymbolImpl.computeTypeTerm(com.google.common.collect.ImmutableList<? extends ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
AbstractIsASPARQLFunctionSymbol.computeTypeTerm(com.google.common.collect.ImmutableList<? extends ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
SimpleUnarySPARQLFunctionSymbolImpl.computeTypeTerm(com.google.common.collect.ImmutableList<? extends ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
StrSPARQLFunctionSymbolImpl.computeTypeTerm(com.google.common.collect.ImmutableList<? extends ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
AbstractUnaryStringSPARQLFunctionSymbol.computeTypeTerm(com.google.common.collect.ImmutableList<? extends ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected abstract ImmutableTerm |
ReduciblePositiveAritySPARQLFunctionSymbolImpl.computeTypeTerm(com.google.common.collect.ImmutableList<? extends ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
ReplaceSPARQLFunctionSymbolImpl.computeTypeTerm(com.google.common.collect.ImmutableList<? extends ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability)
Not clear in the SPARQL specification.
|
protected ImmutableFunctionalTerm.FunctionalTermDecomposition |
FunctionSymbolImpl.decomposeInjectiveTopFunctionalTerm(com.google.common.collect.ImmutableList<? extends ImmutableTerm> arguments,
com.google.common.collect.ImmutableSet<Variable> nonFreeVariables,
VariableNullability variableNullability,
VariableGenerator variableGenerator,
TermFactory termFactory)
Only when injectivity of the top function symbol is proved!
|
Optional<SPARQLAggregationFunctionSymbol.AggregationSimplification> |
CountSPARQLFunctionSymbolImpl.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)
Simplifies itself without needing the call of this method.
|
Optional<SPARQLAggregationFunctionSymbol.AggregationSimplification> |
MinOrMaxSPARQLFunctionSymbolImpl.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
|
Optional<SPARQLAggregationFunctionSymbol.AggregationSimplification> |
UnaryNumericSPARQLAggregationFunctionSymbolImpl.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) |
Optional<SPARQLAggregationFunctionSymbol.AggregationSimplification> |
GroupConcatSPARQLFunctionSymbolImpl.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) |
protected SPARQLAggregationFunctionSymbol.AggregationSimplification |
SumLikeSPARQLAggregationFunctionSymbolImpl.decomposeMultityped(ImmutableTerm subTerm,
com.google.common.collect.ImmutableSet<RDFTermType> subTermPossibleTypes,
boolean hasGroupBy,
VariableNullability variableNullability,
VariableGenerator variableGenerator,
TermFactory termFactory) |
protected abstract SPARQLAggregationFunctionSymbol.AggregationSimplification |
UnaryNumericSPARQLAggregationFunctionSymbolImpl.decomposeMultityped(ImmutableTerm subTerm,
com.google.common.collect.ImmutableSet<RDFTermType> subTermPossibleTypes,
boolean hasGroupBy,
VariableNullability variableNullability,
VariableGenerator variableGenerator,
TermFactory termFactory) |
protected SPARQLAggregationFunctionSymbol.AggregationSimplification |
AvgSPARQLFunctionSymbolImpl.decomposeMultityped(ImmutableTerm subTerm,
com.google.common.collect.ImmutableSet<RDFTermType> subTermPossibleTypes,
boolean hasGroupBy,
VariableNullability variableNullability,
VariableGenerator variableGenerator,
TermFactory termFactory)
Here the aggregated value will be a DB decimal
(we ignore the distinction between decimal, float and double)
3 possible XSD datatypes are possible for the output:Â DECIMAL, FLOAT and DOUBLE
|
protected SPARQLAggregationFunctionSymbol.AggregationSimplification |
UnaryNumericSPARQLAggregationFunctionSymbolImpl.decomposeUnityped(ImmutableTerm subTerm,
RDFTermType subTermType,
boolean hasGroupBy,
VariableNullability variableNullability,
VariableGenerator variableGenerator,
TermFactory termFactory) |
protected ImmutableExpression.Evaluation |
AbstractStrBeforeOrAfterSPARQLFunctionSymbol.evaluateInputTypeError(com.google.common.collect.ImmutableList<ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableExpression.Evaluation |
LangMatchesSPARQLFunctionSymbolImpl.evaluateInputTypeError(com.google.common.collect.ImmutableList<ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability)
In theory, both should be "simple" XSD.STRING (not langString).
|
protected ImmutableExpression.Evaluation |
RegexSPARQLFunctionSymbolImpl.evaluateInputTypeError(com.google.common.collect.ImmutableList<ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability)
Enforces that the arguments, except the first one, are SIMPLE XSD.STRING (not langStrings)
|
protected ImmutableExpression.Evaluation |
DivideSPARQLFunctionSymbolImpl.evaluateInputTypeError(com.google.common.collect.ImmutableList<ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability)
Division by zero returns a NULL (SPARQL error) if the operands are both xsd:integer or xsd:decimal
(but not if they are xsd:float and xsd:double)
|
protected ImmutableExpression.Evaluation |
AbstractHashSPARQLFunctionSymbol.evaluateInputTypeError(com.google.common.collect.ImmutableList<ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability)
According to the SPARQL specification, does not accept lang strings
|
protected ImmutableExpression.Evaluation |
StringBooleanBinarySPARQLFunctionSymbolImpl.evaluateInputTypeError(com.google.common.collect.ImmutableList<ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableExpression.Evaluation |
StrSPARQLFunctionSymbolImpl.evaluateInputTypeError(com.google.common.collect.ImmutableList<ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability)
Excludes blank nodes
|
protected ImmutableExpression.Evaluation |
BoundSPARQLFunctionSymbolImpl.evaluateInputTypeError(com.google.common.collect.ImmutableList<ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability)
Never returns a NULL (SPARQL error)
|
protected ImmutableExpression.Evaluation |
ReduciblePositiveAritySPARQLFunctionSymbolImpl.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). |
protected ImmutableExpression.Evaluation |
ReplaceSPARQLFunctionSymbolImpl.evaluateInputTypeError(com.google.common.collect.ImmutableList<ImmutableTerm> subLexicalTerms,
com.google.common.collect.ImmutableList<ImmutableTerm> typeTerms,
TermFactory termFactory,
VariableNullability variableNullability)
Enforces that the arguments, except the first one, are SIMPLE XSD.STRING (not langStrings)
|
IncrementalEvaluation |
RDFTermFunctionSymbolImpl.evaluateIsNotNull(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
TermFactory termFactory,
VariableNullability variableNullability)
Overridden because, it officially "tolerates" NULLs, due to the requirement that either its arguments
are both null or both non-null.
|
IncrementalEvaluation |
RDFTermTypeFunctionSymbolImpl.evaluateIsNotNull(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
TermFactory termFactory,
VariableNullability variableNullability)
Still allows the IsNotNull evaluation, even if in "not-simplifiable" mode.
|
IncrementalEvaluation |
FunctionSymbolImpl.evaluateIsNotNull(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
TermFactory termFactory,
VariableNullability variableNullability)
Default implementation, can be overridden
|
FunctionSymbol.FunctionalTermNullability |
FunctionSymbolImpl.evaluateNullability(com.google.common.collect.ImmutableList<? extends NonFunctionalTerm> arguments,
VariableNullability childNullability,
TermFactory termFactory) |
IncrementalEvaluation |
RDFTermFunctionSymbolImpl.evaluateStrictEq(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
ImmutableTerm otherTerm,
TermFactory termFactory,
VariableNullability variableNullability) |
IncrementalEvaluation |
FunctionSymbolImpl.evaluateStrictEq(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
ImmutableTerm otherTerm,
TermFactory termFactory,
VariableNullability variableNullability)
Default implementation, to be overridden to convert more cases
Incoming terms are not simplified as they are presumed to be already simplified
(so please simplify them before)
|
protected IncrementalEvaluation |
FunctionSymbolImpl.evaluateStrictEqWithFunctionalTerm(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
ImmutableFunctionalTerm otherTerm,
TermFactory termFactory,
VariableNullability variableNullability)
Default implementation, can be overridden
|
protected IncrementalEvaluation |
RDFTermTypeFunctionSymbolImpl.evaluateStrictEqWithNonNullConstant(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
NonNullConstant otherTerm,
TermFactory termFactory,
VariableNullability variableNullability) |
protected IncrementalEvaluation |
FunctionSymbolImpl.evaluateStrictEqWithNonNullConstant(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
NonNullConstant otherTerm,
TermFactory termFactory,
VariableNullability variableNullability)
Default implementation, does nothing, can be overridden
|
protected boolean |
FunctionSymbolImpl.isInjective(com.google.common.collect.ImmutableList<? extends ImmutableTerm> arguments,
VariableNullability variableNullability,
TermFactory termFactory) |
ImmutableTerm |
FunctionSymbolImpl.simplify(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected ImmutableTerm |
AbstractLexicalNonStrictEqOrInequalityFunctionSymbol.simplifyWithConstantTypes(TermFactory termFactory,
VariableNullability variableNullability,
DBTypeFactory dbTypeFactory,
ImmutableTerm lexicalTerm1,
ImmutableTerm lexicalTerm2,
RDFTermTypeConstant typeTerm1,
RDFTermTypeConstant typeTerm2) |
protected Optional<ImmutableTerm> |
BooleanFunctionSymbolImpl.tryToLiftIfThenTerm(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected Optional<ImmutableTerm> |
BooleanFunctionSymbolImpl.tryToLiftMagicNumbers(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected Optional<ImmutableTerm> |
FunctionSymbolImpl.tryToLiftMagicNumbers(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability,
boolean isBoolean) |
| Modifier and Type | Method and Description |
|---|---|
VariableNullability |
TermFactoryImpl.createDummyVariableNullability(ImmutableFunctionalTerm functionalTerm) |
| Modifier and Type | Method and Description |
|---|---|
Optional<ImmutableFunctionalTerm.FunctionalTermDecomposition> |
ImmutableFunctionalTermImpl.analyzeInjectivity(com.google.common.collect.ImmutableSet<Variable> nonFreeVariables,
VariableNullability variableNullability,
VariableGenerator variableGenerator) |
ImmutableExpression.Evaluation |
ImmutableExpressionImpl.evaluate(VariableNullability variableNullability) |
IncrementalEvaluation |
ImmutableExpressionImpl.evaluate(VariableNullability variableNullability,
boolean isExpressionNew) |
ImmutableExpression.Evaluation |
ImmutableExpressionImpl.evaluate2VL(VariableNullability variableNullability) |
IncrementalEvaluation |
ImmutableExpressionImpl.evaluate2VL(VariableNullability variableNullability,
boolean isExpressionNew) |
IncrementalEvaluation |
AbstractNonNullConstant.evaluateIsNotNull(VariableNullability variableNullability) |
IncrementalEvaluation |
ImmutableFunctionalTermImpl.evaluateIsNotNull(VariableNullability variableNullability) |
IncrementalEvaluation |
VariableImpl.evaluateIsNotNull(VariableNullability variableNullability) |
IncrementalEvaluation |
NullConstantImpl.evaluateIsNotNull(VariableNullability variableNullability) |
IncrementalEvaluation |
BNodeConstantImpl.evaluateStrictEq(ImmutableTerm otherTerm,
VariableNullability variableNullability) |
IncrementalEvaluation |
RDFLiteralConstantImpl.evaluateStrictEq(ImmutableTerm otherTerm,
VariableNullability variableNullability)
Strict equality: require to have the same lexical value and the same datatype
To be distinguished from https://www.w3.org/TR/sparql11-query/#func-RDFterm-equal
(which returns NULL instead of FALSE for two different literals)
|
IncrementalEvaluation |
ImmutableFunctionalTermImpl.evaluateStrictEq(ImmutableTerm otherTerm,
VariableNullability variableNullability) |
IncrementalEvaluation |
IRIConstantImpl.evaluateStrictEq(ImmutableTerm otherTerm,
VariableNullability variableNullability) |
IncrementalEvaluation |
VariableImpl.evaluateStrictEq(ImmutableTerm otherTerm,
VariableNullability variableNullability) |
IncrementalEvaluation |
RDFTermTypeConstantImpl.evaluateStrictEq(ImmutableTerm otherTerm,
VariableNullability variableNullability) |
IncrementalEvaluation |
DBConstantImpl.evaluateStrictEq(ImmutableTerm otherTerm,
VariableNullability variableNullability) |
IncrementalEvaluation |
NullConstantImpl.evaluateStrictEq(ImmutableTerm otherTerm,
VariableNullability variableNullability) |
ImmutableTerm |
ImmutableFunctionalTermImpl.simplify(VariableNullability variableNullability) |
ImmutableTerm |
AbstractNonFunctionalTerm.simplify(VariableNullability variableNullability) |
ImmutableTerm |
ImmutableExpressionImpl.simplify2VL(VariableNullability variableNullability) |
| Modifier and Type | Method and Description |
|---|---|
ImmutableSubstitution<ImmutableTerm> |
ImmutableSubstitution.simplifyValues(VariableNullability variableNullability) |
| Modifier and Type | Method and Description |
|---|---|
ImmutableSubstitution<ImmutableTerm> |
AbstractImmutableSubstitutionImpl.simplifyValues(VariableNullability variableNullability) |
| Modifier and Type | Method and Description |
|---|---|
ImmutableSubstitution<ImmutableTerm> |
AbstractImmutableSubstitutionImpl.simplifyValues(Optional<VariableNullability> variableNullability) |
| Modifier and Type | Method and Description |
|---|---|
VariableNullability |
CoreUtilsFactory.createEmptyVariableNullability(com.google.common.collect.ImmutableSet<Variable> scope) |
VariableNullability |
CoreUtilsFactory.createVariableNullability(com.google.common.collect.ImmutableSet<com.google.common.collect.ImmutableSet<Variable>> nullableGroups,
com.google.common.collect.ImmutableSet<Variable> scope) |
Copyright © 2009–2020 Free University of Bozen-Bolzano. All rights reserved.