private static GraphTraversal<?, ?> transform(final E_LogicalAnd expression) { return __.and( transform(expression.getArg1()), transform(expression.getArg2())); }
private static void split(ExprList exprList, Expr expr) { // Explode &&-chain to exprlist. while (expr instanceof E_LogicalAnd) { E_LogicalAnd x = (E_LogicalAnd)expr ; Expr left = x.getArg1() ; Expr right = x.getArg2() ; split(exprList, left) ; expr = right ; } // Drop through and add remaining exprList.add(expr) ; } }
public static Boolean _isSatisfiable(E_LogicalAnd expr) { Boolean a = isSatisfiable(expr.getArg1()); if(a == false) { return false; } Boolean b = isSatisfiable(expr.getArg2()); return b == true ? a : b; }
public static GraphTraversal<?, ?> transform(final E_LogicalAnd expression) { return __.and( transform(expression.getArg1()), transform(expression.getArg2())); }
public static void collectAnd(Expr expr, List<ExprList> list) { if(expr instanceof E_LogicalAnd) { E_LogicalAnd e = (E_LogicalAnd)expr; collectAnd(e.getArg1(), list); collectAnd(e.getArg2(), list); } else if(expr instanceof E_LogicalOr) { //List<Expr> ors = new ArrayList<Expr>(); ExprList ors = new ExprList(); collectOr(expr, ors); list.add(ors); } else { list.add(new ExprList(expr)); } }
public static void collectAnd(Expr expr, ExprList list) { if(expr instanceof E_LogicalAnd) { E_LogicalAnd e = (E_LogicalAnd)expr; collectAnd(e.getArg1(), list); collectAnd(e.getArg2(), list); } else { list.add(expr); } }
NodeValue y = getArg2().eval(binding, env) ;
/** * * @param expr * @return */ public static E_RdfTerm transform(E_LogicalAnd expr) { E_RdfTerm result = null; E_RdfTerm a = _transform(expr.getArg1()); // Short circuit evaluation if(a.getLexicalValue().equals(NodeValue.FALSE)) { result = E_RdfTerm.createTypedLiteral(NodeValue.FALSE, XSD.xboolean); return result; } E_RdfTerm b = _transform(expr.getArg2()); Expr newExpr = new E_LogicalAnd(a.getLexicalValue(), b.getLexicalValue()); result = E_RdfTerm.createTypedLiteral(newExpr, XSD.xboolean); return result; }