Graphexp - Explorateur de Graphes Interactif avec D3.js

Introduction

Graphexp est une interface web légère pour explorer et visualiser des graphes stockés dans une base de données Gremlin. C'est un fork/contribution au projet original que j'ai conteneurisé et amélioré.

Qu'est-ce qu'un Graph Database ?

Contrairement aux bases relationnelles (tables, lignes, colonnes), les bases de graphes modélisent les données comme :

  • Vertices (nœuds) : Les entités (personnes, produits, concepts...)
  • Edges (arêtes) : Les relations entre entités
  • Properties : Attributs des nœuds et arêtes

Fonctionnalités de Graphexp

Exploration Interactive

  • Cliquez sur un nœud pour voir ses voisins
  • Les nœuds non explorés disparaissent progressivement
  • Drag & drop pour réorganiser le graphe
  • Épinglez des nœuds pour les garder visibles

Recherche

  • Filtrage par label de nœud
  • Recherche par propriété
  • Filtrage par type d'arête

Visualisation

  • Force layout D3.js
  • Arêtes courbes pour les relations multiples
  • Couleurs personnalisables par propriété
  • Affichage des propriétés au survol

Édition

  • Ajout/modification de nœuds
  • Création de relations
  • Modification des propriétés

Stack Technique

  • Frontend : D3.js, jQuery
  • Backend : Gremlin Server (TinkerPop)
  • Protocoles : REST ou WebSocket
  • Conteneurisation : Docker

Installation Docker

docker pull ghcr.io/armandleopold/graphexp:0.8.3

Cas d'Usage

Arbre de la Vie

Le tutoriel utilise l'arbre phylogénétique des espèces :

  • 35 960 nœuds (espèces)
  • 35 959 arêtes (relations ancêtre-descendant)
  • Explorez l'évolution des Dinosaures jusqu'aux oiseaux modernes !

Réseaux Sociaux

Visualisez les connexions entre utilisateurs, leurs interactions, les communautés.

Knowledge Graphs

Explorez des ontologies et bases de connaissances complexes.

Compatibilité

  • Gremlin Server 3.2.x, 3.3.x, 3.4.x
  • Amazon Neptune
  • JanusGraph
  • TinkerGraph

Fork et conteneurisation du projet Graphexp pour l'exploration de bases de données graphe.