SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
BD NoSQL Orientée Graphe
« Neo4j »
n.soussi@usms.ma
Bases de Données NoSQL & Calcul Distribués
Pr. SOUSSI Nassima
Introduction sur la BD
Neo4j
2
Bases de Données NoSQL & Calcul Distribués
Introduction sur Neo4j
3
Présentation générale
Bases de Données NoSQL & Calcul Distribués
‒ Neo4j est une base de données orientée graphe, libre et
écrite en Java.
‒ Développée par Neo Technology (une société suédoise): les
premières lignes de codes datent de l'année 2000 et la version
1.0 est sortie en 2010.
‒ Elle est l'une des premières bases de données orientées
graphes, mais aussi l'une des plus évoluées et robustes.
Introduction sur Neo4j
4
Caractéristiques
Bases de Données NoSQL & Calcul Distribués
 Haute disponibilité : Fonctionnement en cluster possible (peut
répartir la charge sur plusieurs serveur)
 Volumétrie : stocker et requêter des milliards de nœuds et de
relations;
 Cypher : langage d’interrogation de la base à travers HTTP =>
Langage très simple et très puissant
 Schemaless : pas de schéma préétabli.
Introduction sur Neo4j
5
Modèle de données : Eléments de base
Bases de Données NoSQL & Calcul Distribués
 Le nœud est l’unité fondamentale qui constitue un graphe :
Peut être associé à des labels et peut posséder des propriétés
Un nœud peut posséder plusieurs labels
 Une relation connecte deux nœuds avec une direction : Peut
également posséder des propriétés.
 Propriétés pour les nœuds et relations comme paires clé-
valeur : Valeurs de type nombre, chaine de caractères, booléen et
listes.
Introduction sur Neo4j
6
Bases de Données NoSQL & Calcul Distribués
Modèle de données : Exemple 1
Introduction sur Neo4j
7
Bases de Données NoSQL & Calcul Distribués
Modèle de données : Exemple 2
Cypher Query Language
8
Bases de Données NoSQL & Calcul Distribués
Cypher Query Language
9
Bases de Données NoSQL & Calcul Distribués
Le langage Cypher
‒ Cypher est un langage déclaratif permettant de requêter et
mettre à jour le graphe.
‒ Inspiré du SQL, on y retrouve beaucoup de concepts
familiers, comme les clauses WHERE, ORDER BY, SKYP,
LIMIT…
‒ Son objectif est de permettre à l'utilisateur de définir des
motifs, qui seront par la suite recherchés dans tout le graphe.
Cypher Query Language
10
Bases de Données NoSQL & Calcul Distribués
Le langage Cypher
Exemple : je veux les amis de mes amis.
Dans ce cas il faut décrire le pattern suivant :
 le pattern textuelle est comme suit :
(moi) -[:AMI]-> (mesAmis) -[:AMI]-> (amisDeMesAmis)
Cypher Query Language
11
Bases de Données NoSQL & Calcul Distribués
Le langage Cypher : Noeud
‒ Les nœuds sont représentés avec des parenthèses, ce qui
ressemble à des cercles : ()
‒ Pour spécifier un label, il suffit de l'ajouter comme
ceci : (monNoeud:monLabel)
‒ Si vous avez besoin d'identifier le nœud dans votre requête
(dans une clause WHERE par exemple), il suffit de lui donner un
nom : (monNoeud)
Cypher Query Language
12
Bases de Données NoSQL & Calcul Distribués
Le langage Cypher : Noeud
Voici quelques exemples :
 () : n'importe quel nœud ;
 (:Personne) : un nœud avec le label Personne ;
 (n:Personne) : un nœud identifié dans la variable n avec le
label Personne ;
 (n:Personne:Acteur) : un nœud identifié dans la variable n avec
le label Personne et Acteur.
Cypher Query Language
13
Bases de Données NoSQL & Calcul Distribués
Le langage Cypher : Relation
‒ Les relations sont représentées par deux tirets avec un '>',
ce qui ressemble à une flèche : -->
‒ Si vous avez besoin d'identifier la relation dans votre
requête, vous pouvez lui donner un nom comme ceci : -
[maRelation]->
‒ Pour spécifier le type de la relation, il suffit de l'ajouter
comme ceci : -[maRelation:MON_TYPE]->
Cypher Query Language
14
Bases de Données NoSQL & Calcul Distribués
Le langage Cypher : Relation
Voici quelques exemples :
 (a)--(b) : n'importe quelle relation entre le nœud a et b (peu
