0% ont trouvé ce document utile (0 vote)
62 vues17 pages

Java et Neo4j : Installation et Algorithme de Dijkstra

Transféré par

Youssef Akki
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats ODT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
62 vues17 pages

Java et Neo4j : Installation et Algorithme de Dijkstra

Transféré par

Youssef Akki
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats ODT, PDF, TXT ou lisez en ligne sur Scribd

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

Vous aimerez peut-être aussi