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. |
User-defined scalar functions
For each incoming row the function takes parameters and returns a single result.
For developing and deploying user-defined functions in Neo4j, see Extending Neo4j → User-defined functions.
This example shows how you invoke a user-defined function called join
from Cypher.
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 |
---|
|
Rows: 1 |
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.
This calls the user-defined function org.neo4j.function.example.longestString()
.
MATCH (n:Member)
RETURN org.neo4j.function.example.longestString(n.name) AS member
member |
---|
|
Rows: 1 |
Was this page helpful?