@Override public void meet(final Sum node) { emit("SUM(").emitIf(node.isDistinct(), "DISTINCT ").emit(node.getArg()).emit(")"); }
@Override public void meet(Sum node) throws RuntimeException { builder.append("SUM("); optypes.push(ValueType.DOUBLE); node.getArg().visit(this); optypes.pop(); builder.append(")"); }
@Override public void meet(Sum node) throws RDFHandlerException { handler.handleStatement(valueFactory.createStatement(subject, RDF.TYPE, SP.SUM_CLASS)); if (node.isDistinct()) { handler.handleStatement( valueFactory.createStatement(subject, SP.DISTINCT_PROPERTY, BooleanLiteral.TRUE)); } Resource oldSubject = subject; super.meet(node); handler.handleStatement( valueFactory.createStatement(oldSubject, SP.EXPRESSION_PROPERTY, subject)); subject = oldSubject; }
@Override public Object visit(ASTSum node, Object data) throws VisitorException { ValueExpr ve = (ValueExpr)node.jjtGetChild(0).jjtAccept(this, data); return new Sum(ve, node.isDistinct()); }
Value arg = Statements.singleValue(r, SP.EXPRESSION_PROPERTY, store); boolean distinct = Statements.booleanValue(r, SP.DISTINCT_PROPERTY, store); Sum sum = new Sum(visitExpression(arg), distinct); aggregates.add(sum); expr = sum;
@Override public void meet(final Sum node) { emit("SUM(").emitIf(node.isDistinct(), "DISTINCT ").emit(node.getArg()).emit(")"); }