Database grafico · 5 min read · Sep 10, 2025

Come installare e utilizzare il database grafico Neo4j su Debian 12

Neo4j è un sistema di gestione di database grafici ad alte prestazioni per l’archiviazione di grafi, la scienza dei dati, ML, analisi e visualizzazione. Neo4j memorizza i dati in nodi, bordi che li collegano in relazioni e attributi di nodi e bordi.

In questo tutorial, ti mostreremo istruzioni passo-passo su come installare e utilizzare il database grafico Neo4j sul server Debian 12. Imparerai anche come connetterti a neo4j tramite Cypher-shell e apprendere le query Cypher di base.

Prerequisiti

Prima di procedere, assicurati di avere quanto segue:

  • Un server Debian 12 con almeno 2 GB di memoria.
  • Un utente non root con privilegi di amministratore sudo.

Installa Java OpenJDK

Prima di installare il database grafico Neo4j, devi installare Java sul tuo sistema, ed è consigliato utilizzare l’ultima versione LTS di Java - Java OpenJDK 17. In questa sezione, installerai Java OpenJDK 17 tramite il repository Debian.

Per prima cosa, esegui il comando qui sotto per aggiornare l’indice dei pacchetti Debian e ottenere le informazioni più recenti sui pacchetti.

sudo apt update

update repo

Ora installa Java OpenJDK 17 eseguendo il comando qui sotto. Nel repository Debian 12, il pacchetto default-jdk si riferisce a Java OpenJDK 17, che è richiesto dal database grafico Neo4j.

sudo apt install default-jdk

Digita y per procedere con l’installazione.

install default-jdk

Dopo aver installato Java, verifica la versione di Java utilizzando il comando qui sotto. Dovresti ottenere Java OpenJDK 17 installato sul tuo sistema.

java -version

Installazione del database grafico Neo4j

Dopo aver installato Java, sei pronto per installare il database grafico Neo4j sul tuo sistema Debian. Installerai le dipendenze di base, configurerai il repository Neo4j, installerai il pacchetto Neo4j, quindi avvierai e abiliterai il servizio neo4j.

Per iniziare, esegui il comando qui sotto per installare gli strumenti di sistema di base sul tuo server Debian.

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

install basic deps

Ora esegui il seguente comando per aggiungere la chiave GPG e il repository di Neo4j. In questo caso, aggiungerai il repository di Neo4j al tuo sistema.

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

Successivamente, aggiorna l’indice dei pacchetti Debian e installa il pacchetto Neo4j eseguendo il seguente comando apt.

sudo apt update && sudo apt install neo4j

Digita y per procedere con l’installazione.

install neo4j

Una volta installato il pacchetto Neo4j, esegui il seguente comando systemctl per avviare e abilitare il servizio neo4j.

sudo systemctl start neo4j  
sudo systemctl enable neo4j

Infine, verifica il servizio neo4j utilizzando il comando qui sotto per assicurarti che il servizio sia in esecuzione.

sudo systemctl status neo4j

Se il Neo4j Graph Database è in esecuzione, l’output active(running) verrà visualizzato sullo schermo come segue.

verify neo4j service

Configurazione di base del deployment di Neo4j

Ora che hai installato il database grafico Neo4j, il primo compito per te è configurare la password di amministrazione di Neo4j tramite il comando neo4j-admin, impostare l’indirizzo di ascolto e la memoria heap massima modificando la configurazione predefinita /etc/neo4j/neo4j.conf.

Esegui il comando neo4j-admin qui sotto per impostare la password predefinita per la tua installazione di Neo4j. In questo esempio, imposterai la password predefinita di Neo4j su p4ssword.

neo4j-admin dbms set-initial-password p4ssword

Dopo aver configurato la password predefinita di Neo4j, apri la configurazione di Neo4j /etc/neo4j/neo4j.conf utilizzando il seguente comando dell’editor nano.

sudo nano /etc/neo4j/neo4j.conf

Aggiungi il tuo indirizzo IP locale al parametro dbms.default_listen_address per consentire a Neo4j di funzionare sulla rete locale. Quindi, modifica il parametro server.memory.heap.max_size per impostare la memoria heap massima per il database grafico Neo4j. In questo caso, Neo4j funzionerà su 192.168.5.15 con una memoria heap massima di 4 GB.

