Le 16 et 17 novembre s’est déroulée l’édition 2022 de Nodes, lévénement phare de Neo4j de lannée. Nodes est une conférence virtuelle gratuite avec des présentations methods, animées par des développeurs et des spécialistes des données qui résolvent des problèmes en utilisant les bases de données graphes.
Nicolas Rouyer, guide senior chez Neo4j, est intervenu sur le thème « Innovation en machine studying : données connectées pour des prédictions plus efficaces ». Il a présenté remark les bases de données graphes permettent dexploiter les relations entre les données et de lancer des flux de travail où les algorithmes de graphes calculent de nouvelles caractéristiques qui enrichissent les modèles prédictifs et donnent un sens nouveau aux données, quelles quelles soient.
Il a accepté de se prêter à l’exercice de l’interview pour en dire un peu plus aux professionnels de l’informatique.
Developpez.com : Pouvez-vous nous présenter Neo4J et nous en indiquer les usages ?
Neo4j, Inc. est l’entreprise de graphes derrière Neo4j, la plateforme n°1 pour les données connectées. La plateforme de graphes Neo4j aide les organisations à donner du sens à leurs données en révélant remark les personnes, les processus et les systèmes numériques sont interconnectés. Cette approche privilégiant les connexions alimente des functions intelligentes qui relèvent des défis tels que l’intelligence artificielle, la détection des fraudes, les recommandations en temps réel et la gestion des données de référence (MDM).
Neo4j est la answer idéale pour améliorer l’expérience shopper grâce à des recommandations personnalisées en temps réel, lutter contre la criminalité financière et d’autres sorts de crimes, exploiter l’IoT et l’intelligence artificielle, offrir une nouvelle efficacité en matière de fabrication et de chaîne d’approvisionnement, et intégrer de manière transparente des données de base disparates pour créer une “entreprise connectée.” Neo4j peut être utilisé par toute taille ou tout sort d’organisation, que ce soit en tant que plateforme centrale de graphes ou aux côtés d’une technologie de gestion des données existante.
Neo4j est une marque mondialement reconnue, aidée par son rôle de facilitateur dans les enquêtes internationales Panama Papers et Paradise Papers, récompensées par un Pulitzer. Il s’agissait d’événements majeurs du journalisme de données en raison de l’ampleur des données qui devaient être traitées et analysées. Ces événements ont porté la base de données de graphes Neo4j à l’consideration du monde entier, avec une couverture mondiale allant de publications grand public telles que Forbes et le Washington Put up à l’éventail complet des médias informatiques.
Pouvez-vous nous en dire plus sur sa compatibilité avec les outils préférés des professionnels de linformatique (langage de programmation, langage de requêtes, bibliothèques, and many others.) ?
Nous nous appuierons sur le schéma ci-dessous pour commenter l’écosystème qui constitue la plate-forme de graphes Neo4j :
- Base de données de graphes native : La base de données Neo4j est graphe depuis le stockage jusqu’à la visualisation, en passant par le langage et le moteur de traitement. C’est une base de données transactionnelle ACID (= les transactions sont Atomiques, Cohérentes, Isolées, Durables).
Neo4j est à l’origine du langage Cypher, langage expressif et easy basé sur l’ASCII-ART pour représenter les patterns de connexion entre objets.
Neo4j implémente le graphe de propriété (LPG : Labelled Property Graph) : les objets manipulés sont des nuds, des relations et des propriétés sur les nuds et sur les relations.La catégorie des bases de données de graphes est celle qui progresse le plus en popularité et en marché (supply : db-engines)
L’édition neo4j enterprise intègre des fonctionnalités indispensables autour de la sécurité, des sauvegardes, de la haute disponibilité et du SSO. En termes de performances, le trillion graph a permis de montrer un passage à l’échelle inédit sur 1000 milliards de noeuds distribués sur 1000 machines AWS, avec une latence steady sur des requêtes profondes, normalisées par le LDBC (Linked Knowledge Benchmark Council) - Knowledge science et analytics : La base neo4j transactionnelle est complétée par des plugins (exemples : apoc, neosemantics, extensions customs, and many others), dont la bibliothèque neo4j Graph Knowledge Science. Cette bibliothèque intègre plus de 65 algorithmes et modèles de machine studying permettant d’exploiter les connexions entre les données : similarité, centralité, détection de communauté, parcours de graphes, prédiction topologique de liens, graph embeddings.
Le manuel de la librairie GDS récapitule son fonctionnement et ses fonctionnalités. Un shopper python est également disponible, pour une intégration de la graph knowledge science dans les notebooks.
La graph knowledge science permet notamment de réconcilier automatiquement des données (MDM), de faire des recommandations plus précises et plus pertinentes, et d’améliorer les prédictions dans différents secteurs d’activité (télécom, banque, industrie, and many others.).
- Outils de développement et frameworks : L’outil Neo4j Desktop téléchargeable sur n’importe quel poste de travail intègre Neo4j enterprise et un sure nombre d’outils comme le Neo4j Browser et Neo4j Bloom. Neo4j Browser est un outil de requêtage et de visualisation, alors que Neo4j Bloom est un outil de visualisation et d’exploration plus orienté métier/knowledge scientist (pas besoin de connaître Cypher contrairement au Neo4j browser).
Il existe aussi un outil de tableaux de bord, NeoDash, qui permet de convertir les résultats de requêtes Cypher en tableaux de bord dynamiques.
Pour les développeurs, Neo4j est accessible au travers de drivers et de frameworks comme spring knowledge neo4j. Les drivers officiels sont unifiés et disponibles dans 5 langages : Java, Javascript, Python, .NET et Go.
Neo4j est appropriate avec GraphQL, et permet même de générer automatiquement une API GraphQL grâce à l’introspector.
- Help GQL : C’est la première fois depuis SQL qu’une standardisation de langage de base de données a lieu à l’ISO avec GQL (Graph Question Language). GQL est grandement basé sur Cypher.
- Écosystème et intégrations : En termes d’ingestion de données, on peut importer des données massivement des données dans Neo4j en utilisant Apache Spark ou Apache Kafka. Les procédures apoc (autre plugin neo4j) permettent aussi d’importer/exporter des données depuis/vers des knowledge lakes, depuis/vers le cloud.
Le connecteur neo4j pour la BI permet de plugger à Neo4j les outils décisionnels d’entreprise comme Tableau Software program, QlikSense, Microsoft PowerBI, Tibco Analytics, Looker, and many others. Enfin, les fournisseurs de cloud GCP, AWS et Azure sont tous des partenaires de Neo4j et il existe des architectures de référence sur l’ingestion, le traitement et la visualisation des données graphes. - Hébergement : Neo4j s’installe on premise, dans le cloud, mais est également disponible dans une offre DBaaS, Neo4j Aura. L’offre Aura se décline elle-même en AuraDB (base de données transactionnelle hautement disponible) et AuraDS (base de données de graphes analytique). L’intérêt d’Aura est d’être une answer entièrement infogérée, avec mises à jour et sauvegardes automatiques. En termes de pré-requis methods, il faut simplement un OS Linux avec Java 17 (pour Neo4j 5.x) ou Java 11 (pour Neo4j four.x).
Pouvez-vous nous parler des improvements de la base de données de graphes Neo4j en machine studying ?
a bibliothèque Neo4j Graph Knowledge Science intègre plus de 65 algorithmes et modèles de machine studying permettant d’exploiter les connexions entre les données :
similarité, centralité, détection de communauté, parcours de graphes, prédiction topologique de liens, graph embeddings. Certains algorithmes de graph embeddings utilisent les réseaux de neurones orientés graphe (GNN).
C’est l’offre de graph knowledge science la plus exhaustive du marché ; elle s’intègre de plus très bien avec les plates-formes d’IA de GCP (Vertex.ai), AWS (Sagemaker) et Azure (Synapse). Le manuel de la librairie GDS récapitule son fonctionnement et ses fonctionnalités. Un shopper python est également disponible, pour une intégration de la graph knowledge science dans les notebooks.
La graph knowledge science permet notamment de réconcilier automatiquement des données (MDM), de faire des recommandations plus précises et plus pertinentes, et d’améliorer les prédictions dans différents secteurs d’activité (télécom, banque, industrie, and many others.)
On peut résumer les improvements de Neo4j en IA de la façon suivante :
- Le stockage graphe et le langage Cypher permettent de capturer le contexte complexe autour des données,
- Les algorithmes de graphes permettent d’apprendre de la construction globale en graphe des données, et utiliser ces nouvelles connaissances pour améliorer les prédictions.
Pourquoi les professionnels de linformatique devraient-ils choisir votre answer ? Quest-ce qui différencie votre offre de la concurrence ?
Sécurité, agilité, performances, gestion de la complexité :
Contrairement aux autres modèles de bases de données, Neo4j connecte les données au fur et à mesure qu’il les stocke. Cela signifie que l’intelligence créée à partir de ces connexions est disponible directement dans la base de données. Par conséquent, le développement est grandement accéléré et les functions basées sur Neo4j fonctionnent plus rapidement. L’accent mis par Neo4j sur le stockage natif des graphes et le traitement en temps réel est essentiel pour aider les organisations à exploiter facilement et efficacement les connexions de données avancées. L’ensemble des capacités de la plate-forme de graphes Neo4j comprend une base de données de graphes native, des outils d’intégration de données, des analyses de graphes, un outil de visualisation de graphes, des API riches et des outils de développement pour répondre aux besoins des knowledge scientists, des développeurs d’functions et des utilisateurs professionnels. Parmi les improvements technologiques spécifiques qui rendent Neo4j incontournable, citons le clustering à l’échelle de l’entreprise, la prise en cost de la cohérence causale et les capacités de sécurité avancées.
Neo4j permet de réconcilier les silos de données des entreprises et de créer un graphe de connaissances à l’échelle de toute organisation :
La efficiency pour des requêtes complexes est aussi un atout majeur de Neo4j :
La base de données de graphes Neo4j permet :
- Des requêtes plus sophistiquées (poser des questions auparavant impossibles à résoudre)
- Functions et informations en temps réel (obtenir des réponses à des requêtes complexes en quelques millisecondes).
- Amélioration de la science des données (l’exécution d’algorithmes de graphes sur des données contextualisées et connectées permet d’obtenir de meilleurs résultats en IA et en ML)
- Functions à l’épreuve du temps (il faut quelques minutes, et non des mois, pour modifier votre schéma).
Remark gérez-vous la sécurité des données ?
Neo4j est une base de données d’entreprise permettant de gérer des systèmes transactionnels critiques. Les transactions sont ACID (Atomiques, Cohérentes, Isolées, Durables). La gestion superb des rôles et des droits est réalisée avec le Position-Based mostly Entry Management, un système de gestion superb des rôles et des droits, permettant de « traverser sans voir », ce qui est inédit dans les systèmes de gestion de bases de données :
- un utilisateur avec un rôle administrateur a le droit de savoir que 2 noeuds du graphe sont reliés et peut accéder aux propriétés des noeuds et des relations traversées
- un utilisateur avec un rôle auditeur a le droit de savoir que 2 noeuds du graphe sont reliés mais ne peut accéder aux propriétés des noeuds et des relations traversées
La fédération d’identité pour l’authentification et l’autorisation est assurée par easy configuration, ainsi que le SSO avec Openid Join (OIDC) et les terminaisons SSL pour le chiffrement. A noter : dans le service Aura, les données sont chiffrées sur disque et les flux sont chiffrés également. Mentionnons la checklist de sécurité Neo4j, qui recense toutes ces mesures à prendre pour sécuriser les données. La plupart de ces mesures sont déjà incluses dans le service Aura.
Remark exploiter vos API ? Y a-t-il des kits de développement spécifiques ? Faut-il utiliser un langage de programmation précis ?
Tous les langages de programmation peuvent être utilisés pour exploiter la base de données Neo4j, mais il existe 5 drivers officiels. Les drivers officiels sont unifiés et disponibles dans 5 langages : Java, Javascript, Python, .NET et Go. L’utilisation de ces drivers est la même quel que soit le langage utilisé : 1) j’instancie le driver 2) j’ouvre une session three) je réalise des transactions en lecture ou en écriture, au sein de cette session. Neo4j est appropriate avec GraphQL, et permet même de générer automatiquement une API GraphQL grâce à l’introspector.
Quen est-il de la tarification ?
Différentes tarifications sont disponibles, en fonction des besoins (base de données graphes transactionnelle critique ou base de données de graphes analytiques).
Il faut également distinguer l’offre as a service (Aura) ou on premise. Il existe une base de données gratuite, Aura DB free, pour tout développeur souhaitant se familiariser avec la technologie des graphes. Ensuite, pour les petites et moyennes entreprises, Aura Professional permet d’accéder à des situations Neo4j hautement disponibles à partir de 65$ par mois. Pour les grandes entreprises, on peut aller jusqu’à 384 GB de RAM, avec des VPC dédiés et un assist premium 24×7.
Quels sorts dentreprises sont vos shoppers et remark utilisent-elles vos API ? Avez-vous un cas shopper à partager avec nous ?
Les cas d’utilization shopper partagés sont nombreux et sont disponibles en ligne. On peut citer dans le retail Adeo, maison-mère de Leroy Merlin, qui utilise Neo4j pour son moteur de recommandation sur le web site leroymerlin.fr, dans le prime three des websites Net consultés en France. Voir l’article de la revue du digital ici. Un des cas d’utilization les plus connus est celui de la NASA, avec un graph de connaissances qui a permis d’économiser 2 ans de recherche et plusieurs hundreds of thousands de . Les catégories de cas d’utilization accélérés par la answer graph Neo4j sont recensées ici. Elles comprennent :
- la détection de fraude
- la supervision de réseau
- l’analyse buyer 360°
- les moteurs de recommandation
- le Grasp Knowledge Administration
- l’analyse de réseaux sociaux
- l’identité et la gestion de l’accès (IAM)
- les graphes de connaissances
- and many others.
Pouvez-vous nous présenter quelques exemples dfunctions qui reposent sur Neo4j pour lapprentissage automatique dans lanalyse prédictive ?
On peut citer Meredith Advertising and marketing et Caterpillar. Meredith Advertising and marketing utilise Neo4j et la Graph Knowledge Science pour désambiguïser des profils shoppers. Ces cas d’utilization sont disponibles ici. Le cas d’utilization de Caterpillar est décrit en détail ici. Celui de Meredith Advertising and marketing est ici.
Quels conseils donneriez-vous aux professionnels de linformatique qui veulent tenter laventure de lIA
La knowledge science est un domaine très vaste, avec des milliers de publications scientifiques chaque année qui font avancer le domaine. La graph knowledge science est la branche de la knowledge science qui exploite les données connectées. C’est un domaine extrêmement prometteur par ses capacités de seize du contexte by way of les connexions, un contexte permettant d’obtenir une IA explicable.
Par ailleurs, on obtient de meilleures performances et de meilleures précisions dans les modèles de machine studying entraînés avec des caractéristiques points du graphe.
Voir le blog post ici. Donc, mon conseil serait : ne négligez pas cette branche de l’IA qu’est la Graph Knowledge Science !
Des views dembauches en France ?
Le web site Web de Neo4j répertorie les offres d’emplois disponibles en France, en Europe et ailleurs. Les offres d’emploi Neo4j sont également publiées sur Linkedin.
Des futurs projets dont vous voulez parler ?
Relayé largement, la perspective d’un normal de langage de base de données de graphes (GQL = Graph Question Language), s’appuyant largement sur Cypher, constitue une perspective de plus en plus proche. Les avancées de la bibliothèque Graph Knowledge Science, tous les trimestres, sont également à suivre.
Mentionnons enfin 2 projets particulièrement intéressants :
- le Neo4j workspace, qui offre une expérience unifiée intégrant en mode zéro-code la modélisation, l’alimentation et la visualisation des données connectées
- le Neo4j Ops Manager, interface d’administration des situations et clusters Neo4j déployés dans une infrastructure shopper, qui va faciliter le travail des exploitants