neo4jDémarrer avec neo4j


Remarques

Cette section fournit une vue d'ensemble de ce que neo4j est et pourquoi un développeur peut vouloir l'utiliser.

Il devrait également mentionner tous les grands sujets dans neo4j, et établir un lien avec les sujets connexes. La documentation de neo4j étant nouvelle, vous devrez peut-être créer des versions initiales de ces rubriques connexes.

Langage de requête Cypher

C'est le langage d'interrogation de Cypher, Neo4j. À bien des égards, Cypher est similaire à SQL si vous le connaissez, sauf que SQL fait référence à des éléments stockés dans une table alors que Cypher fait référence à des éléments stockés dans un graphique.

Tout d'abord, nous devrions commencer par apprendre à créer un graphique et à ajouter des relations, car c'est essentiellement ce que propose Neo4j.

CREATE (ab:Object { age: 30, destination: "England", weight: 99 })
 
  • Vous utilisez CREATE pour créer des données
  • Pour indiquer un nœud, vous utilisez une parenthèse: ()
  • La partie ab: Object peut être décomposée comme suit: une variable 'ab' et l'étiquette 'Object' pour le nouveau noeud. Notez que la variable peut être n'importe quoi, mais vous devez être cohérent dans une ligne de requête Cypher
  • Pour ajouter des propriétés au noeud, utilisez des crochets: {} entre crochets

Ensuite, nous allons apprendre à trouver des MATCH

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

MATCH spécifie que vous souhaitez rechercher un certain nœud / modèle de relation (abc: Object) fait référence à un nœud Pattern (avec label Object) qui stocke les correspondances dans la variable abc. Vous pouvez penser à cette ligne entière comme suit

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

Dans ce cas, WHERE ajoute une contrainte: la destination doit être l'Angleterre. Vous devez inclure un retour à la fin de toutes les requêtes MATCH (neo4j n'acceptera pas juste un match ... votre requête doit toujours renvoyer une valeur [cela dépend aussi du type de requête que vous écrivez ... nous en parlerons plus ceci plus tard que nous introduisons les autres types de requêtes que vous pouvez faire].

La ligne suivante sera expliquée dans le futur, après avoir passé en revue quelques autres éléments du langage d'interrogation Cypher. C'est pour vous donner un avant-goût de ce que nous pouvons faire avec cette langue! Ci-dessous, vous trouverez un exemple qui obtient la distribution de films dont le titre commence par '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;
 

Une liste complète des commandes et de leur syntaxe peut être trouvée sur la carte de référence officielle de la Neo4j Cypher ici .

Installation et démarrage d'un serveur Neo4j

Étapes préalables:

  • Installer Java sur votre machine
  • Visitez le site Web neo4j et cliquez sur le lien "Télécharger l'édition communautaire" ou visitez directement le lien de téléchargement .
  • Décompressez le fichier téléchargé .tar dans votre répertoire personnel

Démarrer Neo4j à partir de la console (sans tête, sans serveur Web)

  • Visitez le sous-répertoire /bin du dossier extrait et exécutez la ./neo4j console terminal ./neo4j console
  • Vous pouvez maintenant exécuter des requêtes neo4j dans le terminal

Démarrer le serveur Web Neo4j

  • Visitez le sous-répertoire / bin du dossier extrait et exécutez le terminal ./neo4j start
  • Visitez http: // localhost: 7474 /
  • Seulement la première fois, vous devrez vous connecter avec le compte par défaut et changer le mot de passe par défaut. À partir de la version 3.0.3 de la communauté, le nom d'utilisateur et le mot de passe par défaut sont neo4j et neo4j.
  • Vous pouvez maintenant insérer des requêtes Neo4j dans la console fournie dans votre navigateur Web et examiner visuellement les résultats de chaque requête.

Démarrer le serveur Web Neo4j

Chaque serveur Neo4j actuellement (dans l'édition communautaire) peut héberger une seule base de données Neo4j, donc pour installer une nouvelle base de données:

  • Visitez le sous-répertoire /bin et exécutez ./neo4j stop pour arrêter le serveur
  • Rendez-vous dans le sous-répertoire /conf et modifiez le fichier neo4j.conf la valeur du paramètre dbms.active_database sur le nom de la nouvelle base de données que vous souhaitez créer.
  • Visitez à nouveau le sous-répertoire / bin et exécutez ./neo4j start
  • Le serveur Web a redémarré avec la nouvelle base de données vide. Vous pouvez visiter à nouveau http: // localhost: 7474 / pour travailler avec la nouvelle base de données.
  • La base de données créée se trouve dans le sous-répertoire /data/databases , sous un dossier portant le nom spécifié dans le paramètre dbms.active_database .

Supprimer l'une des bases de données

  • Assurez-vous que le serveur Neo4j ne fonctionne pas. allez dans le sous-répertoire / bin et exécutez le ./neo4j status . Si le message de sortie indique que le serveur est en cours d'exécution, exécutez également ./neo4j stop .

  • Ensuite, allez dans le sous-répertoire / data / databases et supprimez le dossier de la base de données à supprimer.

Installation ou configuration

Allez sur Installer Neo4j qui devrait détecter la plate-forme du système d'exploitation via votre navigateur Web, téléchargez et suivez les instructions d'installation habituelles pour votre système d'exploitation.

Neo4j a été créé avec Java, donc il s'exécutera sur n'importe quelle plate-forme avec Java installé. Cependant, l'équipe de Neo4j a simplifié l'installation en fournissant des paquets d'installation faciles pour une plate-forme populaire. pour les plates-formes Windows 64 et 32 ​​bits ...).

Pour consulter les autres versions et plates-formes disponibles, consultez la page Autres versions de Neo4j

Configurez Neo4j en tant que conteneur 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
 

SGBDR Vs Graph Database

SGBDR Base de données graphique
les tables Des graphiques
Des rangées Les nœuds
Colonnes et données Propriétés et ses valeurs
Contraintes Des relations
Joint Traversal