SlideShare une entreprise Scribd logo
1  sur  20
Bases orientées graphe
A L’AIDE DE NEO4J
Des relations
 Vous l’avez compris, on collecte de plus en plus de
données
 Ces données ne vivent pas isolées, elles sont reliées
entre elles
 Il s’agit donc de modéliser (représenter) dans la base
de relations telles que :
 Pierre a acheté une 205
 Deux entités
 Une relation
2
Avec une base « classique » 3
En rouge les personnes (1 table)
En bleu les véhicules (1 table)
En jaune les relations entre les deux tables (qui est aussi une table)
Avec une base « classique »
 Plus le nombre d’entités à lier augmente, plus le
nombre de tables intermédiaires augmente
 L’opération de mise en relation est le JOIN
 Plus les tables augmentent en taille, plus la requête
est lente (c’est presque le produit cartésien des
tables) -> pas forcément adapté au big data
 Les schémas sont figés
 Avantage : on ne peut pas faire n’importe quoi
 Inconvénient : on ne peut pas faire de que l’on veut
4
Base graphe
 Modélise, stocke requête des données connectées
 Nos dessins au tableau deviennent le modèle
5
Quand utiliser une base graphe ?
 Les données sont dynamiques
 Les données sont connectées
 Le schéma est flexible
 Le schéma est complexe
 On a besoin des réponses en temps réel
6
Neo4j 7
Neo4j
 Repose sur quatre notions :
 Les nœuds
 Les relations
 Les propriétés des relations
 Les propriétés des nœuds
8
Un exemple 9
Noeuds 10
 Représente une entité qui peut être complexe
 Possède des propriétés
 Un label (ou plusieurs) qui permet de différencier les nœuds (personne, pays, …)
 Représente les attributs de l’entité
 Ou des métadonnées (dates, …)
 Des paires clef/valeur
 Chaque nœud peut posséder des propriétés différentes de celles d’un
autre nœud
 En valeur
 En nature
Relations 11
 Chaque relation possède deux principaux attributs
 Un nom
 Un sens
 Une relation peut porter des propriétés
 Chaque relation possède un nœud de départ et un nœud d’arrivée
 Pas de relations « pendantes »
Relations 12
Nom :
Pierre
Nom :
Sam
Nom :
Paul
Nom :
Lucy
Est ami de
Est ami de
Est ami de
Nom :
Pierre
Est voisin de
Nom :
Paul
Est ami de
Nom :
Pierre
S’est proposé
Le langage : Cypher 13
Personne Personne
Est ami de
(:Personne)-[:EST_AMI_DE]->(:Personne)
Propriétés 14
(:Personne{Nom:pierre})-[:EST_AMI-DE]->(:Personne{Nom:Paul})
Nom : Pierre Nom : Paul
Est ami de
Personne
Personne
Identifiants 15
(p1:Personne{Nom:pierre})-[r:EST_AMI-DE]->(p2:Personne{Nom:Paul})
Nom : Pierre Nom : Paul
Est ami de
Personne
Personne
Requête 16
MATCH (p1:Personne{Nom:pierre})-[r:EST_AMI-DE]->(ses_amis)
RETURN ses_amis
Construction d’un modèle 17
 Une question concrète
 Quelle personnes travaillant dans la même entreprise que moi ont les mêmes
compétences ?
 On identifies les entités
 Quelle personnes travaillant dans la même entreprise que moi ont les mêmes
compétences ?
 On identifies les relations
 Personne TRAVAILLE_POUR entreprise
 Personne POSSEDE compétence
 La structure
 (:Personne)-[:TRAVAILLE_POUR]->(:Entreprise)
 (:Personne)->[:POSSEDE]->(:Compétence)
Schéma global 18
 (:Personne)-[:TRAVAILLE_POUR]->(:Entreprise)
 (:Personne)->[:POSSEDE]->(:Compétence)
 (:Entreprise)<-[:TRAVAILLE_POUR]-(:Personne)-[:POSSEDE]->(:Compétence)
La requête 19
 MATCH (entreprise)<-[:TRAVAILLE_POUR]-(:Personne{nom:patrick})
