Introducing the Pregel API
Neo4j allows you to write plugins: following some API, you can write code in Java, which can then be used from Cypher through, for instance, the CALL
statement, given that the JAR file containing your code has been placed in the plugins
folder and your code has been properly annotated so that Neo4j can find the relevant information. That’s how APOC and GDS are implemented. Thanks to the Pregel API, we can extend not only Neo4j but GDS itself, leveraging its main features.
In this section, we will cover these GDS features and the basic principles behind the Pregel API.
GDS’s features
GDS allows users to extend it while taking advantage of many common functionalities, such as the following:
- In-memory projected graph: We won’t have to write code to create a projected graph – we can directly work on an existing projected graph in the GDS graph catalog.
- Stream/write/mutate procedures: The execution modes are automatically...