@Override public void build() { for (Map.Entry<Var,Expr> entry : query.getProject().getExprs().entrySet()) { if (aggMap.containsKey(entry.getKey())) { entry.setValue( aggMap.get(entry.getKey())); } } }
public DistinctExtendFilter applyExtend(VarExprList extend) { Map<Var, Expr> map = extend.getExprs(); applyExtend(map); return this; }
public static Set<Set<Expr>> toDnf(VarExprList vel) { Set<Set<Expr>> result = vel.getExprs().entrySet().stream() .map(e -> Collections.singleton(varExprListToExpr(e.getKey(), e.getValue()))) .collect(Collectors.toSet()); // Expr tmp = ExprUtils.andifyBalanced(exprs); // // Set<Set<Expr>> result = DnfUtils.toSetDnf(tmp); return result; }
@Override public void build() { for (Map.Entry<Var,Expr> entry : query.getProject().getExprs().entrySet()) { if (aggMap.containsKey(entry.getKey())) { entry.setValue( aggMap.get(entry.getKey())); } } }
public DistinctExtendFilter applyExtend(VarExprList extend) { Map<Var, Expr> map = extend.getExprs(); applyExtend(map); return this; }
public DistinctExtendFilter2 applyExtend(VarExprList extend) { Map<Var, Expr> map = extend.getExprs(); applyExtend(map); return this; }
public DistinctExtendFilter2 applyExtend(VarExprList extend) { Map<Var, Expr> map = extend.getExprs(); applyExtend(map); return this; }
public static VarDefinition create(VarExprList varExprs) { Multimap<Var, RestrictedExpr> map = HashMultimap.create(); for(Entry<Var, Expr> entry : varExprs.getExprs().entrySet()) { Var var = entry.getKey(); Expr expr = entry.getValue(); RestrictedExpr restExpr = new RestrictedExpr(expr); map.put(var, restExpr); } VarDefinition result = new VarDefinition(map); return result; }
/** * Get the referenced variables * * @param vel * @return */ public static Set<Var> getRefVars(VarExprList vel) { Set<Var> result = new HashSet<Var>(); for(Entry<Var, Expr> entry : vel.getExprs().entrySet()) { if(entry.getValue() == null) { result.add(entry.getKey()); } else { Set<Var> vs = ExprVars.getVarsMentioned(entry.getValue()); result.addAll(vs); } } return result; }
public void processExtend(Op op, Op subOp, VarExprList vel) { subOp.visit(this) ; VarUsage2 varUsage = opToVarUsage.put(op, new VarUsage2()); VarUsage2 subVarUsage = opToVarUsage.get(subOp); Multimap<Var, Var> varDeps = HashMultimap.create(); Multimap<Var, Var> updates = HashMultimap.create(); for(Entry<Var, Expr> e : vel.getExprs().entrySet()) { Var v = e.getKey(); Expr ex = e.getValue(); Set<Var> vars = ex == null ? Collections.singleton(v) : ExprVars.getVarsMentioned(ex); for(Var w : vars) { Collection<Var> deps = varDeps.get(w); updates.putAll(v, deps); } } updates.asMap().forEach((k, w) -> { varDeps.replaceValues(k, w); }); }
public void processExtend(Op op, Op subOp, VarExprList vel) { subOp.visit(this) ; VarUsage2 varUsage = opToVarUsage.put(op, new VarUsage2()); VarUsage2 subVarUsage = opToVarUsage.get(subOp); Multimap<Var, Var> varDeps = HashMultimap.create(); Multimap<Var, Var> updates = HashMultimap.create(); for(Entry<Var, Expr> e : vel.getExprs().entrySet()) { Var v = e.getKey(); Expr ex = e.getValue(); Set<Var> vars = ex == null ? Collections.singleton(v) : ExprVars.getVarsMentioned(ex); for(Var w : vars) { Collection<Var> deps = varDeps.get(w); updates.putAll(v, deps); } } updates.asMap().forEach((k, w) -> { varDeps.replaceValues(k, w); }); }
public static boolean isGroupedOnlyByVar(Query query, Var groupVar) { boolean result = false; boolean hasOneGroup = query.getGroupBy().size() == 1; if(hasOneGroup) { Expr expr = query.getGroupBy().getExprs().values().iterator().next(); if(expr instanceof ExprVar) { Var v = expr.asVar(); result = v.equals(groupVar); } } return result; }
for (Map.Entry<Var, Expr> entry : lst.getExprs().entrySet()) { Expr target = ExprUtils.nodeToExpr(entry.getKey()); Node n = values.get(entry.getKey());
for (Map.Entry<Var, Expr> entry : lst.getExprs().entrySet()) { Expr target = ExprUtils.nodeToExpr(entry.getKey()); Node n = values.get(entry.getKey());
for(Entry<Var, Expr> entry : varExprs.getExprs().entrySet()) {
private static void transformVarExprList(VarExprList varExprList, ExprTransform exprTransform) { Map<Var, Expr> map = varExprList.getExprs(); for (Var v : varExprList.getVars()) { Expr e = varExprList.getExpr(v); ExprVar ev = new ExprVar(v); Expr ev2 = exprTransform.transform(ev); if (ev != ev2) { if (e != null) throw new ARQException("Can't substitute " + v + " because it's used as an AS variable"); if (ev2.isConstant() || ev2.isVariable()) { // Convert to (substitute value AS ?var) map.put(v, ev2); continue; } else throw new ARQException("Can't substitute " + v + " because it's not a simple value: " + ev2); } if (e == null) continue; // Didn't change the variable. Expr e2 = ExprTransformer.transform(exprTransform, e); if (e != e2) // replace map.put(v, e2); } }
Query q = parser.getQuery(); VarExprList vel = q.getProject(); return vel.getExprs().values().iterator().next(); } catch (ParseException ex) { throw new QueryParseException(ex.getMessage(), ex.currentToken.beginLine, ex.currentToken.beginLine);
Query q = parser.getQuery(); VarExprList vel = q.getProject(); return vel.getExprs().values().iterator().next(); } catch (ParseException ex) { throw new QueryParseException(ex.getMessage(), ex.currentToken.beginLine, ex.currentToken.beginLine);
VarExprList project = query.getProject(); project.getVars().clear(); project.getExprs().clear();
newAssignments.getExprs().remove(var);