Howtoforge TutorialsTutorial searchTagsForumsLinux CommandsHowtoForge Subscription Search HomeHome How to Install and Use Neo4j Graph Database on Debian 12How to Install and Use Neo4j Graph Database on Debian 12 > How to Install and Use Neo4j Graph Database on Debian 12On this pagePrerequisitesInstall Java OpenJDKInstalling Neo4j Graph DatabaseBasic Configuration of Neo4j Dep..." /> Howtoforge TutorialsTutorial searchTagsForumsLinux CommandsHowtoForge Subscription Search HomeHome How to Install and Use Neo4j Graph Database on Debian 12How to Install and Use Neo4j Graph Database on Debian 12 > How to Install and Use Neo4j Graph Database on Debian 12On this pagePrerequisitesInstall Java OpenJDKInstalling Neo4j Graph DatabaseBasic Configuration of Neo4j Dep..." /> How to Install and Use Neo4j Graph Database on Debian 12

How to Install and Use Neo4j Graph Database on Debian 12

Neo4j is a high-performance graph database management system for graph storage, data science, ML, analytics, and visualization. The Neo4j stores data in nodes, edges connecting them in relationships, and attributes of nodes and edges.

In this tutorial, we'll show you step-by-step instructions on installing and using the Neo4j Graph Database on the Debian 12 server. You will also learn how to connect to neo4j via Cypher-shell and learn the basic Cypher queries.

Prerequisites

Before you proceed, ensure you have the following:

  • A Debian 12 server with at least 2 GB memory.
  • A non-root user with sudo administrator privileges.

Install Java OpenJDK

Before installing Neo4j Graph Database, you must install Java on your system, and it's recommended to use the latest Java LTS version - Java OpenJDK 17. In this section, you will install Java OpenJDK 17 via the Debian repository.

First, execute the command below to update your Debian package index and get the latest package information.

sudo apt update

update repo

Now install the Java OpenJDK 17 by executing the command below. On the Debian 12 repository, the default-jdk package refers to the Java OpenJDK 17, which Neo4j Graph Database requires.

sudo apt install default-jdk

Type y to proceed with the installation.

install default-jdk

After installing Java, verify the Java version using the command below. You should get the Java OpenJDK 17 installed on your system.

java -version

verify java

Installing Neo4j Graph Database

After installing Java, you're ready to install the Neo4j Graph Database to your Debian system. You will install basic dependencies, set up the Neo4j repository, install the Neo4j package, then start and enable the neo4j service.

To start, run the command below to install basic system tools to your Debian server.

sudo apt install gnupg2 apt-transport-https wget curl -y

install basic deps

Now execute the following command to add the Neo4j GPG key and repository. In this case, you will add the Neo4j repository to your system.

wget -q -O- https://debian.neo4j.com/neotechnology.gpg.key | \
    gpg --dearmor | sudo tee /usr/share/keyrings/neotechnology.gpg > /dev/null 2>&1

echo "deb [signed-by=/usr/share/keyrings/neotechnology.gpg] https://debian.neo4j.com stable latest" | \
    sudo tee /etc/apt/sources.list.d/neo4j.list

add repo

Next, refresh your Debian package index and install the Neo4j package by executing the following apt command.

sudo apt update && sudo apt install neo4j

Type y to proceed with the installation.

install neo4j

Once you've installed the Neo4j package, execute the following systemctl command to start and enable the neo4j service.

sudo systemctl start neo4j
sudo systemctl enable neo4j

Lastly, verify the neo4j service using the command below to ensure that the service is running.

sudo systemctl status neo4j

If the Neo4j Graph Database is running, the output active(running) will be displayed on your screen like the following.

verify neo4j service

Basic Configuration of Neo4j Deployment

Now that you've installed Neo4j Graph Database, the first task for you is to configure the Neo4j admin password via the neo4j-admin command line, set up the listen address and max heap memory by modifying the default configuration /etc/neo4j/neo4j.conf.

Run the neo4j-admin command below to set up the default password for your Neo4j installation. In this example, you will set up the default Neo4j password to p4ssword.

neo4j-admin dbms set-initial-password p4ssword

After configuring the Neo4j default password, open the Neo4j configuration /etc/neo4j/neo4j.conf using the following nano editor command.

sudo nano /etc/neo4j/neo4j.conf

Add your local IP address to dbms.default_listen_address parameter to allow Neo4j to run on the local network. Then, change the server.memory.heap.max_size parameter to set up the max heap memory for Neo4j Graph Database. In this case, the Neo4j will be running at 192.168.5.15 with a max heap memory of 4 GB.

dbms.default_listen_address=192.168.5.15

server.memory.heap.initial_size=512m
server.memory.heap.max_size=4096m

When finished, save the file and exit the editor.

Lastly, run the systemctl command below to apply the changes by restarting the neo4j service.

sudo systemctl restart neo4j

initial configuration neo4j

Connecting to Neo4j via Cypher-shell

To connect to the Neo4j Graph Database, use the cyper-shell. The functionality of cypher-shell is similar to mysql client on MySQL/MariaDB and psql on PostgreSQL. The cypher-shell allows you to run Cypher queries, which is a declarative query language for the Neo4j Graph Database.

Execute the cypher-shell command below to log in to the Neo4j Graph Database. When asked for a username, input the default user neo4j, then input your password.

cypher-shell -a 'neo4j://192.168.5.15:7687'

Once connected, the message 'Connected to Neo4j ... as user neo4j' will be displayed and the prompt will become like 'neo4j@neo4j>'.

connecting via cypher-shell

Now run the following Cypher query :help to show help messages and :exit to exit from the cypher-shell. As you noticed, the Cypher queries always begin with a semicolon.

:help
:exit