JAVA
PROJECT
Réalisé par : NACIRI Ibrahim
Établissement : École Hassania des Travaux
Publics
Professeur : ZIYATI Houssaine
Classe : 2 GE2
Année scolaire : 2023 - 2024
Table des matières
2
Introduction................................................................................................................
.... 4
1. Installation du
Neo4j.................................................................................................. 5
1.1. Création d’une base de
données........................................................................... 6
1.2. Code correspondant au graphe en langage
Cypher.............................................. 7
1.3. Traçage du
graphe............................................................................................... 8
2. Code
Java................................................................................................................... 9
2.1. Dépendances ajoutées au
code............................................................................ 10
2.2. Code correspondant au graphe en langage
Java................................................. 11
2.3. Traçage du
graphe.............................................................................................. 14
3. Algorithme de
Dijkstra............................................................................................. 15
3
Introduction
Dans ce travail, on va découvrir Neo4j qui est un outil très puissant utilisé dans la
gestion de base de données. Neo4j est un système de gestion de base de données
orienté graphe (graph database) conçu pour stocker et interroger des données
fortement connectées. Il est particulièrement adapté aux applications avec des
relations complexes entre les entités. Neo4j utilise un modèle de base de données en
graphe, où les données sont représentées sous forme de nœuds, de relations entre
les nœuds et de propriétés associées à ces nœuds et relations.
Le travail demandé à nous, est de tracer un modèle de base de données en graphe
tout en utilisant une interface Java, c’est-à-dire développer un code Java que sa
compilation va permettre à dessiner le graphe avec ses nœuds et ses relations.
Premièrement, on procède par l’installation de Neo4j sous Windows, on crée une
base de données locale et on dessine le graphe en langage Cypher dédié à Neo4j.
Ensuite, on développe le code Java tout en ajoutant les dépendances. En dernier
lieu on souhaite trouver le chemin le plus court entre les nœuds de Person à travers
l’algorithme de Dijkstra.
4
I. Installation de Neo4j
5
1. Création d’une base de données
Après l’installation de Neo4j, on crée une base de données locale qu’on appelle
N7CIRI :
Figure 1 : Création de la base de
données
Figure 2 : Lancement de la base de
données
6
2. Code correspondant au graphe en langage Cypher
Le code en langage Cypher pour créer le graphe est le suivant :
Figure 3 : Code
Cypher
3. Traçage du graphe
7
Dès qu’on exécute le code, on obtient le graphe en Neo4j :
Figure 4 : Exécution du
code
Figure 5 : Graphe sur
Neo4j
8
II. Code Java
1. Dépendances ajoutées au code :
9
Afin de créer ce graphe sur Neo4j une à nouveau, mais cette fois la réalisation va se
faire à travers un code Java. L’exécution de ce code va nous permettre directement
de tracer le même graphe qu’en utilisant le langage Cypher propre à Neo4j. On va
réaliser ce travail sur IntelliJ IDEA, et sur notre projet on va ajouter des
dépendances qui vont nous permettre d’établir la connexion avec le serveur de la
base de données.
Ces dépendances vont être ajoutées sur le fichier pom.xml de notre projet comme
suit :
Figure 6 : Project Java sur IntelliJ
IDEA
Ces dépendances sont indispensables pour que notre programme Java peut
interagir avec la base de données et peut y ajouter des données supplémentaires,
supprimes des unes déjà existantes, et même aussi de rééditer.
10
Figure 7 : Dépendances ajoutées au fichier
pom.xml
2. Code
correspondant au graphe en langage Java
Dès que la connexion est établie entre le projet sur IntelliJ IDEA et Neo4j on peut
écrire un code dont l’utilité et créer le graphe.
Pour une meilleure lisibilité on va diviser le code en 2 parties :
11
Figure 8 : Partie 1 du code
Java
12
3. Traçage du graphe :
Figure 9 : Partie 2 du code
Java
13
Figure 10 : Graphe en
Java
14
III. Algorithme de Dijsktra
L'algorithme de Dijkstra est un algorithme classique utilisé pour résoudre le
problème du plus court chemin dans un graphe orienté et pondéré. Cet algorithme
a été conçu par l'informaticien néerlandais Edsger Dijkstra. L'objectif est de
trouver le chemin le plus court entre un nœud source et tous les autres nœuds du
graphe
Pour implémenter l'algorithme de Dijkstra afin de trouver le chemin le plus court
entre les noeuds de type « Personne » dans notre graphe Neo4j à l'aide de Java, on
15
a utilisé le pilote Java Neo4j avec une bibliothèque de parcours de graphe comme
la bibliothèque Neo4j Graph Data Science.
On ajoute la dépendance de la bibliothèque Neo4j Graph Data Science à notre
projet dans le fichier pom.xml, et on importe on importe les packages nécessaires
dans notre code Java.
Ensuite, on crée une méthode pour trouver le chemin le plus court entre deux
noeuds « Personne » à l'aide de l'algorithme de Dijkstra.
Figure 11 : Dépendance et
packages
16
Enfin, on fait l’appel a la findShortestPath méthode avec les noms de personne
source et cible pour obtenir le chemin le plus court.
Figure 12 : Algorithme de
Dijkstra
Figure 13 : findShortestPath
function
17