-[:POSSEDE]->(competence),
(entreprise)<-[TRAVAILLE_POUR]-(college)-[:POSSEDE]->(COMPETENCE)
RETURN college.nom AS nom,
COUNT(competence) AS score
COLLECT(competence.nom) AS compétences
GROUP BY score DESC
Qui a les mêmes compétences que
patrick ?
20
 MATCH (entreprise)<-[:TRAVAILLE_POUR]-(:Personne{nom:patrick})
-[:POSSEDE]->(competence),
(entreprise)<-[TRAVAILLE_POUR]-(college)-[:POSSEDE]->(COMPETENCE)

Contenu connexe

Plus de Patrick Bury

09 big data mapreduce
09 big data mapreduce09 big data mapreduce
09 big data mapreducePatrick Bury
 
06 cloud souverain
06 cloud souverain06 cloud souverain
06 cloud souverainPatrick Bury
 
05 creation instance ovh
05 creation instance ovh05 creation instance ovh
05 creation instance ovhPatrick Bury
 
04 big data fournisseurs
04 big data fournisseurs04 big data fournisseurs
04 big data fournisseursPatrick Bury
 
03 big data stockage
03 big data stockage03 big data stockage
03 big data stockagePatrick Bury
 
03 big data échelle
03 big data échelle03 big data échelle
03 big data échellePatrick Bury
 
02 big data definition
02 big data definition02 big data definition
02 big data definitionPatrick Bury
 
01 big data introduction
01 big data introduction01 big data introduction
01 big data introductionPatrick Bury
 
15 map reduce on azure
15 map reduce on azure15 map reduce on azure
15 map reduce on azurePatrick Bury
 
14 big data gitlab
14 big data gitlab14 big data gitlab
14 big data gitlabPatrick Bury
 
13 big data docker
13 big data docker13 big data docker
13 big data dockerPatrick Bury
 
10 big data hadoop
10 big data hadoop10 big data hadoop
10 big data hadoopPatrick Bury
 
09 big data mapreduce
09 big data mapreduce09 big data mapreduce
09 big data mapreducePatrick Bury
 
08 big data dataviz
08 big data dataviz08 big data dataviz
08 big data datavizPatrick Bury
 

Plus de Patrick Bury (20)

12 big data azure
12 big data azure12 big data azure
12 big data azure
 
09 big data mapreduce
09 big data mapreduce09 big data mapreduce
09 big data mapreduce
 
07 big data sgbd
07 big data sgbd07 big data sgbd
07 big data sgbd
 
06 cloud souverain
06 cloud souverain06 cloud souverain
06 cloud souverain
 
05 creation instance ovh
05 creation instance ovh05 creation instance ovh
05 creation instance ovh
 
04 big data fournisseurs
04 big data fournisseurs04 big data fournisseurs
04 big data fournisseurs
 
03 big data stockage
03 big data stockage03 big data stockage
03 big data stockage
 
03 big data échelle
03 big data échelle03 big data échelle
03 big data échelle
 
02 big data definition
02 big data definition02 big data definition
02 big data definition
 
01 open data
01 open data01 open data
01 open data
 
01 big data introduction
01 big data introduction01 big data introduction
01 big data introduction
 
15 map reduce on azure
15 map reduce on azure15 map reduce on azure
15 map reduce on azure
 
14 big data gitlab
14 big data gitlab14 big data gitlab
14 big data gitlab
 
100 évaluation
100 évaluation100 évaluation
100 évaluation
 
13 big data docker
13 big data docker13 big data docker
13 big data docker
 
12 big data azure
12 big data azure12 big data azure
12 big data azure
 
11 big data aws
11 big data aws11 big data aws
11 big data aws
 
10 big data hadoop
10 big data hadoop10 big data hadoop
10 big data hadoop
 
09 big data mapreduce
09 big data mapreduce09 big data mapreduce
09 big data mapreduce
 
08 big data dataviz
08 big data dataviz08 big data dataviz
08 big data dataviz
 

Dernier

Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptxMalikaIdseaid1
 
Guide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeGuide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeBenamraneMarwa
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxlamourfrantz
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxssusercbaa22
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxPrésentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxpopzair
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptssusercbaa22
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 

