/** * Return <code>t1 AND t2</code>. */ static public FunctionNode AND(final ValueExpressionNode t1, final ValueExpressionNode t2) { return new FunctionNode(FunctionRegistry.AND, null/* scalarValues */, new ValueExpressionNode[] { t1, t2 }); }
/** * Return <code>t1 < t2</code> */ static public FunctionNode LT(final ValueExpressionNode t1, final ValueExpressionNode t2) { return new FunctionNode(FunctionRegistry.LT, null/* scalarValues */, new ValueExpressionNode[] { t1, t2 }); }
/** * Return <code>min(v1,v2)</code> */ static public FunctionNode MIN( final ValueExpressionNode v1, final ValueExpressionNode v2) { return new FunctionNode(FunctionRegistry.MIN, null/* scalarValues */, new ValueExpressionNode[] { v1, v2 }); }
/** * Return <code>t1 = t2</code> (aka EQ aka RDFTERM-EQUALS). */ static public FunctionNode EQ(final ValueExpressionNode t1, final ValueExpressionNode t2) { return new FunctionNode(FunctionRegistry.EQ, null/* scalarValues */, new ValueExpressionNode[] { t1, t2 }); }
/** * Return <code>t1 > t2</code> */ static public FunctionNode GT(final ValueExpressionNode t1, final ValueExpressionNode t2) { return new FunctionNode(FunctionRegistry.GT, null/* scalarValues */, new ValueExpressionNode[] { t1, t2 }); }
/** * Return <code>t1 <= t2</code> */ static public FunctionNode LE(final ValueExpressionNode t1, final ValueExpressionNode t2) { return new FunctionNode(FunctionRegistry.LE, null/* scalarValues */, new ValueExpressionNode[] { t1, t2 }); }
/** * Return <code>max(v1,v2)</code> */ static public FunctionNode MAX( final ValueExpressionNode v1, final ValueExpressionNode v2) { return new FunctionNode(FunctionRegistry.MAX, null/* scalarValues */, new ValueExpressionNode[] { v1, v2 }); }
/** * Return a binary function <code>op(t1,t2)</code> */ static public FunctionNode binary(final URI uri, final TermNode t1, final TermNode t2) { return new FunctionNode(uri, null/* scalarValues */, new ValueExpressionNode[] { t1, t2 }); }
/** * Handle a simple function without any arguments. */ protected FunctionNode noneary(final SimpleNode node, final URI functionURI) throws VisitorException { return new FunctionNode(functionURI, null/* scalarValues */, new ValueExpressionNode[] {}); }
/** * Return <code>t1 - t2</code> (aka SUBTRACT). */ static public FunctionNode subtract(final ValueExpressionNode t1, final ValueExpressionNode t2) { return new FunctionNode(FunctionRegistry.SUBTRACT, null/* scalarValues */, new ValueExpressionNode[] { t1, t2 }); }
/** * Return <code>t1 <= t2</code> */ static public FunctionNode LE(final ValueExpressionNode t1, final ValueExpressionNode t2) { return new FunctionNode(FunctionRegistry.LE, null/* scalarValues */, new ValueExpressionNode[] { t1, t2 }); }
/** * Return <code>max(v1,v2)</code> */ static public FunctionNode MAX( final ValueExpressionNode v1, final ValueExpressionNode v2) { return new FunctionNode(FunctionRegistry.MAX, null/* scalarValues */, new ValueExpressionNode[] { v1, v2 }); }
/** * Return <code>t1 OR t2</code>. */ static public FunctionNode OR(final ValueExpressionNode t1, final ValueExpressionNode t2) { return new FunctionNode(FunctionRegistry.OR, null/* scalarValues */, new ValueExpressionNode[] { t1, t2 }); }
/** * Return <code>t1 + t2</code> (aka ADD). */ static public FunctionNode add(final ValueExpressionNode t1, final ValueExpressionNode t2) { return new FunctionNode(FunctionRegistry.ADD, null/* scalarValues */, new ValueExpressionNode[] { t1, t2 }); }
/** * Return <code>sameTerm(t1,t2)</code> (aka EQ). */ static public FunctionNode sameTerm(final ValueExpressionNode t1, final ValueExpressionNode t2) { return new FunctionNode(FunctionRegistry.SAME_TERM, null/* scalarValues */, new ValueExpressionNode[] { t1, t2 }); }
/** * Return <code>t1 != t2</code> */ static public FunctionNode NE(final ValueExpressionNode t1, final ValueExpressionNode t2) { return new FunctionNode(FunctionRegistry.NE, null/* scalarValues */, new ValueExpressionNode[] { t1, t2 }); }
/** * Return <code>t1 < t2</code> */ static public FunctionNode LT(final ValueExpressionNode t1, final ValueExpressionNode t2) { return new FunctionNode(FunctionRegistry.LT, null/* scalarValues */, new ValueExpressionNode[] { t1, t2 }); }
/** * Handle a simple binary function (both children of the node are arguments * to the function). */ protected FunctionNode binary(final SimpleNode node, final URI functionURI) throws VisitorException { return new FunctionNode(functionURI, null/* scalarValues */, new ValueExpressionNode[] { left(node), right(node) }); }
protected FunctionNode bound(final VarNode varNode) { final FunctionNode rslt = new FunctionNode(FunctionRegistry.BOUND, null, new ValueExpressionNode[] { varNode } ); rslt.setValueExpression(new IsBoundBOp(varNode.getValueExpression())); return rslt; }
protected FunctionNode knownUnbound(final VarNode varNode) { final VarNode vv = varNode("-unbound-var-"+varNode.getValueExpression().getName()+"-0"); final FunctionNode rslt = new FunctionNode(FunctionRegistry.BOUND, null, vv); rslt.setValueExpression(new IsBoundBOp(vv.getValueExpression())); return rslt; }