@Override public Expr copy(Expr expr) { return new E_LogicalNot(expr) ; } }
public static Boolean _isSatisfiable(E_LogicalNot expr) { Boolean a = isSatisfiable(expr.getArg()); return a == null ? null : !a; }
Expr tmp = ((E_LogicalNot)expr).getArg(); if (!(tmp instanceof ExprFunction)) { return expr; newExpr = new E_LogicalOr(eval(new E_LogicalNot(child.getArg(1))), eval(new E_LogicalNot(child.getArg(2)))); newExpr = new E_LogicalAnd(eval(new E_LogicalNot(child.getArg(1))), eval(new E_LogicalNot(child.getArg(2)))); return new E_LogicalNot(eval(new E_Equals(expr.getArg(1), expr.getArg(2))));
Expr tmp = ((E_LogicalNot)expr).getArg(); if (!(tmp instanceof ExprFunction)) { return expr; newExpr = new E_LogicalOr(eval(new E_LogicalNot(child.getArg(1))), eval(new E_LogicalNot(child.getArg(2)))); newExpr = new E_LogicalAnd(eval(new E_LogicalNot(child.getArg(1))), eval(new E_LogicalNot(child.getArg(2)))); return new E_LogicalNot(eval(new E_Equals(expr.getArg(1), expr.getArg(2))));
@Override public Expr visit(LogicalNotExpression e) { Expr a = e.accept(this); Expr result = new E_LogicalNot(a); return result; }
/** * false means that it is no satisfiable. * * true is actually a 'maybe' * * @param clause * @return */ public static boolean isSatisfiable(Set<Expr> clause) { for(Expr expr : clause) { if(expr.equals(NodeValue.FALSE)) { return false; } if(!isSatisfiable(expr)) { return false; } if(expr instanceof E_LogicalNot) { Expr child = ((E_LogicalNot)expr).getArg(); if(clause.contains(child)) { return false; } } } return true; }
@Override public Expr visit(LogicalNotExpression e) { Expr a = e.accept(this); Expr result = new E_LogicalNot(a); return result; }
expr = ((E_LogicalNot)expr).getArg();
/** * implements not() as per SPARQL 1.1 spec * * https://www.w3.org/TR/2013/REC-sparql11-query-20130321/#func-not * * Converts expr to an Expr object via expr() * * @see #asExpr(Object) * @see org.apache.jena.sparql.expr.E_LogicalNot * * @param expr * the expression to check. * @return E_LogicalNot instance */ public final E_LogicalNot not(Object expr) { return new E_LogicalNot(asExpr(expr)); }
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; } }
/** * implements not() as per SPARQL 1.1 spec * * https://www.w3.org/TR/2013/REC-sparql11-query-20130321/#func-not * * Converts expr to an Expr object via expr() * * @see #asExpr(Object) * @see org.apache.jena.sparql.expr.E_LogicalNot * * @param expr * the expression to check. * @return E_LogicalNot instance */ public final E_LogicalNot not(Object expr) { return new E_LogicalNot(asExpr(expr)); }
Boolean tmp = determineSatisfiability(((E_LogicalNot)expr).getArg()); return tmp == null ? null : !tmp;
@Override public Expr make(ItemList list) { BuilderLib.checkLength(2, list, "!: wanted 1 arguments: got :"+numArgs(list)) ; Expr ex = buildExpr(list.get(1)) ; return new E_LogicalNot(ex) ; } };
protected Op compileElementNotExists(Op current, ElementNotExists elt2) { Op op = compile(elt2.getElement()) ; // "compile", not "compileElement" -- do simpliifcation Expr expr = new E_Exists(elt2, op) ; expr = new E_LogicalNot(expr) ; return OpFilter.filter(expr, current) ; }
ElementFilter filter = new ElementFilter(new E_LogicalNot(new ExprVar(optional.getObject().getName()))); ((ElementGroup)elt).addElementFilter(filter);
public static Query inOutTemplate(Node s, Node p, Node o) { Query query = QueryFactory.create(); query.setQueryConstructType(); query.setDistinct(true); Triple triple = new Triple(s, p, o); ElementGroup group = new ElementGroup(); group.addTriplePattern(triple); // Avoid non-uris as objects if(o.isVariable()) { group.addElementFilter(new ElementFilter(new E_IsURI(new ExprVar(o)))); group.addElementFilter(new ElementFilter(new E_LogicalNot(new E_IsBlank(new ExprVar(o))))); } BasicPattern bgp = new BasicPattern(); bgp.add(triple); query.setConstructTemplate(new Template(bgp)); query.setQueryPattern(group); return query; }
Node var = NodeFactory.createVariable("s_var"); s = var; filters.add(new ElementFilter(new E_LogicalNot(new E_Equals(new ExprVar(var), NodeValue.makeNode(tp.getSubject()))))); break; p = var; filters.add(new ElementFilter(new E_LogicalNot(new E_Equals(new ExprVar(var), NodeValue.makeNode(tp.getPredicate()))))); filters.add(new ElementFilter(new E_LogicalNot(new E_Equals(new ExprVar(var), NodeValue.makeNode(RDF.type.asNode()))))); break; Node var = NodeFactory.createVariable("o_var"); o = var; filters.add(new ElementFilter(new E_LogicalNot(new E_Equals(new ExprVar(var), NodeValue.makeNode(tp.getObject()))))); break;
jj_consume_token(BANG); expr = PrimaryExpression(); {if (true) return new E_LogicalNot(expr) ;} break; case PLUS:
jj_consume_token(BANG); expr = PrimaryExpression(); {if (true) return new E_LogicalNot(expr) ;} break; case PLUS:
jj_consume_token(BANG); expr = PrimaryExpression(); {if (true) return new E_LogicalNot(expr) ;} break; case PLUS: