@Override public Node apply(Binding binding, Long rowNum) { NodeValue nv = ExprUtils.eval(expr, binding); Node result = nv.asNode(); return result; }
public static NodeValue eval(Expr expr) { return eval(expr, BindingRoot.create()) ; }
public static void evalPrint(Expr expr, Binding binding) { try { NodeValue r = eval(expr, binding) ; //System.out.println(r.asQuotedString()) ; Node n = r.asNode() ; String s = FmtUtils.stringForNode(n) ; System.out.println(s) ; } catch (ExprEvalException ex) { System.out.println("Exception: "+ex.getMessage()) ; return ; } catch (ExprBuildException ex) { System.err.println("Build exception: "+ex.getMessage()) ; return ; } }
and = and && ExprUtils.eval(expr, binding).getBoolean(); if(and == false) { break;
public Boolean determineSatisfiability(Expr expr) { /* BindingMap bindingMap = new BindingMap(); for(Entry<Var, Node> entry : binding.entrySet()) { bindingMap.add(entry.getKey(), entry.getValue()); }*/ if(binding.keySet().containsAll(expr.getVarsMentioned())) { try { NodeValue value = ExprUtils.eval(expr, bindingMap); return value.getBoolean(); } catch(Exception e) { // Evaluation of the expression failed despite all variables were bound // Satisfiability unknown System.err.println(e); return null; } } else if(expr instanceof E_LogicalNot) { Boolean tmp = determineSatisfiability(((E_LogicalNot)expr).getArg()); return tmp == null ? null : !tmp; } else if(expr instanceof E_Equals) { E_Equals e = (E_Equals)expr; RestrictionSetImpl a = getRestriction(e.getArg1()); RestrictionSetImpl b = getRestriction(e.getArg2()); return determineSatisfiabilityEquals(a, b); } else { return null; } }
value = ExprUtils.eval(expr, binding);
NodeValue value = ExprUtils.eval(expr, bindingMap); return value.getBoolean(); } catch(Exception e) {
result = ExprUtils.eval(tmp); } catch(ExprNotComparableException e) { return SparqlifyConstants.nvTypeError;
result = ExprUtils.eval(tmp); } catch(ExprNotComparableException e) { return SparqlifyConstants.nvTypeError;
public static Pair<Expr, Expr> optimizeFunctionOpConstant(Expr a, Expr b) { NodeValue constant = null; ExprFunction function = null; boolean swapArgs = false; UnaryOperator<Expr> factory; if(a.isConstant() && b.isFunction()) { constant = a.getConstant(); function = b.getFunction(); } else if(a.isFunction() && b.isConstant()) { function = a.getFunction(); constant = b.getConstant(); swapArgs = true; } else { return Pair.create(a, b); } factory = inverseFunctionManager.getInverse(b.getFunction().getFunctionIRI()); if(factory == null) { return Pair.create(a, b); } Expr invConst = factory.apply(constant); Expr resultConst = org.apache.jena.sparql.util.ExprUtils.eval(invConst); Expr resultFunc = function.getArg(1); return createPair(resultConst, resultFunc, swapArgs); }