みなさんこんにちは、
Discourse インスタンス全体の相互作用をネットワークグラフとして可視化する際のヒントをご存知でしょうか?例えば、グループの相対的な規模や、それらがどのように関連しているか、「最もつながりのある」人々(いいねの数などによる)を特定し、これらをネットワークグラフで可視化したいと考えています。
おそらく、flourish のようなサードパーティのサービスが必要になると思いますが、グラフ作成の expertise をお持ちの方がいらっしゃいましたら、それも非常に参考になります!
よろしくお願いいたします。
EricGT
(EricGT)
2
もし私がこれを行うなら、
-
サイトのバックアップを取得し、PostgreSQL データベースに読み込みます。PostgreSQL は Discourse のバックエンドデータベースです (参照)。
-
PostgreSQL のデータから、特に Neo4j などの NoSQL データベースを作成します (参照)。
-
Neo4j のクエリ言語である Cypher を使用して、関係性を特定します。
Neo4j には サンドボックス があり、パナマ文書 の例が参考になるかもしれません。
編集
Neo4j データベースが稼働し、Discourse の PostgreSQL データベースと同期を保つには、どちらか一方を使用します。
a. PostgreSQL の トリガー
b. Discourse の ウェブフック
先週、Flourishで一つ作成しました。これは、Googleがネットワーク融合チャートを discontinued したため、もはや機能しなくなったこの例に基づいています。
以下を表示しています:
- ユーザー間の双方向の「いいね」
- グループを強調するための色
- 「いいね」の数を示す線の太さ
- 各ユーザーの「いいね」比率(投稿数/「いいね」数)を示すバブルの大きさ
私の例はデータポイントが多すぎて読み取りにくいですが、とにかく実験として試してみました。ユーザー数を減らしたり、期間を短くしたりすると、もっと見やすくなります。
以下は、選択したユーザーのスクリーンショットです: