J’ai commencé à entendre parler de « graph databases » en suivant les nouvelles de Robert Scoble sur les réseaux sociaux. J’ai tout de suite tenté de faire un lien avec le milieu professionnel dans lequel j’évolue alors que les applications présentées étaient très clairement destinées aux réseaux sociaux avec pour principal souci d’apporter une meilleure gestion des relations entre des objets d’une base de données. Et sans réussir encore à bien les identifier dans le monde du PLM il y a je pense un grand intérêt à permettre une plus grande flexibilité des relations entre différents objets. Pour l’instant je n’ai pas encore bien compris si ces relations pouvaient contenir de l’information comme c’est souvent le cas dans le PLM comme pour l’information de quantité sur un lien de nomenclature.

Je devais assister à une conférence il y a deux semaines à San Francisco dont le sujet était « Neo4J for Enterprise » malheureusement, la conférence était plus proche de Palo Alto que de San Francisco et dans ce cas il faut bien 40 min de voiture pour y aller donc en mode touriste ça n’est jamais simple. Donc je me contenterai de vous proposer cette seconde vidéo qui montre une interface graphique de requête un peu semblable à ce que l’on peut avoir pour BaseX mais en version web. Je pense que ces interfaces sont clés pour permettre à des gens comme moi, en veille techno mais non-spécialiste de comprendre les concepts engagés.

Posted by Yoann Maingon

Consultant PLM avec des expériences autant côté métier que dans l'implémentation technique de solutions PLM et d'intégrations de systèmes, je partage avec vous mes expériences, mes recherches et mes développements à travers ce blog.

  • je commence tout juste à m’intéresser au Graph Database et Neo4J en particulier. Comme vous je pense qu’il y a là un grand potentiel qui dépasse largement le monde des réseaux sociaux. Pour ce qui est de votre interrogation quant à la possibilité de faire porter un contenu à un lien la réponse est oui. Les bases de données graph sont composée de noeuds et de liens entre eux. Les noeuds comme les liens peuvent être enrichis d’attributs qui permettent d’ailleurs de les distinguer les uns des autres lors d’une traversée du graph.
    C’est très utile pour élaborer par exemple des algoritmes prévisionnels 🙂

    • Merci pour votre commentaire. Je me suis inscrit pour un journée de tutoriaux la semaine prochaine. J’ai joué un peu avec ce week-end. Le premier point qui me semble super intéressant est la flexibilité que cela offre pour itérer et amener de nouvelles fonctionnalités. On passe moins de temps à structurer une base de données pour une application, on design l’application directement.

  • Pingback: Graph Databases – le futur des bases de d...()

  • Bernard Chabot

    Nous utilisons ce type de base de données basées sur des
    graphes (et non sur des tables) pour spécifier les besoins utilisateurs dans le
    contexte d’une démarche PLM. Les schéma/modèles (=ontologies) de ce type de
    base de données sont extrêmement flexible et nous permettent d’embarquer toute
    la sémantique métier nécessaire pour spécifier – entre autres – les motivations de l’entreprise, le périmètre
    métier (exprimé de manière indépendante de l’organisation de l’entreprise), les
    processus métier, ainsi le modèle sémantique métier lui-même (comme un graphe à
    l’intérieur d’un graphe nommé hypernode http://kobrix.blogspot.fr/2011/01/hypernodes-are-contexts.html
    par les concepteurs de HyperGraphDB : http://www.hypergraphdb.org/index
    une autre base de données « graph-oriented »).

    Dans de nombreux cas, nous pouvons également dans le même
    graphe « tisser » les liens entre les « invariant métier »
    et les éléments du modèle de données logique et/ou du modèle de données
    applicatif dans le but de disposer d’une spécification globale (usage métier
    > modèle logique > modèle technique) totalement cohérente.

    Par ailleurs, on peux constater (via le 1er
    Workshop « OntoPLM » : http://ontoplm.wordpress.com/)
    un premier rapprochement entre le monde du Web Sémantique (et de ces bases de
    données « graph-oriented ») et le monde du PLM : sans doute de
    belles réalisations découlerons de cette union … en tout cas, on peut l’espérer !

    • Bon, il va vraiment falloir que je passe un peu de temps sur le web sémantique.

      Ces derniers mois j’ai un peu mis de côté mes études sur les graphsDB, beaucoup trop occupé avec Minerva, et autre activités comme (www.mysimplegrid.com et http://www.minuteez.com). Et mon premier frein a été lors de l’interfaçage que j’avais fait en PHP qui rendait les requêtes vers Neo4J un peu longue (un aperçu de l’endroit où je me susi arrêté https://twitter.com/yoannmaingon/status/400780396545069057/photo/1/large ). Dès que je retrouve un peu de temps je me re-pencherai sur Neo4J en faisant une intégration REST plus simple (voir potentiellement l’utilisation d’un framework js comme node.js ou angular).

      Mes idées sur l’utilisation des graphs sont assez concrètes. Je vois vraiment les outils que nous utilisons comme des graphes et je pense que chaque objet manipulé dans le cadre de processus PLM sont des nœuds d’un graph.
      Sur un plan plus technologique j’aime ce détachement des tables et cette capacité de créer des objets avec des contraintes très limitées.

      Une étude à poursuivre…

      merci pour votre commentaire.

      • Bernard Chabot

        Encore 2 signes que le monde sur PLM et celui du Web Sémantique se rapproche :
        – Une initiative de « Semantic PLM » nommé amePLM : http://www.ameplm.eu/index.php/project
        – Un bouquin (KC-PLM) qui spécifie ce que pourrait être un PLM sémantique : http://www.igi-global.com/chapter/plm-knowledge-collaborative-product-lifecycle/35762

        Pour démarrer le sujet, le mieux est doute de s’intéresser aux normes qui sous-tendent la « Semantic Web Stack » comme RDF (qui permet de représenter des graphes « quelconques »), RDFS (qui permet de définir des modèles de graphes), OWL (qui permet d’exprimer des contraintes sur ces modèles), SWRL (qui permet de définir des règles) et SPARQL (qui permet de requêter des graphes RDF) … et sans doute de « jouer » avec Protégé qui est l’outil open source de référence sur le sujet.

  • Pingback: un POC graphique orienté Small Data | le PLM ouvert()

  • Pingback: le langage de requête Cypher devient Open Source ! Pourquoi est-ce une bonne nouvelle ? | le PLM ouvert()