Erstellen von Netzwerkdiagrammen

Hallo zusammen,

Hat jemand Tipps, wie man ein Netzwerkdiagramm von Interaktionen über eine Discourse-Instanz erstellt? Zum Beispiel, um die relative Größe von Gruppen zu ermitteln, wie sie miteinander verbunden sind und wer die „am besten vernetzten

Wenn ich das tun würde, würde ich:

  1. Ein Backup der Seite herunterladen und in eine PostgreSQL-Datenbank laden; PostgreSQL ist die Datenbank, die Discourse unterstützt. (ref)

  2. Aus den PostgreSQL-Daten eine NoSQL-Datenbank erstellen, speziell Neo4j. (ref)

  3. Die Neo4j-Abfragesprache Cypher verwenden, um die Beziehungen zu finden.

Neo4j bietet eine Sandbox; das Beispiel zu den Panama Papers könnte Sie interessieren.


EDIT

Sobald die Neo4j-Datenbank eingerichtet und funktionsfähig ist, um die Neo4j-Datenbank mit der Discourse-PostgreSQL-Datenbank synchron zu halten, würde ich entweder

a. PostgreSQL-Trigger
b. Discourse-Webhooks

verwenden.

Letzte Woche habe ich eine mit Flourish erstellt. Sie basiert auf diesem Beispiel, das nicht mehr funktioniert, da Google ihre Netzwerk-Fusions-Diagramme eingestellt hat.

Sie zeigt:

  • Likes zwischen Nutzern in beide Richtungen
  • Farben zur Hervorhebung von Gruppen
  • Die Dicke der Linien, um die Anzahl der Likes anzuzeigen
  • Die Größe der Kreise, um das Like-Verhältnis für jeden Benutzer anzuzeigen (Beiträge/Likes)

Mein Beispiel enthält so viele Datenpunkte, dass es schwer zu lesen ist, aber ich habe es ohnehin nur ausprobiert. Eine Verringerung der Anzahl der Benutzer oder des Zeitraums usw. würde es übersichtlicher machen.

Screenshot eines ausgewählten Benutzers unten:

Ich habe dies als Online-Visualisierung erstellt: Community Network Visualisation