Dernier (15)

Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptx
 
Guide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeGuide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étude
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptx
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxPrésentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptx
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.ppt
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 

16 graph databases

  • 1. Bases orientées graphe A L’AIDE DE NEO4J
  • 2. Des relations  Vous l’avez compris, on collecte de plus en plus de données  Ces données ne vivent pas isolées, elles sont reliées entre elles  Il s’agit donc de modéliser (représenter) dans la base de relations telles que :  Pierre a acheté une 205  Deux entités  Une relation 2
  • 3. Avec une base « classique » 3 En rouge les personnes (1 table) En bleu les véhicules (1 table) En jaune les relations entre les deux tables (qui est aussi une table)
  • 4. Avec une base « classique »  Plus le nombre d’entités à lier augmente, plus le nombre de tables intermédiaires augmente  L’opération de mise en relation est le JOIN  Plus les tables augmentent en taille, plus la requête est lente (c’est presque le produit cartésien des tables) -> pas forcément adapté au big data  Les schémas sont figés  Avantage : on ne peut pas faire n’importe quoi  Inconvénient : on ne peut pas faire de que l’on veut 4
  • 5. Base graphe  Modélise, stocke requête des données connectées  Nos dessins au tableau deviennent le modèle 5
  • 6. Quand utiliser une base graphe ?  Les données sont dynamiques  Les données sont connectées  Le schéma est flexible  Le schéma est complexe  On a besoin des réponses en temps réel 6
  • 8. Neo4j  Repose sur quatre notions :  Les nœuds  Les relations  Les propriétés des relations  Les propriétés des nœuds 8
  • 10. Noeuds 10  Représente une entité qui peut être complexe  Possède des propriétés  Un label (ou plusieurs) qui permet de différencier les nœuds (personne, pays, …)  Représente les attributs de l’entité  Ou des métadonnées (dates, …)  Des paires clef/valeur  Chaque nœud peut posséder des propriétés différentes de celles d’un autre nœud  En valeur  En nature
  • 11. Relations 11  Chaque relation possède deux principaux attributs  Un nom  Un sens  Une relation peut porter des propriétés  Chaque relation possède un nœud de départ et un nœud d’arrivée  Pas de relations « pendantes »
  • 12. Relations 12 Nom : Pierre Nom : Sam Nom : Paul Nom : Lucy Est ami de Est ami de Est ami de Nom : Pierre Est voisin de Nom : Paul Est ami de Nom : Pierre S’est proposé
  • 13. Le langage : Cypher 13 Personne Personne Est ami de (:Personne)-[:EST_AMI_DE]->(:Personne)
  • 17. Construction d’un modèle 17  Une question concrète  Quelle personnes travaillant dans la même entreprise que moi ont les mêmes compétences ?  On identifies les entités  Quelle personnes travaillant dans la même entreprise que moi ont les mêmes compétences ?  On identifies les relations  Personne TRAVAILLE_POUR entreprise  Personne POSSEDE compétence  La structure  (:Personne)-[:TRAVAILLE_POUR]->(:Entreprise)  (:Personne)->[:POSSEDE]->(:Compétence)
  • 18. Schéma global 18  (:Personne)-[:TRAVAILLE_POUR]->(:Entreprise)  (:Personne)->[:POSSEDE]->(:Compétence)  (:Entreprise)<-[:TRAVAILLE_POUR]-(:Personne)-[:POSSEDE]->(:Compétence)
  • 19. La requête 19  MATCH (entreprise)<-[:TRAVAILLE_POUR]-(:Personne{nom:patrick}) -[:POSSEDE]->(competence), (entreprise)<-[TRAVAILLE_POUR]-(college)-[:POSSEDE]->(COMPETENCE) RETURN college.nom AS nom, COUNT(competence) AS score COLLECT(competence.nom) AS compétences GROUP BY score DESC
  • 20. Qui a les mêmes compétences que patrick ? 20  MATCH (entreprise)<-[:TRAVAILLE_POUR]-(:Personne{nom:patrick}) -[:POSSEDE]->(competence), (entreprise)<-[TRAVAILLE_POUR]-(college)-[:POSSEDE]->(COMPETENCE)