User-defined functions
User-defined functions are written in Java, deployed into the database and are called in the same way as any other Cypher function.
There are two main types of functions that can be developed and used:
Type | Description | Usage | Developing |
---|---|---|---|
Scalar |
For each row the function takes parameters and returns a result |
||
Aggregating |
Consumes many rows and produces an aggregated result |
1. User-defined scalar functions
For each incoming row the function takes parameters and returns a single result.
This example shows how you invoke a user-defined function called join
from Cypher.
1.1. Call a user-defined function
This calls the user-defined function org.neo4j.procedure.example.join()
.
MATCH (n:Member)
RETURN org.neo4j.function.example.join(collect(n.name)) AS members
members |
---|
|
1 row |
For developing and deploying user-defined functions in Neo4j, see Extending Neo4j → User-defined functions.
2. User-defined aggregation functions
Aggregating functions consume many rows and produces a single aggregated result.
This example shows how you invoke a user-defined aggregation function called longestString
from Cypher.
Was this page helpful?