Avete qualche consiglio su come creare un grafico di rete delle interazioni all’interno di un’istanza Discourse? Ad esempio, per poter valutare le dimensioni relative dei gruppi, le loro relazioni reciproche e individuare le persone “più connesse” (tramite like, ecc.), il tutto visualizzato in un grafico di rete?
Immagino che serva un servizio di terze parti come flourish, quindi se qualcuno ha esperienza nella creazione di grafici, sarebbe molto utile!
Scaricherei un backup del sito e lo caricerei in un database PostgreSQL; PostgreSQL è il database che supporta Discourse. (ref)
Creerei un database NoSQL, in particolare Neo4j, partendo dai dati di PostgreSQL. (ref)
Utilizzerei il linguaggio di query di Neo4j, Cypher, per individuare le relazioni.
Neo4j offre una sandbox; potresti trovare interessante l’esempio dei Panama Papers.
MODIFICA
Una volta che il database Neo4j è attivo e funzionante, per mantenerlo in sincronia con il database PostgreSQL di Discourse, utilizzerei uno dei seguenti metodi:
Ne ho fatto uno con Flourish la settimana scorsa. Si basa su questo esempio che non funziona più perché Google ha dismesso il suo grafico a fusione di rete.
Mostra:
i like tra gli utenti in entrambe le direzioni
colori per evidenziare i gruppi
spessore delle linee per indicare il numero di like
dimensione delle bolle per mostrare il rapporto like/post per ogni utente
Il mio esempio contiene così tanti punti dati che è difficile da leggere, ma stavo solo facendo delle prove. Ridurre il numero di utenti o il periodo di tempo, ecc., lo renderebbe più chiaro.
Di seguito uno screenshot di un utente selezionato: