public void addFilter(Expr expr) { addFilter(new ElementFilter(expr)); }
@Override public void visit(ElementFilter filter) { com.hp.hpl.jena.sparql.expr.Expr expr = filter.getExpr(); expr = expr.copySubstitute(this); result = new ElementFilter(expr); }
final public Element Filter() throws ParseException { Expr c ; jj_consume_token(FILTER); c = Constraint(); {if (true) return new ElementFilter(c) ;} throw new Error("Missing return statement in function"); }
@Override public void visit(ElementFilter e) { ExprVars.varsMentioned(vars, e.getExpr()); }
final public Element Filter() throws ParseException { Expr c ; jj_consume_token(FILTER); c = Constraint(); {if (true) return new ElementFilter(c) ;} throw new Error("Missing return statement in function"); }
@Override public void visit(ElementFilter el) { MultiSet<String> vars = new MultiSet<String>(); ExprVars.varNamesMentioned(vars, el.getExpr()); addString(vars); } };
final public Element Filter() throws ParseException { Expr c ; jj_consume_token(FILTER); c = Constraint(); {if (true) return new ElementFilter(c) ;} throw new Error("Missing return statement in function"); }
if ( filters == null ) filters = new ArrayList<Expr>() ; filters.add(f.getExpr()) ;
final public Element Filter() throws ParseException { Expr c ; jj_consume_token(FILTER); c = Constraint(); {if (true) return new ElementFilter(c) ;} throw new Error("Missing return statement in function"); }
final public Element Filter() throws ParseException { Expr c ; jj_consume_token(FILTER); c = Constraint(); {if (true) return new ElementFilter(c) ;} throw new Error("Missing return statement in function"); }
public void visit(ElementFilter el) { out.print("FILTER ") ; Expr expr = el.getExpr() ; FmtExpr v = new FmtExpr(out, context) ; // This assumes that complex expressions are bracketted // (parens) as necessary except for some cases: // Plain variable or constant boolean addParens = false ; if ( expr.isVariable() ) addParens = true ; if ( expr.isConstant() ) addParens = true ; if ( addParens ) out.print("( ") ; v.format(expr) ; if ( addParens ) out.print(" )") ; }
final public Element Filter() throws ParseException { Expr c ; jj_consume_token(FILTER); c = Constraint(); {if (true) return new ElementFilter(c) ;} throw new Error("Missing return statement in function"); }
@Override public void visit(ElementFilter el) { out.print("FILTER ") ; Expr expr = el.getExpr() ; FmtExprSPARQL v = new FmtExprSPARQL(out, context) ; // This assumes that complex expressions are bracketted // (parens) as necessary except for some cases: // Plain variable or constant boolean addParens = false ; if ( expr.isVariable() ) addParens = true ; if ( expr.isConstant() ) addParens = true ; if ( addParens ) out.print("( ") ; v.format(expr) ; if ( addParens ) out.print(" )") ; }
private void makeElementConstraints(Query q, ElementGroup g ,RDQL_Node node) { Q_ConstraintClause qcc = (Q_ConstraintClause)node ; int n = qcc.jjtGetNumChildren() ; for ( int j = 0 ; j < n ; j++ ) { Object obj = qcc.jjtGetChild(j) ; if ( ! ( obj instanceof ExprRDQL ) ) throw new ARQInternalErrorException("Parse node in AND clause isn't a Constraint") ; ElementFilter f = new ElementFilter((ExprRDQL)obj) ; g.addElementFilter(f) ; } }
protected ConjunctiveQuery replace(ConjunctiveQuery q, Triple oldT, Triple newT) { ElementTriplesBlock newPattern = new ElementTriplesBlock(); for (Triple t:q.getTriples()) { if (t.equals(oldT)) { newPattern.addTriple(newT); } else { newPattern.addTriple(t); } } ConjunctiveQuery ret = q.cloneConjQuery(); ret.setQueryPattern(newPattern); for (ElementFilter ef: q.getFilters()) { ret.addFilter(ef.getExpr()); } return ret; }
@Override public Var evaluate(NodeSelector nodeSelector, ElementGroup elementGroup, Var var, LDPathEvaluatorConfiguration evaluatorConfiguration) { TestingSelector testingSelector = (TestingSelector) nodeSelector; Var delVar = LDPathEvaluator.evaluate(testingSelector.getDelegate(), elementGroup, var, evaluatorConfiguration); elementGroup.addElementFilter(new ElementFilter(evaluate(testingSelector.getTest(), elementGroup, delVar, evaluatorConfiguration))); return var; }