Query access, da Access a Gephi

di il
1 risposte

Query access, da Access a Gephi

Ciao a tutti,
sono nuovo al forum, mi rivolgo a voi nel mio tentativo di risolvere un problema che mi sembra ad ora insormontabile. Sono uno studente di ingegneria e sto compiendo i lavori sperimentali della mia tesi, basata su una Social Network Analysis.
Devo in qualche modo "convertire" un dataset in formato access, adattandolo a un formato necessario per condurre la mia analisi su un software abbastanza famoso chiamato Gephi.
Provando a riassumere ed arrivare dritto al punto, il dataset raccoglie informazioni su progetti imprenditoriali cui partecipano università, aziende ed enti di varia natura. In linea di massima sono presenti tre tabelle, "Projects", "Participants" e "ParticipantsToProjects". "Projects" è la lista dei progetti, ciascuno identificato da un codice alfanumerico univoco. Allo stesso modo, "Participants" è la lista dei partecipanti, anch'essi hanno un codice identificativo univoco.
La tabella ParticipantsToProjects indica quali enti hanno partecipato a quali progetti ed è strutturata in modo tale che se i participants "alfa" e "beta" hanno partecipato entrambi al progetto "X", la tabella conterrà due righe

X alfa
X beta

(supponete che alfa, beta e X siano i codici alfanumerici).
Il mio lavoro è cercare di costruire un grafo su questi dati, dove i nodi sono gli enti partecipanti, collegati da archi che rappresentano un rapporto di partecipazione ad uno stesso progetto, per cui il nodo alfa è collegato al nodo beta perché hanno partecipato ad uno stesso progetto, il progetto X.

Ed eccoci al mio problema.
Il formato su cui opera il software richiede una lista dei nodi (facilmente esportabile dalla tabella Participants con access) e una lista degli archi fatta, molto semplicemente, così:

alfa beta

perchè alfa e beta sono collegati. La riga sopra deve essere ripetuta 2 volte nella tabella se alfa e beta partecipano insieme a due differenti progetti .
Le informazioni sono quindi da recuperare da ParticipantsToProjects, che contiene migliaia di righe. Le mie conoscenze di sql sono limitate (un esame alla triennale), non sono riuscito ad arrivare ad una query che possa selezionare tutte quelle informazioni dalla mia tabella ParticipantsToProjects per poi spostarle in una nuova tabella nel modo che sopra vi ho indicato.
Ho speso una giornata intera a cercare sul web una possibile soluzione ma non sono stato in grado di trovare nulla di neanche lontanamente vicino al problema stesso.

Scusate se sono stato prolisso, e grazie in anticipo per qualunque risposta e qualunque suggerimento che possa orientarmi meglio verso la soluzione.
Per i moderatori: se ritenete che abbia postato l'argomento sul forum sbagliato, mi scuso e vi invito a ripostarlo nel forum più coerente. Mi sono rivolto qua perché il mio dataset è su access, ma riconosco che forse il problema è in sostanza trovare una giusta query.

1 Risposte

  • Re: Query access, da Access a Gephi

    Se interpreto la problematica, hai la necessità di individuare i progetti (x, Y, z, ...) e per ciascuno costruire l'elenco dei nodi (alfa, beta, gamma, ...) che hanno partecipato al progetto, ottenendo una lista degli archi similare:
    x (alfa, beta)
    y (alfa, beta, gamma)
    z (beta, gamma)
    ....
    Per effettuare ciò, una semplice istruzione SQL non è sufficiente, devi appoggiarti a del codice VBA che (in Access) trasli le occorrenze per ciascun progetto e ponga i nodi in una stringa, fra loro separati con virgola (o altro separatore).
    In tal caso, la funzione ConcatRelated di Allen Browne che concatena i valori, può soddisfare al tuo caso:
    http://allenbrowne.com/func-concat.htm
Devi accedere o registrarti per scrivere nel forum
1 risposte