importe la direction) ;
 (a)-[:AMI]->(b) : relation de type AMI depuis le nœud a vers
le nœud b ;
 (a)-[r:AMI|CONNAIT]->(b) : relation identifiée dans la
variable r de type AMI ou CONNAIT depuis le nœud a vers le
nœud b.
Cypher Query Language
15
Bases de Données NoSQL & Calcul Distribués
Le langage Cypher : Exemple de Pattern
Cypher Query Language
16
Bases de Données NoSQL & Calcul Distribués
Le langage Cypher : Création
 CREATE : crée des nœuds, des relations et des patterns
 MERGE : crée aussi des nœuds, des relations et des modèles
si le pattern n’existe pas.
Cypher Query Language
17
Bases de Données NoSQL & Calcul Distribués
Le langage Cypher : Création
 Création d’un nœud :
1. CREATE (a:student{ name: ‘Ahmed Fizazi’, DateNais : 1999})
2. CREATE (b:student{name: ‘Sara Bennani’, DateNais : 2001}),
(t:teacher:director{ name: ‘Mohamed Amine’, age:49})
3. MERGE (ah:student{ name: ‘Ahmed Fizazi’, DateNais : 1999})
Cypher Query Language
18
Bases de Données NoSQL & Calcul Distribués
Le langage Cypher : Création
 Création d’une relation :
MATCH (a:student), (t:teacher)
WHERE a.name = ‘Ahmed Fizazi’ and t.name=‘Mohamed Amine’
CREATE (t)-[r:enseigne]->(a)
RETURN a,r,t
Cypher Query Language
19
Bases de Données NoSQL & Calcul Distribués
Le langage Cypher : Lecture
 MATCH : le moyen le plus simple d'obtenir des données à
partir du graphe
 WHERE : Filtrer les résultats à l'aide de conditions
Cypher Query Language
20
Bases de Données NoSQL & Calcul Distribués
Le langage Cypher : Lecture
 RETURN :
‒ Permet de retourner le résultat voulu.
‒ Peut être utilisé avec SKIP/LIMIT et ORDER BY
Cypher Query Language
21
Bases de Données NoSQL & Calcul Distribués
Le langage Cypher : Lecture
 RETURN :
‒ Les données retournées peuvent être des : nœuds,
propriétés ou patterns.
‒ Affichagede tout le graphe :
MATCH (n) RETURN (n)
Cypher Query Language
22
Bases de Données NoSQL & Calcul Distribués
Le langage Cypher : Ajouter
 SET :
‒ Ajoute ou met à jour les propriétés (sur les nœuds et les
relations) et les labels (uniquement sur les nœuds)
Cypher Query Language
23
Bases de Données NoSQL & Calcul Distribués
Le langage Cypher : Suppression
 DELETE :
‒ Supprimer des nœuds et des relations.
‒ Lors de la suppression d'un nœud, utilisez DETACH
pour supprimer d'abord ses relations.
‒ Supprimer tous le graphe :
MATCH (n) DETACH RETURN (n)
Cypher Query Language
24
Bases de Données NoSQL & Calcul Distribués
Le langage Cypher : Suppression
 REMOVE :
Supprimer les propriétés d'un nœud ou d'une relation.
Cypher Query Language
25
Bases de Données NoSQL & Calcul Distribués
Le langage Cypher
Documentation officielle :
https://neo4j.com/docs/cypher-manual/current/clauses/

Contenu connexe

Tendances

MySQL InnoDB Cluster - Advanced Configuration & Operations
MySQL InnoDB Cluster - Advanced Configuration & OperationsMySQL InnoDB Cluster - Advanced Configuration & Operations
MySQL InnoDB Cluster - Advanced Configuration & OperationsFrederic Descamps
 
Using the Chebotko Method to Design Sound and Scalable Data Models for Apache...
Using the Chebotko Method to Design Sound and Scalable Data Models for Apache...Using the Chebotko Method to Design Sound and Scalable Data Models for Apache...
Using the Chebotko Method to Design Sound and Scalable Data Models for Apache...Artem Chebotko
 
Mise en place d'une infrastructure basée sur OpenStack
Mise en place d'une infrastructure basée sur OpenStack Mise en place d'une infrastructure basée sur OpenStack
Mise en place d'une infrastructure basée sur OpenStack Ahmed Slim
 
Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)Heithem Abbes
 
