Multiplate-forme et open-source
Écrit en Java
Version actuelle : 4.0 (janv. 2020)
Développé par la société Neo4j, Inc
Licence : GPLv3 pour la version Community, AGPLv3 ou licence commerciale pour la version Entreprise
Téléchargement
Site officiel : neo4j.com
Console de test

 

Neo4j est un système de gestion de bases de données orienté graphe. À la différence des systèmes classiques, son approche n'est pas fondée sur l'algèbre relationnelle mais sur la théorie des graphes. Les données sont stockées de manière assez libre (sans modèle prédéterminé) dans des nœuds reliés entre eux par des relations (des arcs porteurs d'une sémantique forte).
Neo4j utilise un langage d'interrogation spécifique CYPHER, conçu pour être assez intuitif.
Une API REST permet de manipuler les données à distance. Des connecteurs clients sont disponibles pour différents langages : Java, .NET, Ruby, Python, Go, etc...

Les bases de données Neo4j, et d'une manière plus générale les bases de données orientées graphes, sont particulièrement adaptées dans des contextes où les données sont fortement connectées et organisées selon des modèles complexes. La structure de l'entité (noeud ou relation) y est définie au moment du stockage de la donnée (et non préalablement comme les tables d'une base de données relationnelle), ce qui lui confère une très grande flexibilité. En outre, elles présentent des performances exceptionnelles en termes de lecture et de parcours de données dans le graphe. L'API REST permet l'utilisation d'un certain nombre d'algorithmes classiques de la théorie des graphes (plus court chemin, Dijsktra, A*, calcul de centralité…).


Neo4j, pour quoi faire ?

Neo4j permet :

  • de manipuler des données fortement connectées ;
  • de supporter un modèle complexe et flexible ;
  • d'obtenir des performances exceptionnelles pour la recherche de chemin : plus court chemin, détection de boucles, identification de sous-graphes, …. ou de manière plus concrète : calculs de trajets, mais aussi détection de fraude, recommandation, réseaux sociaux, etc ;
  • d'analyser avec une grande profondeur les relations entre les données.

 

 

Qui utilise Neo4j ?

Parmi les grands noms, on citera : Viadeo, ebay, National Geographic, Adobe, Cisco, Deutsche Telekom, Walmart, Glowbl, Career Builder, Meetic, SFR, Voyages-SNCF, etc.

Les cas d'usage sont nombreux : dans l'énergie, les services financiers (pour la détection de fraudes), la gestion des ressources humaines, l'informatique, les jeux, la logistique (pour le routage de colis, par exemple), mais aussi la distribution (pour la recommandation de produits) et le transport (pour le calcul d'itinéraires).

> Viadéo explique comment ils utilisent Neo4j

"Les bases de données orientées graphes correspondaient parfaitement à la modélisation de nos données"
Interview de Camille Bégnis, CEO de NeoDoc, sur l'utilisation de Neo4j pour le développement de la plate-forme de production documentaire Calenco. Lire la suite

50-visuel1543253543.jpg"Chacun y trouvera une réponse, même partielle, à son besoin"
Interview de Sylvain Roussy sur le livre II. Déploiement de série Neo4j : Des données et des graphes . Lire la suite

28-visuel1543253574.jpg"Neo4j permet d'analyser plus aisément les systèmes complexes que les autres modèles de données"
Interview de Philip Rathle, responsable du développement de Neo4j au sein de Neo Technology. Tour d'horizon du produit, son approche, sa particularité, son potentiel. Lire la suite

"Les bases graphes, c'est comme prendre votre tableau blanc et le mettre directement dans votre base de données"
Interview de Nicolas Rouyer, architecte informatique chez Orange, contributeur de la 2e édition du livre Neo4j : Des données et des graphes - 1. Prise en main . Lire la suite