Awesome Procedures On Cypher for Neo4j - codenamed "apoc" Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā If you like it, please ā above ā§Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā
Awesome Procedures for Neo4j 4.4.x
Introduction
Neo4j 3.x introduced the concept of user-defined procedures and functions
Those are custom implementations of certain functionality, that canāt be (easily) expressed in Cypher itself.
They are implemented in Java and can be easily deployed into your Neo4j instance, and then be called from Cypher directly.
The APOC library consists of many (about 450) procedures and functions to help with many different tasks in areas like data integration, graph algorithms or data conversion.
License
Apache License 2.0
"APOC" Name history
Apoc was the technician and driver on board of the Nebuchadnezzar in the Matrix movie. He was killed by Cypher.
The GUI mode is very helpful and packages all install operations in a very smooth way, perfect to perform demos, explain each step, but requires a quite important amount of clicks. Also, you get wizard to install APOC library the proper way.
This mode is very well suited for live demos as it provide nice visuals that make it easier for you to explain concepts while playing with them.
š³Docker mode
This mode makes it possible to run everything from the code. Still, you have to perform some additional an eventually manual tasks :
Download the APOC jar
Put the jar in the right directory and give the proper privileges
šThe aim of this post is to document this to make things even easier with a tool called CARVEL vendir
CARVEL vendir
The aim of vendir is to declaratively state directory's contents.
You can :
"Sync any number of data sources into a consistent structure by writing a YAML definition. Share the definition or generated lockfile and ensure that your whole team is working under the same expectations."
Carvel provides a set of reliable, single-purpose, composable tools that aid in your application building, configuration, and deployment to Kubernetes. This repo contains information regarding the Carvel open-source community.
Carvel
Carvel provides a set of reliable, single-purpose, composable tools that aid in your application building, configuration, and deployment to Kubernetes.
This is a list of repos associated with the Carvel project.
ytt - Template and overlay Kubernetes configuration via YAML structures, not text documents
kapp - Install, upgrade, and delete multiple Kubernetes resources as one "application"
kbld - Build or reference container images in Kubernetes configuration in an immutable way
imgpkg - Bundle and relocate application configuration (with images) via Docker registries
kapp-controller - Capture application deployment workflow in App CRD. Reliable GitOps experience powered by kapp.
vendir - Declaratively state what files should be in a directory.
secretgen-controller - Provides CRDs to specify what secrets need to be on a cluster (generated or not).