site:enseignement:master:bdle:tmes:graphes-neo4j
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
site:enseignement:master:bdle:tmes:graphes-neo4j [25/01/2018 12:52] – camelia | site:enseignement:master:bdle:tmes:graphes-neo4j [24/01/2020 12:12] (Version actuelle) – camelia | ||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
* Télécharger Neo4J à cette adresse [[https:// | * Télécharger Neo4J à cette adresse [[https:// | ||
* Installer | * Installer | ||
- | * Ouvrir le navigateur Web et aller à cette adresse: | + | * Créer une base de données graphe ("New Graph" puis " |
+ | * Une fois la BD lancée cliquer sur " | ||
* Voir la description de l' | * Voir la description de l' | ||
* Voir la [[http:// | * Voir la [[http:// | ||
+ | * Voir [[site: | ||
- | Le graphe qui sera utilisé pendant le TME représente des personnages de la bande dessinée " | + | Le graphe qui sera utilisé pendant le TME représente des personnages de la bande dessinée " |
== Création du graphe == | == Création du graphe == | ||
- | Créer et visualiser le graphe en copiant dans la ligne de commande les instructions présentes dans le fichier | + | Créer et visualiser le graphe en copiant dans la ligne de commande les instructions présentes dans le fichier. |
+ | |||
+ | Après l' | ||
+ | |||
+ | <fc # | ||
+ | |||
+ | Remarque: pour passer à la ligne suivante dans la ligne de commande du browser Neo4J dans le cas d'une requête sur plusieurs lignes utiliser **Shift+Enter**. Pour exécuter une commande sur plusieurs lignes utiliser **Ctrl+Enter**. | ||
+ | |||
+ | Exemple de données (voir également la [[https:// | ||
+ | * noeuds <fc # | ||
+ | < | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | </ | ||
+ | * noeuds <fc # | ||
+ | < | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | </ | ||
+ | * noeuds <fc # | ||
+ | < | ||
+ | " | ||
+ | " | ||
+ | </ | ||
+ | * noeuds de type<fc #008080> nationalité</ | ||
+ | < | ||
+ | " | ||
+ | " | ||
+ | </ | ||
+ | * arcs dirigés avec une étiquette <fc # | ||
+ | * arcs dirigés avec une étiquette <fc # | ||
+ | * arcs dirigés avec une étiquette <fc # | ||
+ | * arcs dirigés avec une étiquette <fc # | ||
== Interrogation == | == Interrogation == | ||
Ligne 19: | Ligne 56: | ||
- | Q2) Ajouter une étiquette :PERSONNAGE aux noeuds qui ont une propriété " | + | Q2) Ajouter une étiquette :PERSONNAGE aux noeuds qui ont une propriété " |
- | Q3) Compter le nombre de noeuds | + | '' |
+ | Q3) Compter le nombre de noeuds. | ||
- | Q4) Compter le nombre d'arcs | + | '' |
+ | Q4) Compter le nombre d' | ||
- | Q5) Trouver l' | ||
+ | '' | ||
- | Q6) Trouver l' | + | Q5) Trouver l' |
+ | '' | ||
+ | '' | ||
- | Q7) Afficher toutes les propriétés | + | Q6) |
+ | '' | ||
- | Q8) Afficher les noms des personnages qui n'ont pas d'arc sortant | + | Q7) Afficher |
- | Q9)Afficher deux triangles | + | Réponse: |
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | </ | ||
+ | Q8) Afficher les noms des personnages qui n'ont pas d'arc sortant dont le type est COMPAGNON_AVENTURE. | ||
- | Q10) | + | Réponse: |
+ | < | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | </ | ||
+ | Q9) Calculer les triangles du graphe et afficher seulement deux parmi ces triangles (pour chacun de ces deux triangles afficher | ||
+ | Réponse: | ||
+ | < | ||
+ | "Les Romains" | ||
+ | "Caius Obtus" | ||
+ | </ | ||
- | Q11) Afficher pour chaque couple de personnages reliés par un arc (non-dirigé) de type COMPAGNON_AVENTURE | ||
- | le nombre d' | ||
- | Chaque couple de personnages doit apparaître une seule fois. Trier par nombre total d' | ||
+ | Q10) Afficher les noms des trois couples de personnages qui apparaissent dans le même album, pour chaque couple de personnages affichez l'id de album commun. | ||
- | Q12) Modifier la requête précédente afin d' | + | Réponse: |
- | dont la valeur est le nombre total d' | + | < |
+ | "Jules Cesar" | ||
+ | " | ||
+ | "Jules Cesar" | ||
+ | </ | ||
+ | Q11) Afficher le sous-graphe des personnages reliés par des arcs de type COMPAGNON_AVENTURE qui ne contient pas ' | ||
- | Q13) Afficher pour chaque noeud son nom et son le degré. Ordonner par ordre croissant des degrés. Considérer uniquement les arcs de type | + | Réponse: |
- | NATIONALITE et PERSONNAGE_TYPE. | + | < |
- | + | afficher les propriétés de 9 noeuds | |
+ | </ | ||
- | Q14) Degré total des noeuds | + | Q12) Afficher le sous-graphe contenant comme noeuds |
+ | comme noeuds destination ' | ||
+ | de type COMPAGNON_AVENTURE. | ||
- | - Afficher pour chaque valeur de degré le nombre de noeuds avec ce degré. Considérer tous les arcs, ordonner par degré. | + | Réponse: |
- | - Pour chaque noeud enregistrer son degré somme nouvelle propriété. | + | < |
+ | │56 │44 │ | ||
+ | ├────────────────┼────────────────┤ | ||
+ | │91 │44 │ | ||
+ | ├────────────────┼────────────────┤ | ||
+ | │91 │38 │ | ||
+ | └────────────────┴────────────────┘ | ||
+ | </ | ||
+ | Q13) Afficher le sous-graphe contenant les noeuds qui se trouvent à une distance 3 de ' | ||
+ | qui les relient. On considère uniquement les arcs dirigés de type COMPAGNON_AVENTURE. | ||
- | Q15) Afficher pour chaque noeud son nom et son degré sortant. Pour les noeuds | + | Réponse: |
- | NATIONALITE | + | < |
- | + | 10 noeuds de type PERSONNAGE | |
+ | </ | ||
- | Q16) Afficher le sous-graphe contenant comme noeuds source ' | ||
- | comme noeuds destination ' | ||
- | de type COMPAGNON_AVENTURE. | ||
+ | Q14) Afficher le plus court chemin et sa longueur entre Jules Cesar et Epidemais. | ||
- | Q17) Afficher le sous-graphe des personnages reliés par des arcs de type COMPAGNON_AVENTURE | + | Réponse: |
+ | < | ||
+ | 3 noeuds PERSONNAGE, 3 arcs de type COMPAGNON_AVENTURE, longueur de chemin | ||
+ | </ | ||
+ | Q15) Afficher le plus long chemin de type COMPAGNON_AVENTURE et sa longueur entre Jules Cesar et Brutus (graphe non-dirigé). | ||
- | Q18) Afficher le sous-graphe contenant les noeuds | + | Réponse: |
- | qui les relient. On considère uniquement les arcs dirigés de type COMPAGNON_AVENTURE. | + | < |
+ | 5 noeuds | ||
+ | </ | ||
- | Q19) Afficher le plus court chemin | + | Q16) Afficher |
+ | Réponse: | ||
+ | < | ||
+ | "Les Romains" | ||
+ | " | ||
+ | "Les autres" | ||
+ | </ | ||
+ | |||
+ | |||
+ | Q17) Afficher pour chaque couple de personnages reliés par un arc (non-dirigé) de type COMPAGNON_AVENTURE | ||
+ | le nombre d' | ||
+ | Réponse: | ||
+ | < | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | "Caius Obtus" | ||
+ | " | ||
+ | </ | ||
+ | |||
+ | |||
+ | Q18) Modifier la requête précédente afin d' | ||
+ | dont la valeur est le nombre total d' | ||
+ | |||
+ | Réponse: | ||
+ | < | ||
+ | " | ||
+ | " | ||
+ | "Caius Obtus" | ||
+ | " | ||
+ | " | ||
+ | </ | ||
+ | |||
+ | |||
+ | Q19) Degré total des noeuds | ||
+ | |||
+ | - Afficher pour chaque valeur de degré le nombre de noeuds avec ce degré. Considérer tous les arcs, ordonner par degré. | ||
+ | - Pour chaque noeud enregistrer son degré comme nouvelle propriété. Affichez les 3 premières noeuds avec le degré le plus élevé. | ||
+ | |||
+ | Chacune de ces questions impliquent un enchaînement de deux opérations (utiliser WITH). | ||
+ | |||
+ | Réponse: | ||
+ | < | ||
+ | 1 23 | ||
+ | 2 2 | ||
+ | 3 7 | ||
+ | 4 2 | ||
+ | 5 2 | ||
+ | 6 3 | ||
+ | 9 1 | ||
+ | 10 1 | ||
+ | 31 1 | ||
+ | </ | ||
+ | et | ||
+ | < | ||
+ | "Jules Cesar" | ||
+ | " | ||
+ | "Caius Obtus" | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | Q20) Afficher pour chaque noeud son nom et son degré sortant. Pour les noeuds sans liens sortants afficher 0. Ordonner par ordre décroissant des degrés. Considérer uniquement les arcs de type | ||
+ | NATIONALITE et PERSONNAGE_TYPE. | ||
- | Q20) Afficher le plus long chemin de type COMPAGNON_AVENTURE et sa longueur entre Jules Cesar et Brutus (graphe non-dirigé). | ||
Ligne 97: | Ligne 257: | ||
Q24) On considère la propriété ' | Q24) On considère la propriété ' | ||
qui considère ces poids (même résultat que celui obtenu avec l' | qui considère ces poids (même résultat que celui obtenu avec l' | ||
- | et leur poids (aide (utiliser REDUCE): | + | et leur poids (aide (utiliser |
site/enseignement/master/bdle/tmes/graphes-neo4j.1516881147.txt.gz · Dernière modification : de camelia