Aura Graph Analytics
Aura Graph Analytics is an on-demand ephemeral compute environment for running graph analytics within independent sessions.
Each session is a standalone Neo4j Aura compute environment that is created when needed and deleted when no longer useful or when the maximum session lifetime is reached, without any instance management operations.
While an Aura Graph Analytics session is ephemeral, the results of the computation can be stored by writing back to the database or exporting to an external system.
Administration
Organization settings
You can enable, disable, and configure Aura Graph Analytics on the organization level in the organization settings.
Here you can also configure:
-
The maximum available memory for each session
-
The maximum number of concurrent sessions within the organization
User management
Aura Console roles map to user privileges in Aura Graph Analytics sessions as described in Graph Analytics roles.
Running sessions
The details on any running sessions are available in the Graph Analytics page of the Aura Console.
Workflow
The typical workflow with Aura Graph Analytics is:
-
Create a session.
-
Load your data into a session via a remote projection.
-
Run graph algorithms or train machine learning models on the data.
-
Write the results back to the original data source using remote write-back (to an AuraDB instance or a self-managed Neo4j DBMS) or a custom method (for a non-Neo4j data source).
-
Delete the session.
Interfaces
You can create and use sessions either with the GDS Cypher API or with the GDS Python client.
Cypher API
The Cypher API is a collection of Cypher procedures to interact with Aura Graph Analytics sessions from a Cypher environment like the Aura Query tool.
The Graph Data Science documentation provides a quickstart, see Graph Data Science → Quickstart and the complete API documentation as described in Graph Data Science → Cypher API.
|
The Cypher API is available only for sessions attached to AuraDB instances in the Professional, Business Critical, or Virtual Dedicated Cloud plans. Depending on which plan is used, different limitations apply. See the Aura deployment comparison for more details. |
Implicit sessions
If you use the Cypher API, you can skip the first and last steps in the workflow by creating a session automatically with the first remote projection.
In this case, the session is deleted when the projected graph is dropped. If additional graphs are projected into the same session, for example via Graph Data Science → Graph filtering, the session is deleted only after all graphs are dropped.
Implicit sessions can still be listed and dropped via the corresponding Graph Data Science → Session management procedures.
Python client
The Python client is the Python interface to the GDS library.
You can find tutorials on how to use sessions in the Python documentation:
|
You need to create Aura API credentials to run the Python tutorials. |
Configuration
The configuration parameters for a session are the same regardless of the interface.
Session size
When creating a session (either explicitly or via a remote graph projection), you must set the memory parameter to specify the amount of memory allocated to the session.
The supported values are 2GB, 4GB, 8GB, 16GB, 24GB, 32GB, 48GB, 64GB, 96GB, 128GB, 192GB, 256GB, 384GB, and 512GB.
A larger size means faster runtime and the ability to process larger volumes of data, but also increased cost. See Neo4j Pricing for more information.
| The session maximum size can be configured for your whole Aura organization. |
Session expiration
When creating a session (either explicitly or via a remote graph projection), you can set an optional ttl parameter to specify how quickly an inactive session will expire.
The default value for ttl is 1 hour and the maximum allowed value is 7 days.
An expired session cannot be used to run workloads, does not incur any cost, and is deleted automatically after the same amount of time specified by the ttl parameter.
Expired sessions can also be deleted through the Aura Console UI.