You can extend Cypher with your own predefined procedures and functions as shown below:

But what are procedures and functions?

Functions are simple computations and return a single value whereas procedures are more complex operations and generate streams of results. Procedures must be used within the CALL clause and YIELD the result columns.

There are many built-in procedures and functions in Neo4j. You would run dbms.procedures() and dbms.functions() to list out all available procedures and functions respectively. Each procedure returns multiple columns but you can select which columns you need using YIELD.

Deploying procedures and functions

If you built your own procedures, they are packaged in a jar-file. You can put that file in the Neo4j’s plugins directory and restart the Neo4j’s server. Only install procedures from trusted sources!

Procedure and Function Gallery

There are many set of libraries already built which covers graph algorithms, database / api integration, rdf import and export and so on. You can find more about this at Neo4j Labs projects.

There are many resources to help you develop your own procedures and functions which you can find at:





Data Scientist

Leave a Reply