Criando Grafos de Rede

Se eu fosse fazer isso, eu:

  1. Baixaria um backup do site e o carregaria em um banco de dados PostgreSQL; o PostgreSQL é o banco de dados que suporta o Discourse. (ref)

  2. Criaria um banco de dados NoSQL, especificamente o Neo4j, a partir dos dados do PostgreSQL. (ref)

  3. Usaria a linguagem de consulta do Neo4j, Cypher, para encontrar os relacionamentos.

O Neo4j possui um sandbox; talvez você se interesse pelo exemplo dos Panama Papers.


EDIT

Uma vez que o banco de dados Neo4j estiver configurado e funcionando, para mantê-lo sincronizado com o banco de dados PostgreSQL do Discourse, eu usaria ou

a. Gatilhos do PostgreSQL
b. Webhooks do Discourse