Alphorm.com Microsoft AZURE
Alphorm.com Microsoft AZUREAlphorm.com Microsoft AZURE
Alphorm.com Microsoft AZUREAlphorm
 
Les bases pour utiliser SPARQL
Les bases pour utiliser SPARQLLes bases pour utiliser SPARQL
Les bases pour utiliser SPARQLBorderCloud
 
Création de Vues | SQL Oracle
Création de Vues | SQL OracleCréation de Vues | SQL Oracle
Création de Vues | SQL Oraclewebreaker
 
Introduction to Cassandra: Replication and Consistency
Introduction to Cassandra: Replication and ConsistencyIntroduction to Cassandra: Replication and Consistency
Introduction to Cassandra: Replication and ConsistencyBenjamin Black
 
Database/ Bases de données
Database/ Bases de donnéesDatabase/ Bases de données
Database/ Bases de donnéeszied kallel
 
Java - implémentation des concepts objets
Java - implémentation des concepts objetsJava - implémentation des concepts objets
Java - implémentation des concepts objetsJean David Olekhnovitch
 
Advanced SQL Injection
Advanced SQL InjectionAdvanced SQL Injection
Advanced SQL Injectionamiable_indian
 
Architecture Client-Serveur
Architecture Client-Serveur Architecture Client-Serveur
Architecture Client-Serveur Khalid EDAIG
 
Modeling Data and Queries for Wide Column NoSQL
Modeling Data and Queries for Wide Column NoSQLModeling Data and Queries for Wide Column NoSQL
Modeling Data and Queries for Wide Column NoSQLScyllaDB
 

Tendances (20)

MySQL InnoDB Cluster - Advanced Configuration & Operations
MySQL InnoDB Cluster - Advanced Configuration & OperationsMySQL InnoDB Cluster - Advanced Configuration & Operations
MySQL InnoDB Cluster - Advanced Configuration & Operations
 
Using the Chebotko Method to Design Sound and Scalable Data Models for Apache...
Using the Chebotko Method to Design Sound and Scalable Data Models for Apache...Using the Chebotko Method to Design Sound and Scalable Data Models for Apache...
Using the Chebotko Method to Design Sound and Scalable Data Models for Apache...
 
Mise en place d'une infrastructure basée sur OpenStack
Mise en place d'une infrastructure basée sur OpenStack Mise en place d'une infrastructure basée sur OpenStack
Mise en place d'une infrastructure basée sur OpenStack
 
Sql injection
Sql injectionSql injection
Sql injection
 
Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)
 
Alphorm.com Microsoft AZURE
Alphorm.com Microsoft AZUREAlphorm.com Microsoft AZURE
Alphorm.com Microsoft AZURE
 
Les bases pour utiliser SPARQL
Les bases pour utiliser SPARQLLes bases pour utiliser SPARQL
Les bases pour utiliser SPARQL
 
Création de Vues | SQL Oracle
Création de Vues | SQL OracleCréation de Vues | SQL Oracle
Création de Vues | SQL Oracle
 
Introduction to Cassandra: Replication and Consistency
Introduction to Cassandra: Replication and ConsistencyIntroduction to Cassandra: Replication and Consistency
Introduction to Cassandra: Replication and Consistency
 
第18回しゃちほこオラクル俱楽部
第18回しゃちほこオラクル俱楽部第18回しゃちほこオラクル俱楽部
第18回しゃちほこオラクル俱楽部
 
Database/ Bases de données
Database/ Bases de donnéesDatabase/ Bases de données
Database/ Bases de données
 
Java - implémentation des concepts objets
Java - implémentation des concepts objetsJava - implémentation des concepts objets
Java - implémentation des concepts objets
 
radius
radiusradius
radius
 
Chp2 - SOA
Chp2 - SOAChp2 - SOA
Chp2 - SOA
 
MySQL Backup & Recovery
MySQL Backup & RecoveryMySQL Backup & Recovery
MySQL Backup & Recovery
 
Redis introduction
Redis introductionRedis introduction
Redis introduction
 
Advanced SQL Injection
Advanced SQL InjectionAdvanced SQL Injection
Advanced SQL Injection
 
Chapter06.ppt
Chapter06.pptChapter06.ppt
Chapter06.ppt
 
