private static GraphTraversal<?, ?> transform(final E_LessThanOrEqual expression) { final Object value = expression.getArg2().getConstant().getNode().getLiteralValue(); return __.as(expression.getArg1().getVarName()).is(P.lte(value)); }
private static GraphTraversal<?, ?> transform(final E_LessThan expression) { final Object value = expression.getArg2().getConstant().getNode().getLiteralValue(); return __.as(expression.getArg1().getVarName()).is(P.lt(value)); }
private static GraphTraversal<?, ?> transform(final E_GreaterThan expression) { final Object value = expression.getArg2().getConstant().getNode().getLiteralValue(); return __.as(expression.getArg1().getVarName()).is(P.gt(value)); }
private static GraphTraversal<?, ?> transform(final E_NotEquals expression) { final Object value = expression.getArg2().getConstant().getNode().getLiteralValue(); return __.as(expression.getArg1().getVarName()).is(P.neq(value)); }
private static GraphTraversal<?, ?> transform(final E_Equals expression) { final Object value = expression.getArg2().getConstant().getNode().getLiteralValue(); return __.as(expression.getArg1().getVarName()).is(P.eq(value)); }
private static GraphTraversal<?, ?> transform(final E_GreaterThanOrEqual expression) { final Object value = expression.getArg2().getConstant().getNode().getLiteralValue(); return __.as(expression.getArg1().getVarName()).is(P.gte(value)); }
@Override public Expr transform(ExprFunction3 func, Expr expr1, Expr expr2, Expr expr3) { if (isFoldable(expr1, expr2, expr3)) { try { return func.eval(expr1.getConstant(), expr2.getConstant(), expr3.getConstant()) ; } catch (Exception ex) { /* Drop through */ } } return super.transform(func, expr1, expr2, expr3); }
@Override public NodeValue getConstant() { NodeValue result = RdfTerm.eval( this.getArgs().get(0).getConstant(), this.getArgs().get(1).getConstant(), this.getArgs().get(2).getConstant(), this.getArgs().get(3).getConstant() ); //System.err.println(result); return result; }
@Override public Expr transform(ExprFunction2 func, Expr expr1, Expr expr2) { if (isFoldable(expr1, expr2)) { try { return func.eval(expr1.getConstant(), expr2.getConstant()) ; } catch (Exception ex) { /* Drop through */ } } return super.transform(func, expr1, expr2); }
public static Optional<String> getIriOrString(Expr expr) { //String result = expr.isConstant() ? expr.getConstant() Optional<String> result = Optional.of(expr) .map(e -> e.isConstant() ? e.getConstant() : null) .map(e -> e.asString()); return result; }
@Override public void visit(NodeValue nv) { if ( ! target.isConstant() ) throw new NoExprMatch("Not a NodeValue") ; if ( ! nv.equals(target.getConstant()) ) throw new NoExprMatch("Different value: "+nv+" & "+target.getConstant()) ; }
@Override public boolean match(Var var, Expr expr, MapResult resultMap) { if ( ! expr.isConstant() ) // throw new NoMatch("ActionMatchString: Not a variable: "+expr) ; return false ; if ( ! expr.getConstant().isString() ) return false ; String x = expr.getConstant().getString() ; // Managed to get the string - pass on up. return super.match(var, expr, resultMap) ; } }
@Override public Expr transform(ExprFunctionN func, ExprList args) { if (isFoldable(args)) { List<NodeValue> args2 = new ArrayList<>() ; // Need to "cast" to constants for ( Expr e : args ) args2.add(e.getConstant()) ; try { return func.eval(args2) ; } catch (Exception ex) { /* Drop through */ } } return super.transform(func, args); }
public E_StrReplace(Expr expr1, Expr expr2, Expr expr3, Expr expr4) { super(symbol, expr1, expr2, expr3, expr4) ; if ( isString(expr2) && (expr4 == null || isString(expr4)) ) { String flags = null; if ( expr4 != null && expr4.isConstant() && expr4.getConstant().isString() ) flags = expr4.getConstant().getString(); String patternStr = expr2.getConstant().getString(); pattern = RegexJava.makePattern("REPLACE", patternStr, flags); } }
@Override public Expr transform(ExprFunction1 func, Expr expr1) { if (isFoldable(expr1)) { try { return func.eval(expr1.getConstant()) ; } catch (Exception ex) { /* Drop through */ } } return super.transform(func, expr1); }
@Override public boolean match(Var var, Expr expr, MapResult resultMap) { if ( ! expr.getConstant().isNumber() ) throw new NoExprMatch("ActionMatchNumeric: Not a number: "+expr) ; return super.match(var, expr, resultMap) ; } }
public static String getString(Expr expr) { String result = null; if(expr.isConstant()) { NodeValue nv = expr.getConstant(); if(nv.isString()) { result = nv.getString(); } } return result; }
public static RdfTermType deriveType(Expr expr) { RdfTermType result = null; if(expr.isConstant()) { result = deriveType(expr.getConstant().asNode()); } else if(expr.isFunction()) { result = deriveType(expr.getFunction()); } return result; } }
private boolean deriveRestrictionEquals(Expr a, Expr b) { if(a.isVariable() && b.isConstant()) { RestrictionImpl r = getOrCreateRestriction(a.asVar()); r.stateNode(b.getConstant().asNode()); return true; } return false; }
@Override public SDBConstraint recognize(Expr expr) { MapResult rMap = null ; if ( ( rMap = equalsString1.match(expr) ) != null ) { Var var = rMap.get("a1").getExprVar().asVar() ; String str = rMap.get("a2").getConstant().getString() ; return new StringEqualsSqlGen(expr, equalsString1, true) ; } return null ; } }