Getting Started with Neo4j

Jason Koo
6 min readJul 2, 2024

--

Already heard of Neo4j, the highly scalable, native graph database built from the ground up for performing fast traversal queries — but not sure where to start?

Strap down your keyboard because today we’ll race over the following options for running Neo4j, from local apps to cloud managed services:

Aura

Aura is Neo4j’s official fully managed cloud database service. It offers a hassle-free experience by handling database management tasks like scaling, backups, and security.

There are currently 2 different Aura products:

  • AuraDB: Neo4j’s general purpose database. It includes the APOC Core library for additional functionality that supports data integration and data conversion tasks. Start here if you want a database that needs to be accessible by other cloud services.
  • AuraDS: Designed for data science and machine learning on graph data. Essentially AuraDB + the Graph Data Science library. It enables using ML models at scale to improve predictions. Jumpstart with AuraDS if you intend to do powerful graph analytics or data science projects.

AuraDB is available under 3 tiers - Free, Professional and Enterprise.

To setup an Enterprise account you’ll need to contact Sales. Go to the Login/Register page to start either a Free or Professional account.

AuraDS is available with just 2 tiers — Professional and Enterprise

Like AuraDB, signing up for Enterprise will require contacting the Neo4j Sales team, whereas Professional can be done entirely through the web dashboard and a credit card.

Neo4j also has special programs for Startups and Educators at K-12, College, or University institutions.

Once an account has been created, there are 3 general steps to spinning up a new database instance.

  • Create a Database: Follow the prompts to create a new database instance.
  • Save Credentials: Once you’ve started the database creation process, a credentials .txt file will downloaded. Keep these safe or duplicate the information to a password manager — as there is no way to retrieve these from the dashboard or reset later.
  • Connect: Use the provided connection details to connect to your new database using Neo4j Workspaces or via a driver.
Official Neo4j client drivers

Big Three

Neo4j Enterprise Edition is also available in all of the major cloud marketplaces: AWS, Azure, and Google Cloud.

These are great options for teams who are already using one or several of these platforms. Some other benefits include:

  • Easy deployment: Cloud marketplaces simplify the process of setting up and deploying Neo4j, often with pre-configured images.
  • Pay-as-you-go pricing: Flexible pricing models to fit your usage.
  • Scalability: Cloud platforms provide easier scaling options to handle growing data and user loads.
  • High availability: Cloud platforms typically provide options for high availability and disaster recovery.

All have a Bring Your Own License (BYOL) solutions. To register an Enterprise edition see this form.

The official Neo4j docs for deploying from these marketplaces can be found below.

Desktop

Neo4j Desktop is a powerful, local development environment that includes several useful plugins:

  • APOC Core: A library of useful procedures and functions for common tasks.
  • GDS: Graph Data Science library for advanced analytics and machine learning on graphs.
  • Neosemantics: Plugin for integrating Neo4j with RDF and associated file formats.

Desktop is a great solution for learning Cypher, Neo4j’s graph query language, for local experimentation, or to test the Graph Data Science (GDS) library prior to spinning up an AuraDS instance.

Installing Neo4j Desktop

  1. Download: Visit the Neo4j Desktop download page and download the installer for your operating system.
  2. Install: Run the installer and follow the on-screen instructions.
  3. Setup: Launch Neo4j Desktop and create a new project. You can then create and manage databases locally.

Docker

Docker simplifies deployment, ensures consistency across environments, enhances scalability, and integrates well with modern development and orchestration tools, making it a highly flexible and efficient option for managing graph databases.

Both the Community and Enterprise editions of Neo4j are available as various tags through DockerHub.

3 of many officially maintained Neo4 Docker images

Installing via Docker Desktop

Search for neo4j then select the desired tag version — this will be the same options as above from DockerHub.

Finding Neo4j via Docker Desktop

Installing via Docker CLI

  1. Install Docker: Ensure Docker is installed on your machine.
  2. Pull the Image: Run docker pull neo4j to get the latest Neo4j image (or use one of the other options listed in DockerHub).
  3. Run a Container: Start a new container with docker run -d --name neo4j -p 7474:7474 -p 7687:7687 neo4j.

See the official Neo4j Docker Guide for more implementation details.

Kubernetes

Deploying Neo4j via Kubernetes is a great option when integrating Neo4j into a broader microservices architecture. Using Neo4j with Kubernetes also makes sense for teams looking to leverage automated operations, streamline their DevOps processes, and maintain high availability with minimal manual intervention.

This combination is especially powerful for projects that require rapid development cycles, robust disaster recovery capabilities, and the ability to efficiently manage resources in dynamic, distributed systems.

Standalone or cluster instances of Neo4j can be spun up from the official helm chart repository via Helm:

helm repo add neo4j https://helm.neo4j.com/neo4j

And will require configuring one or more YAML files.

For more details, see the official Neo4j Kubernetes guide.

Sandbox

Neo4j Sandbox is a free, cloud-based environment where you can explore graph databases with preloaded datasets. These are a great way to start learning how to use Neo4j databases without needing to first import your own data.

How to Get Started with Sandbox

  1. Sign Up: Create a free account on the Neo4j’s Sandbox website.
  2. Launch: Select a dataset and launch the sandbox environment.
  3. Explore: Use the provided credentials to access the Neo4j Browser and start exploring the data.
Several of 25+ prebuilt datasets

After launching a sandbox, you will find the connection credentials on the sandbox dashboard, which you can use to connect from the Neo4j Browser and other tools.

Recording of how to access credentials for an expired Sandbox instance

Server

Running Neo4j directly on a device allows full control over your database environment and the ability to deploy to IoT devices. From the Deployments Page, scroll down to the Graph Database Self-Managed section and select an executable matching your Operating System.

For an example of deploying an executable to a device like the Raspberry Pi, see this previous how-to article.

What Next

Go to GraphAcademy to deepen your knowledge of Neo4j, the Cypher query language, and discover how to combine GenAI with the power of Graphs.

Good luck and best wishes on your graph journey!

Four of many course modules

--

--

Jason Koo

Developer Advocate at Neo4j, technophile and former iOS Developer.