Architecture Client-Serveur
Architecture Client-Serveur Architecture Client-Serveur
Architecture Client-Serveur
 
Modeling Data and Queries for Wide Column NoSQL
Modeling Data and Queries for Wide Column NoSQLModeling Data and Queries for Wide Column NoSQL
Modeling Data and Queries for Wide Column NoSQL
 

Similaire à Partie 5 - Neo4j.pdf bd nosql oriente graphe

Base de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvreBase de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvreMICHRAFY MUSTAFA
 
BigData_TP5 : Neo4J
BigData_TP5 : Neo4JBigData_TP5 : Neo4J
BigData_TP5 : Neo4JLilia Sfaxi
 
Introduction NoSQL 201401 - Ensim
Introduction NoSQL 201401 - EnsimIntroduction NoSQL 201401 - Ensim
Introduction NoSQL 201401 - EnsimLaurent Broudoux
 
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017) Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017) univalence
 
Présentation des bases de données NoSql
Présentation des bases de données NoSqlPrésentation des bases de données NoSql
Présentation des bases de données NoSqlSidi LEKHALIFA
 
Digital GraphTour Paris - Neo4j 4.0, les nouveautés
Digital GraphTour Paris - Neo4j 4.0, les nouveautésDigital GraphTour Paris - Neo4j 4.0, les nouveautés
Digital GraphTour Paris - Neo4j 4.0, les nouveautésNeo4j
 
Base NoSql et Python
Base NoSql et PythonBase NoSql et Python
Base NoSql et Pythonyboussard
 
Css.more.or.less
Css.more.or.lessCss.more.or.less
Css.more.or.lessVISEO
 
Data Mining (Partie 2).pdf
Data Mining (Partie 2).pdfData Mining (Partie 2).pdf
Data Mining (Partie 2).pdfOuailChoukhairi
 
Introduction aux bases de données NoSQL
Introduction aux bases de données NoSQLIntroduction aux bases de données NoSQL
Introduction aux bases de données NoSQLAntoine Augusti
 
Geek Time Novembre 2016 : Neo4j
Geek Time Novembre 2016 : Neo4jGeek Time Novembre 2016 : Neo4j
Geek Time Novembre 2016 : Neo4jOLBATI
 
Serveur web / Base de donnees Langages de développement
Serveur web / Base de donnees Langages de développementServeur web / Base de donnees Langages de développement
Serveur web / Base de donnees Langages de développementLudovic REUS
 
11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .netHamza SAID
 
Certification mcse data platform
Certification mcse data platformCertification mcse data platform
Certification mcse data platformEGILIA Learning
 

Similaire à Partie 5 - Neo4j.pdf bd nosql oriente graphe (20)

Base de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvreBase de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvre
 
BigData_TP5 : Neo4J
BigData_TP5 : Neo4JBigData_TP5 : Neo4J
BigData_TP5 : Neo4J
 
Introduction NoSQL 201401 - Ensim
Introduction NoSQL 201401 - EnsimIntroduction NoSQL 201401 - Ensim
Introduction NoSQL 201401 - Ensim
 
MariaDB une base de donnees NewSQL
MariaDB une base de donnees NewSQLMariaDB une base de donnees NewSQL
MariaDB une base de donnees NewSQL
 
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017) Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
 
Présentation des bases de données NoSql
Présentation des bases de données NoSqlPrésentation des bases de données NoSql
Présentation des bases de données NoSql
 
Digital GraphTour Paris - Neo4j 4.0, les nouveautés
Digital GraphTour Paris - Neo4j 4.0, les nouveautésDigital GraphTour Paris - Neo4j 4.0, les nouveautés
Digital GraphTour Paris - Neo4j 4.0, les nouveautés
 
Adopte une BDD
Adopte une BDDAdopte une BDD
Adopte une BDD
 
Base NoSql et Python
Base NoSql et PythonBase NoSql et Python
Base NoSql et Python
 
Css.more.or.less
Css.more.or.lessCss.more.or.less
Css.more.or.less
 
Neo4j
Neo4jNeo4j
Neo4j
 
Data Mining (Partie 2).pdf
Data Mining (Partie 2).pdfData Mining (Partie 2).pdf
Data Mining (Partie 2).pdf
 
Introduction aux bases de données NoSQL
Introduction aux bases de données NoSQLIntroduction aux bases de données NoSQL
Introduction aux bases de données NoSQL
 
