neo4jAan de slag met neo4j


Opmerkingen

Deze sectie geeft een overzicht van wat neo4j is en waarom een ontwikkelaar het misschien wil gebruiken.

Het moet ook alle grote onderwerpen binnen neo4j vermelden en naar de gerelateerde onderwerpen verwijzen. Aangezien de documentatie voor neo4j nieuw is, moet u mogelijk eerste versies van die gerelateerde onderwerpen maken.

Cypher Query Language

Dit is de Cypher, de querytaal van Neo4j. In veel opzichten is Cypher vergelijkbaar met SQL als u er bekend mee bent, behalve dat SQL verwijst naar items die in een tabel zijn opgeslagen, terwijl Cypher verwijst naar items die in een grafiek zijn opgeslagen.

Allereerst moeten we beginnen met het leren maken van een grafiek en het toevoegen van relaties, want dat is in wezen waar Neo4j voor staat.

CREATE (ab:Object { age: 30, destination: "England", weight: 99 })
 
  • U gebruikt CREATE om gegevens te maken
  • Om een knoop aan te geven, gebruikt u haakjes: ()
  • Het gedeelte ab: Object kan als volgt worden opgesplitst: een variabele 'ab' en label 'Object' voor het nieuwe knooppunt. Merk op dat de variabele alles kan zijn, maar u moet consistent zijn in een regel van Cypher Query
  • Gebruik haakjes om eigenschappen aan het knooppunt toe te voegen: {} haakjes

Vervolgens zullen we leren over het vinden van WEDSTRIJDEN

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

VERGELIJKEN geeft aan dat u wilt zoeken naar een bepaald knooppunt / relatiepatroon (abc: Object) verwijst naar één knooppuntpatroon (met label Object) waarin de overeenkomsten in de variabele abc worden opgeslagen. Je kunt deze hele lijn als volgt beschouwen

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

In dit geval voegt WHERE een beperking toe, namelijk dat de bestemming Engeland moet zijn. U moet aan het einde een terugkeer opnemen voor alle MATCH-zoekopdrachten (neo4j accepteert niet alleen een Match ... uw zoekopdracht moet altijd een waarde retourneren [dit hangt ook af van het type zoekopdracht dat u schrijft ... we zullen het hebben over dit later als we de andere soorten vragen die u kunt maken introduceren].

De volgende regel zal in de toekomst worden uitgelegd, nadat we wat meer elementen van de Cypher Query Language hebben besproken. Dit is om u een voorproefje te geven van wat we met deze taal kunnen doen! Hieronder vindt u een voorbeeld van de cast van films waarvan de titel begint met '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;
 

Een complete lijst met opdrachten en hun syntaxis is te vinden op de officiële Neo4j Cypher Reference Card hier .

Installatie en opstarten van een Neo4j-server

Vereiste stappen:

  • Installeer Java op uw machine
  • Bezoek de website van neo4j en klik op de link "Download Community-editie" of ga direct naar de downloadlink .
  • Pak het .tar-gedownloade bestand uit in uw thuismap

Start Neo4j vanaf console (headless, zonder webserver)

  • Ga naar de submap /bin van de uitgepakte map en voer deze uit in terminal ./neo4j console
  • U kunt nu neo4j-query's uitvoeren in de terminal

Start de Neo4j-webserver

  • Ga naar de submap / bin van de uitgepakte map en voer deze uit in terminal ./neo4j start
  • Bezoek http: // localhost: 7474 /
  • Alleen de eerste keer moet u zich aanmelden met het standaardaccount en het standaardwachtwoord wijzigen. Vanaf communityversie 3.0.3 zijn de standaardgebruikersnaam en het wachtwoord neo4j en neo4j.
  • U kunt nu Neo4j-zoekopdrachten invoegen in de console in uw webbrowser en de resultaten van elke zoekopdracht visueel onderzoeken.

Start de Neo4j-webserver

Elke Neo4j-server kan momenteel (in de communityeditie) een enkele Neo4j-database hosten, dus om een nieuwe database in te stellen:

  • Ga naar submap /bin en voer ./neo4j stop uit om de server te stoppen
  • Ga naar de submap /conf en bewerk het bestand neo4j.conf , waarbij de waarde van de parameter dbms.active_database in de naam van de nieuwe database die u wilt maken.
  • Bezoek opnieuw de submap / bin en voer ./neo4j start
  • De webserver is opnieuw gestart met de nieuwe lege database. U kunt http: // localhost: 7474 / opnieuw bezoeken om met de nieuwe database te werken.
  • De gemaakte database bevindt zich in de submap /data/databases , onder een map met de naam die is opgegeven in de parameter dbms.active_database .

Verwijder een van de databases

  • Zorg ervoor dat de Neo4j-server niet actief is; ga naar submap / bin en voer ./neo4j status . Als het uitvoerbericht aangeeft dat de server actief is, voert u ook ./neo4j stop .

  • Ga vervolgens naar subdirectory / data / databases en verwijder de map van de database die u wilt verwijderen.

Installatie of instellingen

Ga naar Neo4j installeren die het OS-platform via uw webbrowser zou moeten detecteren, download en volg de gebruikelijke installatie-instructies voor uw OS.

Neo4j is gemaakt met Java, daarom werkt het op elk platform waarop Java is geïnstalleerd, maar het Neo4j-team heeft de installatie vereenvoudigd door eenvoudige installatiepakketten voor het populaire platform te bieden (bijvoorbeeld een .dmg voor Mac, een .deb voor Debian en Ubuntu, een .exe voor Windows 64- en 32-bits platforms ...).

Zie Andere Neo4j-releasepagina om andere beschikbare versies en platforms te bekijken

Neo4j instellen als Docker-container:

## 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 versus grafiekdatabase

RDBMS Grafiekdatabase
tabellen grafieken
rijen knooppunten
Kolommen en gegevens Eigenschappen en zijn waarden
constraints Verhoudingen
Doet mee traversal