This project is an example you can use to build user defined procedures, functions and aggregation functions in Neo4j. It contains two procedures, for reading and updating a full-text index.
To try this out, simply clone this repository and have a look at the source and test code (including Test-Server-Setup).
This project requires a Neo4j 5.x.x dependency.
The user defined procedure allows you to get the incoming and outgoing relationships for a given node.
See GetRelationshipTypes.java
and the GetRelationshipTypesTests.java
.
MATCH (n:Person)
CALL example.getRelationshipTypes(n)
YIELD outgoing, incoming
RETURN outgoing, incoming;
The user defined function is a simple join function that joins a list of strings using a delimiter.
See Join.java
and the JoinTest.java
.
RETURN example.join(['A','quick','brown','fox'],' ') as sentence
The aggregation function example.last
returns the last row of an aggregation.
MATCH (n:Person)
WITH n ORDER BY n.born
WITH example.last(n) as last
RETURN last
See Last.java
and the LastTest.java
.
This project uses maven, to build a jar-file with the procedure in this project, simply package the project with maven:
mvn clean package
This will produce a jar-file,target/procedure-template-1.0.0-SNAPSHOT.jar
,
that can be deployed in the plugin
directory of your Neo4j instance.