public class FunctionNode extends ValueExpressionNode
FunctionNode
arguments are
the ordered list ValueExpressionNode
s that are the arguments to the
SPARQL function.DEFAULT_INITIAL_CAPACITY
Constructor and Description |
---|
FunctionNode(BOp[] args,
Map<String,Object> anns)
Required shallow copy constructor.
|
FunctionNode(FunctionNode op)
Constructor required for
com.bigdata.bop.BOpUtility#deepCopy(FilterNode) . |
FunctionNode(org.openrdf.model.URI functionURI,
Map<String,Object> scalarValues,
ValueExpressionNode... args)
Construct a function node in the AST.
|
Modifier and Type | Method and Description |
---|---|
static FunctionNode |
add(ValueExpressionNode t1,
ValueExpressionNode t2)
Return
t1 + t2 (aka ADD). |
static FunctionNode |
AND(ValueExpressionNode t1,
ValueExpressionNode t2)
Return
t1 AND t2 . |
static FunctionNode |
binary(org.openrdf.model.URI uri,
TermNode t1,
TermNode t2)
Return a binary function
op(t1,t2) |
static FunctionNode |
EQ(ValueExpressionNode t1,
ValueExpressionNode t2)
Return
t1 = t2 (aka EQ aka RDFTERM-EQUALS). |
static FunctionNode |
GE(ValueExpressionNode t1,
ValueExpressionNode t2)
Return
t1 >= t2 |
org.openrdf.model.URI |
getFunctionURI() |
Map<String,Object> |
getScalarValues()
Returns an unmodifiable map because if the scalar values are modified, we
need to clear the value expression cache.
|
static FunctionNode |
GT(ValueExpressionNode t1,
ValueExpressionNode t2)
Return
t1 > t2 |
void |
invalidate()
Overridden to clear the cached value expression.
|
boolean |
isBound()
|
static FunctionNode |
LE(ValueExpressionNode t1,
ValueExpressionNode t2)
Return
t1 <= t2 |
static FunctionNode |
LT(ValueExpressionNode t1,
ValueExpressionNode t2)
Return
t1 < t2 |
static FunctionNode |
MAX(ValueExpressionNode v1,
ValueExpressionNode v2)
Return
max(v1,v2) |
static FunctionNode |
MIN(ValueExpressionNode v1,
ValueExpressionNode v2)
Return
min(v1,v2) |
static FunctionNode |
NE(ValueExpressionNode t1,
ValueExpressionNode t2)
Return
t1 != t2 |
static FunctionNode |
NOT(ValueExpressionNode inner)
Return
t1 OR t2 . |
static FunctionNode |
OR(ValueExpressionNode t1,
ValueExpressionNode t2)
Return
t1 OR t2 . |
static FunctionNode |
sameTerm(ValueExpressionNode t1,
ValueExpressionNode t2)
Return
sameTerm(t1,t2) (aka EQ). |
static FunctionNode |
subtract(ValueExpressionNode t1,
ValueExpressionNode t2)
Return
t1 - t2 (aka SUBTRACT). |
String |
toString(int i)
Provides a pretty print representation with recursive descent.
|
getRequiredValueExpression, getValueExpression, isConstant, isFunction, isVariable, setValueExpression, toShortString
addExplainHint, getExplainHints, getQueryHint, getQueryHint, getQueryHintAsBoolean, getQueryHintAsBoolean, getQueryHintAsInteger, getQueryHints, replaceAllWith, setQueryHint, setQueryHints
addArg, addArg, addArgIfAbsent, annotations, annotationsEqual, argIterator, args, arity, clearProperty, copyAll, get, getProperty, indexOf, removeArg, replaceWith, setArg, setArgs, setId, setProperty, setUnboundProperty, toArray, toArray
annotationsEqual, annotationsToString, annotationsToString, annotationValueToString, checkArgs, clone, equals, getEvaluationContext, getId, getProperty, getRequiredProperty, hashCode, indent, isController, mutation, shortenName, toString
public FunctionNode(org.openrdf.model.URI functionURI, Map<String,Object> scalarValues, ValueExpressionNode... args)
functionURI
- the function URI. see FunctionRegistry
scalarValues
- One or more scalar values that are passed to the functionargs
- the arguments to the function.public FunctionNode(FunctionNode op)
com.bigdata.bop.BOpUtility#deepCopy(FilterNode)
.public org.openrdf.model.URI getFunctionURI()
public Map<String,Object> getScalarValues()
#setScalarValues(Map)
.public void invalidate()
invalidate
in interface IValueExpressionNode
invalidate
in class ValueExpressionNode
public boolean isBound()
true
iff it uses BOUND()
TODO Unit test.public static FunctionNode AND(ValueExpressionNode t1, ValueExpressionNode t2)
t1 AND t2
.public static FunctionNode OR(ValueExpressionNode t1, ValueExpressionNode t2)
t1 OR t2
.public static FunctionNode NOT(ValueExpressionNode inner)
t1 OR t2
.public static FunctionNode add(ValueExpressionNode t1, ValueExpressionNode t2)
t1 + t2
(aka ADD).public static FunctionNode subtract(ValueExpressionNode t1, ValueExpressionNode t2)
t1 - t2
(aka SUBTRACT).public static FunctionNode sameTerm(ValueExpressionNode t1, ValueExpressionNode t2)
sameTerm(t1,t2)
(aka EQ).public static FunctionNode EQ(ValueExpressionNode t1, ValueExpressionNode t2)
t1 = t2
(aka EQ aka RDFTERM-EQUALS).public static FunctionNode NE(ValueExpressionNode t1, ValueExpressionNode t2)
t1 != t2
public static FunctionNode LT(ValueExpressionNode t1, ValueExpressionNode t2)
t1 < t2
public static FunctionNode GT(ValueExpressionNode t1, ValueExpressionNode t2)
t1 > t2
public static FunctionNode LE(ValueExpressionNode t1, ValueExpressionNode t2)
t1 <= t2
public static FunctionNode GE(ValueExpressionNode t1, ValueExpressionNode t2)
t1 >= t2
public static FunctionNode MIN(ValueExpressionNode v1, ValueExpressionNode v2)
min(v1,v2)
public static FunctionNode MAX(ValueExpressionNode v1, ValueExpressionNode v2)
max(v1,v2)
public static FunctionNode binary(org.openrdf.model.URI uri, TermNode t1, TermNode t2)
op(t1,t2)
public String toString(int i)
toString
in interface BOp
toString
in interface IValueExpressionNode
toString
in class CoreBaseBOp
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.