/** * Add an expression to the group by clause. * @param expr The expression to add. */ public void addGroupBy(Expr expr) { query.addGroupBy(expr); }
/** * Add a node to the group by clause. * @param var The variable to add. */ public void addGroupBy(Var var) { query.addGroupBy(var); }
/** * Add a node to the group by clause. * @param var The variable to add. */ public void addGroupBy(Var var) { query.addGroupBy(var); }
/** * Add var and expression to the group by clause. * @param var The variable to add. * @param expr The expression to add. */ public void addGroupBy(Var var, Expr expr) { query.addGroupBy(var, expr); }
/** * Add var and expression to the group by clause. * @param var The variable to add. * @param expr The expression to add. */ public void addGroupBy(Var var, Expr expr) { query.addGroupBy(var, expr); }
/** * Add an expression to the group by clause. * @param expr The expression to add. */ public void addGroupBy(Expr expr) { query.addGroupBy(expr); }
public void addGroupBy(Expr expr) { addGroupBy(null, expr) ; }
public void addGroupBy(String varName) { varName = Var.canonical(varName) ; addGroupBy(Var.alloc(varName)) ; }
@Override public void visitGroupBy(Query query) { if (query.hasGroupBy()) { VarExprList x = query.getGroupBy(); for (Var v : x.getVars()) { Expr expr = x.getExpr(v); if (expr == null) newQuery.addGroupBy(v); else newQuery.addGroupBy(v, expr); } } }
@Override public void visitGroupBy(Query query) { if ( query.hasGroupBy() ) { VarExprList x = query.getGroupBy() ; for (Var v : x.getVars()) { Expr expr = x.getExpr(v) ; if ( expr == null ) newQuery.addGroupBy(v) ; else newQuery.addGroupBy(v, expr) ; } } }
public void addGroupBy(Var v, Expr expr) { if ( v == null ) v = allocInternVar() ; if ( expr.isVariable() && v.isAllocVar() ) { // It was (?x) with no AS - keep the name by adding by variable. addGroupBy(expr.asVar()) ; return ; } groupVars.add(v, expr) ; }
@Override public void visit(OpGroup opGroup) { List<ExprAggregator> a = opGroup.getAggregators(); // Aggregators are broken up in the algebra, split between a // group and an assignment (extend or assign) using a generated var. // We record them here and insert later. for (ExprAggregator ea : a) { // Substitute generated var for actual Var givenVar = ea.getAggVar().asVar(); // Copy aggregator across (?) Expr myAggr = query.allocAggregate(ea.getAggregator()); varExpression.put(givenVar, myAggr); } VarExprList b = opGroup.getGroupVars(); for (Var v : b.getVars()) { Expr e = b.getExpr(v); if (e != null) { query.addGroupBy(v, e); } else { query.addGroupBy(v); } } opGroup.getSubOp().visit(this); }
case SHA512: expr = BuiltInCall(); getQuery().addGroupBy((Var)null, expr) ; break; case IRIref: case PNAME_LN: expr = FunctionCall(); getQuery().addGroupBy((Var)null, expr) ; break; case LPAREN: getQuery().addGroupBy(v ,expr) ; break; case VAR1: case VAR2: v = Var(); getQuery().addGroupBy(v) ; break; default:
case SHA512: expr = BuiltInCall(); getQuery().addGroupBy((Var)null, expr) ; break; case IRIref: case PNAME_LN: expr = FunctionCall(); getQuery().addGroupBy((Var)null, expr) ; break; case LPAREN: getQuery().addGroupBy(v ,expr) ; break; case VAR1: case VAR2: v = Var(); getQuery().addGroupBy(v) ; break; default:
pa.add(cnta, new ExprAggregator(Vars.x, new AggCountVar(targetEv))); qa.setQueryPattern(roleElement); qa.addGroupBy(sourceVar); qb.addGroupBy(sourceVar); qb.addGroupBy(targetVar);
pa.add(cnta, new ExprAggregator(Vars.x, new AggCountVar(targetEv))); qa.setQueryPattern(roleElement); qa.addGroupBy(sourceVar); qb.addGroupBy(sourceVar);