Création de graphes de réseaux

Bonjour à tous,

Auriez-vous des conseils pour créer un graphe de réseau représentant les interactions au sein d’une instance Discourse ? Par exemple, afin de pouvoir évaluer la taille relative des groupes, leurs relations mutuelles, et identifier les personnes les plus « connectées » (via les likes, etc.), le tout visualisé dans un graphe de réseau ?

Je suppose que cela nécessite l’utilisation d’un service tiers comme flourish. Si quelqu’un a de l’expérience dans la création de graphiques, vos conseils seraient également les bienvenus !

Merci d’avance !

3 « J'aime »

Si je devais faire cela, je procéderais comme suit :

  1. Télécharger une sauvegarde du site et la charger dans une base de données PostgreSQL ; PostgreSQL est la base de données qui sous-tend Discourse. (réf)

  2. Créer une base de données NoSQL, spécifiquement Neo4j, à partir des données de PostgreSQL. (réf)

  3. Utiliser le langage de requête de Neo4j, Cypher, pour identifier les relations.

Neo4j propose un bac à sable ; vous pourriez être intéressé par l’exemple des Panama Papers.


MODIFICATION

Une fois la base de données Neo4j opérationnelle et pour la maintenir synchronisée avec la base de données PostgreSQL de Discourse, j’utiliserais soit :

a. Les déclencheurs de PostgreSQL
b. Les webhooks de Discourse

6 « J'aime »

J’en ai réalisé un sur Flourish la semaine dernière. Il est basé sur cet exemple qui ne fonctionne plus car Google a mis fin à son graphique de fusion de réseau.

Il affiche :

  • les likes échangés entre les utilisateurs dans les deux sens
  • des couleurs pour mettre en évidence les groupes
  • l’épaisseur des lignes pour indiquer le nombre de likes
  • la taille des bulles pour montrer le ratio de likes pour chaque utilisateur (publications/likes)

Mon exemple contient tellement de points de données qu’il est difficile à lire, mais je faisais simplement des essais de toute façon. Réduire le nombre d’utilisateurs ou la période, etc., rendrait le tout plus clair.

Capture d’écran d’un utilisateur sélectionné ci-dessous :

7 « J'aime »

J’ai créé ceci en tant que visualisation en ligne : Community Network Visualisation

7 « J'aime »