<aside> 💡 User-defined procedures and user-defined functions are mechanisms that enable you to extend Neo4j by writing customized code, which can be invoked directly from Cypher.
</aside>
Procedures can return multiple values and allow update operations. They can be called using the CALL procedure(...) YIELD syntax.
CALL apoc.load.json("https://…") YIELD value
CREATE (p:Person {name: value.name, age: value.age})
Functions* are lightweight procedures that return a single value and only allow read operations. They can be used as function(...) in any expression or predicate.
RETURN apoc.date.parse("2023-10-26 15:45", "s", "yyyy-MM-dd HH:mm", "UTC") AS timestamp
List of all available procedures and functions, including user-defined:
SHOW [ PROCEDURES | FUNCTIONS ]