neo4jIniziare con neo4j


Osservazioni

Questa sezione fornisce una panoramica di cosa sia neo4j e del perché uno sviluppatore potrebbe volerlo utilizzare.

Dovrebbe anche menzionare soggetti di grandi dimensioni all'interno di neo4j e collegarsi agli argomenti correlati. Poiché la documentazione di neo4j è nuova, potrebbe essere necessario creare versioni iniziali di tali argomenti correlati.

Cypher Query Language

Questo è il linguaggio di query di Cypher, Neo4j. In molti modi, Cypher è simile a SQL se si ha familiarità con esso, ad eccezione di SQL si riferisce agli elementi memorizzati in una tabella mentre Cypher si riferisce agli elementi memorizzati in un grafico.

Per prima cosa, dovremmo iniziare imparando come creare un grafico e aggiungere relazioni, poiché questo è essenzialmente ciò di cui Neo4j si occupa.

CREATE (ab:Object { age: 30, destination: "England", weight: 99 })
 
  • Usa CREATE per creare dati
  • Per indicare un nodo, si utilizza la parentesi: ()
  • La parte ab: Object può essere suddivisa come segue: una variabile 'ab' e label 'Object' per il nuovo nodo. Nota che la variabile può essere qualsiasi cosa, ma devi essere coerente in una riga di Cypher Query
  • Per aggiungere proprietà al nodo, utilizzare le parentesi: {} parentesi

Successivamente, impareremo a trovare MATCH

MATCH (abc:Object) WHERE abc.destination = "England" RETURN abc;
 

MATCH specifica che si desidera cercare un determinato nodo / modello di relazione (abc: Object) fa riferimento a un nodo Pattern (con etichetta Object) che memorizza le corrispondenze nella variabile abc. Puoi pensare a questa intera linea come la seguente

abc =  find the matches that is an Object WHERE the destination is England.
 

In questo caso, WHERE aggiunge un vincolo che è che la destinazione deve essere l'Inghilterra. Devi includere un ritorno alla fine per tutte le query MATCH (neo4j non accetterà solo una corrispondenza ... la tua query deve sempre restituire un valore [questo dipende anche dal tipo di query che stai scrivendo ... parleremo più questo più avanti, mentre introduciamo gli altri tipi di query che puoi fare].

La prossima riga verrà spiegata in futuro, dopo aver esaminato alcuni elementi del linguaggio Cypher Query. Questo per darti un assaggio di cosa possiamo fare con questa lingua! Di seguito, troverai un esempio che ottiene il cast dei film il cui titolo inizia con 'T'

MATCH (actor:Person)-[:ACTED_IN]->(movie:Movie)
WHERE movie.title STARTS WITH "T"
RETURN movie.title AS title, collect(actor.name) AS cast
ORDER BY title ASC LIMIT 10;
 

Un elenco completo di comandi e la loro sintassi possono essere trovati nella scheda di riferimento ufficiale Neo4j Cypher qui .

Installazione e avvio di un server Neo4j

Passi prerequisiti:

  • Installa Java sul tuo computer
  • Visita il sito Web neo4j e fai clic sul link "Scarica Community Edition" o visita direttamente il link per il download .
  • Decomprimi il file scaricato .tar nella tua home directory

Avvia Neo4j dalla console (senza testa, senza server web)

  • Visita la sottodirectory /bin della cartella estratta ed esegui nel terminale ./neo4j console
  • Ora è possibile eseguire query neo4j nel terminale

Avvia il server Web Neo4j

  • Visita la sottodirectory / bin della cartella estratta ed esegui nel terminale ./neo4j start
  • Visita http: // localhost: 7474 /
  • Solo la prima volta, dovrai accedere con l'account predefinito e cambiare la password predefinita. A partire dalla versione 3.0.3 della comunità, il nome utente e la password predefiniti sono neo4j e neo4j.
  • È ora possibile inserire query Neo4j nella console fornita nel browser Web e analizzare visivamente i risultati di ciascuna query.

Avvia il server Web Neo4j

Ogni server Neo4j attualmente (nella versione community) può ospitare un singolo database Neo4j, quindi per impostare un nuovo database:

  • Visita la sottodirectory /bin ed esegui ./neo4j stop per fermare il server
  • Visita la sottodirectory /conf e modifica il file neo4j.conf , cambiando il valore del parametro dbms.active_database sul nome del nuovo database che vuoi creare.
  • Visitare nuovamente la sottodirectory / bin ed eseguire ./neo4j start
  • Il server Web è stato riavviato con il nuovo database vuoto. Puoi visitare nuovamente http: // localhost: 7474 / per lavorare con il nuovo database.
  • Il database creato si trova nella sottodirectory /data/databases , sotto una cartella con il nome specificato nel parametro dbms.active_database .

Elimina uno dei database

  • Assicurarsi che il server Neo4j non sia in esecuzione; vai alla sottodirectory / bin ed esegui ./neo4j status . Se il messaggio di output indica che il server è in esecuzione, eseguire anche ./neo4j stop .

  • Quindi vai nella sottodirectory / data / database ed elimina la cartella del database che vuoi rimuovere.

Installazione o configurazione

Vai su Installa Neo4j che dovrebbe rilevare la piattaforma del sistema operativo tramite il tuo browser web, scaricare e seguire le consuete istruzioni di installazione per il tuo sistema operativo.

Neo4j è stato creato con Java, quindi funzionerà su qualsiasi piattaforma con Java installato, tuttavia il team Neo4j ha semplificato l'installazione fornendo pacchetti di installazione facili per piattaforme popolari (ad esempio un .dmg per Mac, un .deb per Debian e Ubuntu, un file .exe per piattaforme Windows 64 e 32 bit ...).

Per rivedere altre versioni e piattaforme disponibili, vedere Altre versioni di Neo4j

Imposta Neo4j come contenitore Docker:

## Required : Docker machine, docker cli

# Pull neo4j image from the docker hub
docker pull neo4j

# create the docker container
docker run \
    --publish=7474:7474 --publish=7687:7687 \
    --volume=$HOME/neo4j/data:/data \
    neo4j

# If you are running docker directly on the host (e.g ubuntu, RHEL, CentOs etc)
#     Access the neo4j console at http://localhost:7474
# If you are on OSX/ Windows
#     Access the neo4j console at http://<docker-machine-ip>:7474
 

RDBMS Vs Graph Database

RDBMS Database grafico
tabelle grafici
Righe nodi
Colonne e dati Proprietà e suoi valori
vincoli Le relazioni
Si unisce Traversal