O'Reilly logo

Learning Neo4j 3.x - Second Edition by Rik Van Bruggen, Jérôme Baton

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Custom aggregators

Some of the most common aggregators in the SQL world are count, sum, min, or max. They are used in conjunction with the GROUP BY instruction. Here is an example of aggregator usage in Cypher:

MATCH (p:Person)-[IS_NAMED]-(ln:LastName)RETURN ln.lastName, count(p)

Since version 3.2, Neo4j allows you to create your own aggregators, which is fairly simple. To illustrate, we will see how to code a random count: a count aggregator that returns a random value. The Java code is as follows:

package learningneo4j;import org.neo4j.procedure.*;public class RandomCount {    @UserAggregationFunction("learningneo4j.randomCount")    @Description( "learningneo4j.randomCount - mostly returns a wrong value " )    public RandomAggregator randomAggregator() ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required