dbms.default_listen_address=192.168.5.15  
  
server.memory.heap.initial_size=512m  
server.memory.heap.max_size=4096m

Quando hai finito, salva il file ed esci dall’editor.

Infine, esegui il comando systemctl qui sotto per applicare le modifiche riavviando il servizio neo4j.

sudo systemctl restart neo4j

initial configuration neo4j

Connessione a Neo4j tramite Cypher-shell

Per connetterti al database grafico Neo4j, utilizza il cypher-shell. La funzionalità del cypher-shell è simile al client mysql su MySQL/MariaDB e psql su PostgreSQL. Il cypher-shell ti consente di eseguire query Cypher, che è un linguaggio di query dichiarativo per il database grafico Neo4j.

Esegui il comando cypher-shell qui sotto per accedere al database grafico Neo4j. Quando ti viene chiesto un nome utente, inserisci l’utente predefinito neo4j, quindi inserisci la tua password.

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

Una volta connesso, verrà visualizzato il messaggio ‘Connesso a Neo4j … come utente neo4j‘ e il prompt diventerà simile a ‘neo4j@neo4j>‘.

connecting via cypher-shell

Ora esegui la seguente query Cypher :help per mostrare i messaggi di aiuto e :exit per uscire dal cypher-shell. Come hai notato, le query Cypher iniziano sempre con un punto e virgola.

:help  
:exit

run command

Inoltre, utilizza l’opzione aggiuntiva -a per connetterti a un server Neo4j specifico, o -u per accedere come utente desiderato.

cypher-shell -a 'neo4j://192.168.5.15:7687' -u neo4j -p p4ssword

Operazioni di base nel database grafico Neo4j

Nel database grafico Neo4j, ci sono 3 entità principali:

  1. Nodi: le entità dati del database grafico Neo4j e utilizzano le parentesi () nel linguaggio di query Cypher.
  2. Relazioni: quando due Nodi si collegano tra loro, si chiama Relazione. La Relazione è rappresentata con una freccia ->, che indica la direzione tra i Nodi.
  3. Percorsi: consiste di Nodi e Relazioni connessi.

Per prima cosa, esegui la seguente query per creare un nuovo nodo con l’etichetta Movie.

CREATE (a:Movie {title:'The Matrix', released: 1999}) RETURN a;

create node

Ora, esegui la query qui sotto per creare più nodi con la stessa etichetta Person.

CREATE (a:Person {name:'Keanu Reeves', born: 1964}) RETURN a;  
CREATE (a:Person {name:'Carrie-Anne Moss', born: 1967}) RETURN a;  
CREATE (a:Person {name:'Laurence Fishburne', born: 1961}) RETURN a;

create multiple nodes

Successivamente, esegui la seguente query per creare nuove relazioni tra i nodi etichettati Person e il nodo etichettato Movie. In questo caso, la relazione sarà chiamata ACTED_IN con proprietà ruoli.

MATCH (a:Person), (b:Movie) WHERE (a.name = 'Keanu Reeves') AND b.title = 'The Matrix' CREATE (a)-[r:ACTED_IN {roles:['Neo']}]->(b);  
MATCH (a:Person), (b:Movie) WHERE (a.name = 'Carrie-Anne Moss') AND b.title = 'The Matrix' CREATE (a)-[r:ACTED_IN {roles:['Trinity']}]->(b);  
MATCH (a:Person), (b:Movie) WHERE (a.name = 'Laurence Fishburne') AND b.title = 'The Matrix' CREATE (a)-[r:ACTED_IN {roles:['Morpheus']}]->(b);

create relationships between nodes

Infine, esegui la seguente query per controllare i nodi e le relazioni disponibili all’interno del tuo database grafico Neo4j.

MATCH (s)-[r]->(e)  
RETURN s.name AS Name, e.title AS Title, r.roles AS As;

L’output seguente conferma che ogni nodo è connesso.

check data

Conclusione

In conclusione, ora hai installato con successo il database grafico Neo4j sul server Debian 12 passo dopo passo. Hai installato e configurato il database grafico Neo4j, appreso l’uso di base di Cypher-shell per connetterti a Neo4j e appreso le operazioni di base utilizzando il linguaggio di query Cypher.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.