创建网络图

大家好,

有人对如何在 Discourse 实例中创建交互网络图有什么建议吗?例如,能够衡量群体的相对规模、它们之间的关系、谁是“连接最紧密”的人(通过点赞等),并将所有这些可视化在一个网络图中?

我猜这需要像 flourish 这样的第三方服务,所以如果有人在创建图表方面有专长,那也会很有帮助!

提前感谢!

3 个赞

如果我打算这么做,我会:

  1. 下载站点备份并将其加载到 PostgreSQL 数据库中;PostgreSQL 是 Discourse 的后端数据库。(参考

  2. 从 PostgreSQL 数据创建 NoSQL 数据库,具体来说是 Neo4j。(参考

  3. 使用 Neo4j 查询语言 Cypher 来查找关系。

Neo4j 提供了一个 沙箱环境,你可能会对 巴拿马文件 示例感兴趣。


编辑

一旦 Neo4j 数据库运行正常,为了保持 Neo4j 数据库与 Discourse PostgreSQL 数据库同步,我会使用以下任一方法:

a. PostgreSQL 触发器
b. Discourse Webhooks

6 个赞

我上周用 Flourish 做了一个。它是基于这个示例制作的,不过该示例现已无法使用,因为 Google 已停止其网络融合图表服务。

它展示了:

  • 用户之间双向的点赞关系
  • 用颜色高亮显示不同群组
  • 线条粗细表示点赞数量
  • 气泡大小表示每位用户的点赞比率(帖子数/点赞数)

我的示例包含大量数据点,因此难以阅读,不过我当时只是在做实验。减少用户数量或缩短时间范围等可以让图表更清晰。

以下是选中用户的截图:

7 个赞

我将其构建为一个在线可视化:Community Network Visualisation

7 个赞