Neo4j Procedure Template
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 3.3.x dependency.
User Defined Procedure
The user defined procedure allows you to index and search a explicit Lucene index within Neo4j.
Given properties of a node can be added to indexes named according to the labels of the node. After that the data can be searched with Lucene Syntax.
MATCH (n:Person) CALL example.index(id(n), ['name']); CALL example.search('Person','name:Jo*') YIELD nodeId
User Defined Function
The user defined function is a simple join function that joins a list of strings using a delimiter.
RETURN example.join(['A','quick','brown','fox'],' ') as sentence
User Defined Aggregation Function
The aggregation function
example.last returns the last row of an aggregation.
MATCH (n:Person) WITH n ORDER BY n.born RETURN n.born, example.last(n) as last
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,
that can be deployed in the
plugin directory of your Neo4j instance.
Apache License V2, see LICENSE