@Override public String toString() { return "(AGG "+ (var==null?"<>":"?"+var.getVarName())+ " "+aggregator.toString()+")"; }
/** Return a list of String names from a collection of variables */ public static List<String> varNames(Collection<Var> vars) { List<String> x = new ArrayList<>(); for ( Var var : vars ) x.add(var.getVarName()); return x; } }
@Override public List<String> getVarNames() { List<String> x = new ArrayList<>() ; x.add(var.getVarName()) ; return x ; }
/** * Creates a simple transform that replaces any occurrence of the given variable with the given expression * @param find Variable to find * @param replace Expression to replace with */ public ExprTransformSubstitute(Var find, Expr replace) { if (find == null) throw new IllegalArgumentException("find cannot be null"); if (replace == null) throw new IllegalArgumentException("replace cannot be null"); this.replacements.put(find.getVarName(), replace); }
@Override public Iterator<String> varNames() { List<String> x = new ArrayList<>() ; for ( Iterator<Var> iter = binding.vars() ; iter.hasNext(); ) { Var v = iter.next(); x.add(v.getVarName()) ; } return x.iterator() ; }
public SPARQLConstraintExecutor(Constraint constraint) { super(constraint); Set<String> preBoundVars = new HashSet<>(); preBoundVars.add(SH.thisVar.getVarName()); preBoundVars.add(SH.shapesGraphVar.getVarName()); preBoundVars.add(SH.currentShapeVar.getVarName()); List<String> errors = SPARQLSyntaxChecker.checkQuery(getQuery(), preBoundVars); if(!errors.isEmpty()) { throw new IllegalArgumentException(errors.size() + " violations of SPARQL Syntax rules (Appendix A): " + errors + ". Query: " + getQuery()); } }
protected void format(StringBuffer sbuff, Var var) { Node node = get(var); String tmp = FmtUtils.stringForObject(node); sbuff.append("( ?" + var.getVarName() + " = " + tmp + " )"); }
@Override public void startElement(ElementBind el) { if(preBoundVars.contains(el.getVar().getVarName())) { if(SH.valueVar.getVarName().equals(el.getVar().getVarName()) && el.getExpr().isVariable() && el.getExpr().asVar().equals(SH.thisVar)) { // Ignore clauses injected by engine } else { results.add("Query must not reassign the pre-bound variable " + el.getVar() + " in a BIND clause"); } } }
@Override protected void format(StringBuffer sbuff, Var var) { NodeId id = idBinding.get(var) ; String extra = "" ; if ( id != null ) extra = "/"+id ; Node node = get(var) ; String tmp = NodeFmtLib.displayStr(node) ; sbuff.append("( ?"+var.getVarName()+extra+" = "+tmp+" )") ; } }
@Override protected void format(StringBuffer sbuff, Var var) { NodeId id = idBinding.get(var) ; String extra = "" ; if ( id != null ) extra = "/"+id ; Node node = get(var) ; String tmp = NodeFmtLib.displayStr(node) ; sbuff.append("( ?"+var.getVarName()+extra+" = "+tmp+" )") ; } }
public static Query substitutePaths(Query query, String pathString, Model model) { // TODO: This is a bad algorithm - should be operating on syntax tree, not string String str = query.toString().replaceAll(" \\?" + SH.PATHVar.getVarName() + " ", pathString); return ARQFactory.get().createQuery(model, str); }
public static Query substitutePaths(Query query, String pathString, Model model) { // TODO: This is a bad algorithm - should be operating on syntax tree, not string String str = query.toString().replaceAll(" \\?" + SH.PATHVar.getVarName() + " ", pathString); return ARQFactory.get().createQuery(model, str); }
public static void outputVars(IndentedWriter out, List<Var> vars, SerializationContext sContext) { WriterLib.start(out, Tags.tagVars, WriterLib.NoSP) ; for ( Var v : vars ) { out.print(" ?") ; out.print(v.getVarName()) ; } WriterLib.finish(out, Tags.tagVars) ; }
@Test public void testVar_10() { Node v = parseNode("?"+ARQConstants.allocVarAnonMarker) ; assertTrue( v instanceof Var ) ; String vn = ((Var)v).getVarName() ; assertFalse(vn.equals(ARQConstants.allocVarAnonMarker)) ; }
@Test public void testVar_09() { Node v = parseNode("?") ; assertTrue( v instanceof Var ) ; String vn = ((Var)v).getVarName() ; assertFalse(vn.equals("")) ; }
@Test public void testVar_11() { Node v = parseNode("?"+ARQConstants.allocVarMarker) ; assertTrue( v instanceof Var ) ; String vn = ((Var)v).getVarName() ; assertFalse(vn.equals(ARQConstants.allocVarMarker)) ; }
/** Transform node then create a {@link ExprVar} or {@link NodeValue}. */ private Expr transform(Node input) { Node n = transform.apply(input); if ( n == null ) throw new InternalErrorException("NodeTransform creates a null"); if ( ! Var.isVar(n) ) return NodeValue.makeNode(n); String name = Var.alloc(n).getVarName(); return new ExprVar(n.getName()); } }
@Override public void visit(ElementAssign el) { out.print("LET ("); out.print("?" + el.getVar().getVarName()); out.print(" := "); FmtExprSPARQL v = new FmtExprSPARQL(out, context); v.format(el.getExpr()); out.print(")"); }
@Override public void visit(ElementBind el) { out.print("BIND("); FmtExprSPARQL v = new FmtExprSPARQL(out, context); v.format(el.getExpr()); out.print(" AS "); out.print("?" + el.getVar().getVarName()); out.print(")"); }
@Test public void testBuildNode_05() { Item item = SSE.parseItem("?variable") ; Node n = BuilderNode.buildNode(item); assertTrue(Var.isVar(n)); assertEquals("variable", ((Var)n).getVarName()); }