Geek Time Novembre 2016 : Neo4j
Geek Time Novembre 2016 : Neo4jGeek Time Novembre 2016 : Neo4j
Geek Time Novembre 2016 : Neo4j
 
Roslyn
RoslynRoslyn
Roslyn
 
SQL.pdf
SQL.pdfSQL.pdf
SQL.pdf
 
Rapport panama papers
Rapport panama papersRapport panama papers
Rapport panama papers
 
Serveur web / Base de donnees Langages de développement
Serveur web / Base de donnees Langages de développementServeur web / Base de donnees Langages de développement
Serveur web / Base de donnees Langages de développement
 
11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net
 
Certification mcse data platform
Certification mcse data platformCertification mcse data platform
Certification mcse data platform
 

Partie 5 - Neo4j.pdf bd nosql oriente graphe

  • 1. BD NoSQL Orientée Graphe « Neo4j » n.soussi@usms.ma Bases de Données NoSQL & Calcul Distribués Pr. SOUSSI Nassima
  • 2. Introduction sur la BD Neo4j 2 Bases de Données NoSQL & Calcul Distribués
  • 3. Introduction sur Neo4j 3 Présentation générale Bases de Données NoSQL & Calcul Distribués ‒ Neo4j est une base de données orientée graphe, libre et écrite en Java. ‒ Développée par Neo Technology (une société suédoise): les premières lignes de codes datent de l'année 2000 et la version 1.0 est sortie en 2010. ‒ Elle est l'une des premières bases de données orientées graphes, mais aussi l'une des plus évoluées et robustes.
  • 4. Introduction sur Neo4j 4 Caractéristiques Bases de Données NoSQL & Calcul Distribués  Haute disponibilité : Fonctionnement en cluster possible (peut répartir la charge sur plusieurs serveur)  Volumétrie : stocker et requêter des milliards de nœuds et de relations;  Cypher : langage d’interrogation de la base à travers HTTP => Langage très simple et très puissant  Schemaless : pas de schéma préétabli.
  • 5. Introduction sur Neo4j 5 Modèle de données : Eléments de base Bases de Données NoSQL & Calcul Distribués  Le nœud est l’unité fondamentale qui constitue un graphe : Peut être associé à des labels et peut posséder des propriétés Un nœud peut posséder plusieurs labels  Une relation connecte deux nœuds avec une direction : Peut également posséder des propriétés.  Propriétés pour les nœuds et relations comme paires clé- valeur : Valeurs de type nombre, chaine de caractères, booléen et listes.
  • 6. Introduction sur Neo4j 6 Bases de Données NoSQL & Calcul Distribués Modèle de données : Exemple 1
  • 7. Introduction sur Neo4j 7 Bases de Données NoSQL & Calcul Distribués Modèle de données : Exemple 2
  • 8. Cypher Query Language 8 Bases de Données NoSQL & Calcul Distribués
  • 9. Cypher Query Language 9 Bases de Données NoSQL & Calcul Distribués Le langage Cypher ‒ Cypher est un langage déclaratif permettant de requêter et mettre à jour le graphe. ‒ Inspiré du SQL, on y retrouve beaucoup de concepts familiers, comme les clauses WHERE, ORDER BY, SKYP, LIMIT… ‒ Son objectif est de permettre à l'utilisateur de définir des motifs, qui seront par la suite recherchés dans tout le graphe.
  • 10. Cypher Query Language 10 Bases de Données NoSQL & Calcul Distribués Le langage Cypher Exemple : je veux les amis de mes amis. Dans ce cas il faut décrire le pattern suivant :  le pattern textuelle est comme suit : (moi) -[:AMI]-> (mesAmis) -[:AMI]-> (amisDeMesAmis)
  • 11. Cypher Query Language 11 Bases de Données NoSQL & Calcul Distribués Le langage Cypher : Noeud ‒ Les nœuds sont représentés avec des parenthèses, ce qui ressemble à des cercles : () ‒ Pour spécifier un label, il suffit de l'ajouter comme ceci : (monNoeud:monLabel) ‒ Si vous avez besoin d'identifier le nœud dans votre requête (dans une clause WHERE par exemple), il suffit de lui donner un nom : (monNoeud)
  • 12. Cypher Query Language 12 Bases de Données NoSQL & Calcul Distribués Le langage Cypher : Noeud Voici quelques exemples :  () : n'importe quel nœud ;  (:Personne) : un nœud avec le label Personne ;  (n:Personne) : un nœud identifié dans la variable n avec le label Personne ;  (n:Personne:Acteur) : un nœud identifié dans la variable n avec le label Personne et Acteur.
  • 13. Cypher Query Language 13 Bases de Données NoSQL & Calcul Distribués Le langage Cypher : Relation ‒ Les relations sont représentées par deux tirets avec un '>', ce qui ressemble à une flèche : --> ‒ Si vous avez besoin d'identifier la relation dans votre requête, vous pouvez lui donner un nom comme ceci : - [maRelation]-> ‒ Pour spécifier le type de la relation, il suffit de l'ajouter comme ceci : -[maRelation:MON_TYPE]->
  • 14. Cypher Query Language 14 Bases de Données NoSQL & Calcul Distribués Le langage Cypher : Relation Voici quelques exemples :  (a)--(b) : n'importe quelle relation entre le nœud a et b (peu importe la direction) ;  (a)-[:AMI]->(b) : relation de type AMI depuis le nœud a vers le nœud b ;  (a)-[r:AMI|CONNAIT]->(b) : relation identifiée dans la variable r de type AMI ou CONNAIT depuis le nœud a vers le nœud b.
  • 15. Cypher Query Language 15 Bases de Données NoSQL & Calcul Distribués Le langage Cypher : Exemple de Pattern
  • 16. Cypher Query Language 16 Bases de Données NoSQL & Calcul Distribués Le langage Cypher : Création  CREATE : crée des nœuds, des relations et des patterns  MERGE : crée aussi des nœuds, des relations et des modèles si le pattern n’existe pas.
  • 17. Cypher Query Language 17 Bases de Données NoSQL & Calcul Distribués Le langage Cypher : Création  Création d’un nœud : 1. CREATE (a:student{ name: ‘Ahmed Fizazi’, DateNais : 1999}) 2. CREATE (b:student{name: ‘Sara Bennani’, DateNais : 2001}), (t:teacher:director{ name: ‘Mohamed Amine’, age:49}) 3. MERGE (ah:student{ name: ‘Ahmed Fizazi’, DateNais : 1999})
  • 18. Cypher Query Language 18 Bases de Données NoSQL & Calcul Distribués Le langage Cypher : Création  Création d’une relation : MATCH (a:student), (t:teacher) WHERE a.name = ‘Ahmed Fizazi’ and t.name=‘Mohamed Amine’ CREATE (t)-[r:enseigne]->(a) RETURN a,r,t
  • 19. Cypher Query Language 19 Bases de Données NoSQL & Calcul Distribués Le langage Cypher : Lecture  MATCH : le moyen le plus simple d'obtenir des données à partir du graphe  WHERE : Filtrer les résultats à l'aide de conditions
  • 20. Cypher Query Language 20 Bases de Données NoSQL & Calcul Distribués Le langage Cypher : Lecture  RETURN : ‒ Permet de retourner le résultat voulu. ‒ Peut être utilisé avec SKIP/LIMIT et ORDER BY
  • 21. Cypher Query Language 21 Bases de Données NoSQL & Calcul Distribués Le langage Cypher : Lecture  RETURN : ‒ Les données retournées peuvent être des : nœuds, propriétés ou patterns. ‒ Affichagede tout le graphe : MATCH (n) RETURN (n)
  • 22. Cypher Query Language 22 Bases de Données NoSQL & Calcul Distribués Le langage Cypher : Ajouter  SET : ‒ Ajoute ou met à jour les propriétés (sur les nœuds et les relations) et les labels (uniquement sur les nœuds)
  • 23. Cypher Query Language 23 Bases de Données NoSQL & Calcul Distribués Le langage Cypher : Suppression  DELETE : ‒ Supprimer des nœuds et des relations. ‒ Lors de la suppression d'un nœud, utilisez DETACH pour supprimer d'abord ses relations. ‒ Supprimer tous le graphe : MATCH (n) DETACH RETURN (n)
  • 24. Cypher Query Language 24 Bases de Données NoSQL & Calcul Distribués Le langage Cypher : Suppression  REMOVE : Supprimer les propriétés d'un nœud ou d'une relation.
  • 25. Cypher Query Language 25 Bases de Données NoSQL & Calcul Distribués Le langage Cypher Documentation officielle : https://neo4j.com/docs/cypher-manual/current/clauses/