Archivi tag: hochadelsdorf

Mese sabbatico

Questo lungo periodo di silenzio sul blog ha corrisposto ad una fase molto prolifica sul fronte della ricerca. Ho estratto nuovamente tutti i dati dalle tre basi dati online usando nuovi criteri (e automatizzando molti dei processi), li ho allineati per permettere un confronto tra le fonti in modo da individuare (e sanare) eventuali “biforcazioni” nelle genealogie, ho creato la struttura della base dati relazionale ed ho iniziato a popolarla. Tutto sembrava andare a gonfie vele finché è arrivato Dicembre, con il suo carico di impegni, che ha imposto una battuta di arresto, un mese sabbatico appunto. 

Un carico lavorativo straordinario in vista della fine dell’anno mi ha impegnato più del solito trasformando la pausa pranzo in un momento in cui tirare il fiato più che immergersi nell’analisi dei dati. A questo si è aggiunta la decisione di riprendere l’attività musicale in orchestra, dopo oltre 11 anni di inattività. Una scelta di cui sono molto soddisfatto e che spero abbia un seguito, compatibilmente con tutto il resto. 

Nel frattempo, si è laureato il tesista a cui avevo dato alcune dritte sulle genealogie. Ci siamo incontrati per discutere del futuro del progetto Hochadelsdorf e di come avremmo potuto collaborare per unire le due basi dati: quella a cui sto lavorando e quella da lui usata per la tesi. Abbiamo deciso delle linee comuni in modo che, pur lavorando, al momento, separatamente, possiamo poi, con un minimo di sforzo necessario, unire i dati. Hochadelsdorf a questo punto allarga il suo team di lavoro e questo non può che farmi piacere. 

Ancora una volta mi trovo a fare buoni propositi per il nuovo anno. Questa volta sarò molto cauto: l’aspettativa è quella di finire di popolare il database relazionale. Sarebbe già un traguardo! 

Leaving the comfort zone

Due mesi fa, dopo 15 anni, ho lasciato l’azienda per cui lavoravo come sviluppatore software. È capitata una occasione interessante ed ho pensato che fosse arrivato il momento di mettersi alla prova. Sono molto soddisfatto della scelta. Certo non è stato facile ma un amico (e mentore da un punto di vista professionale) mi ha sempre mostrato l’immagine seguente. Ed io ho deciso di lasciare la mia zona di comfort per andare a vedere la magia là dove essa accade. 

Anche dal punto di vista della ricerca ho dovuto lasciare la zona di comfort. Dopo interventi infruttuosi e vicoli ciechi, abbiamo deciso di cambiare completamente approccio. Fino ad adesso abbiamo considerato Genealogics come la fonte dati principale ed utilizzato le altre (Roglo e Geneagraphie) come integrazione. Questo ha portato ad una serie di interventi che, se da una parte correggevano un’incongruenza, da un’altra parte ne inserivano di nuove con nuovi problemi di grafia dei nomi e di legami mancanti. Con oltre tre milioni di record è facile perdere il filo dopo un po’.
Così, dopo una non breve consultazione via Skype (ormai non vado quasi più in dipartimento), abbiamo deciso di ripartire… da capo! Esatto, dai file di testo estratti (a mano) dalle tre basi dati ed elaborati con una versione migliorata degli script in C# che ho usato, ormai oltre tre anni fa, per la tesi.
Da una parte dispiace che tre anni di lavoro siano serviti solo a creare know-how ma dall’altra è un sollievo uscire dalle pastoie di approcci sbagliati e dalla rigidità di una impostazione dei dati che se, all’epoca della tesi, è stata vincente perché ha permesso di individuare alcuni risultati e di intravederne altri, alla lunga ha dimostrato tutti i suoi limiti. Giusto per fare un esempio, all’epoca decisi di usare il nome come identificativo di ciascun soggetto: niente identificativi numerici univoci o cose simili. Avete idea di che significhi fare una ricerca su milioni di righe usando una stringa di trenta o quaranta caratteri come filtro?
In questa revisione della base dati (eviterò di chiamarla Hochadelsdorf 2.0) abbiamo deciso di adoperare da subito un approccio relazionale: più tabelle, una per ciascuna entità o relazione, collegate tra di loro mediante identificativi numerici. Sulla struttura del database tornerò in seguito perché è ancora in fase di definizione. Al momento sto estraendo i dati dai file di testo e popolando delle tabelle provvisorie; da esse dovrò generare un tracciato dati che metta a confronto le tre fonti e su cui determinare i soggetti corretti da importare nel database relazionale (“il relazionale” è ormai il nome comune per questo oggetto che stiamo andando a creare). La roadmap è definita, il tempo, al solito, è poco ma con le idee chiare sul da farsi si lavora meglio. Speriamo di aver imboccato la strada giusta che dalla comfort zone ci porti a incontrare la magia che in questo progetto, sono sicuro, è ancora tutta da scoprire.

A che punto siamo?

E’ passato molto tempo dall’ultima volta che ho scritto su questo blog ma non sono stato inoperoso. Certo il progetto procede un po’ a rilento ma durante l’estate sono state fatte molte correzioni alla base dati e, ad oggi, dovrei essere in grado di integrare i dati con quelli provenienti da un’altra base dati online, operazione che dovrebbe colmare alcune lacune nelle genealogie studiate. Proprio in questi giorni sto valutando l’impatto di questa operazione di integrazione.

Qualche mese fa, il professore mi ha chiesto di dare una mano ad un suo tesista in fisica statistica che sta lavorando sulla cladistica tra famiglie. L’idea era quella di integrare gli alberi genealogici dei capostipiti dell’alta nobiltà con rami sterili e su questi dati condurre varie analisi di tipo statistico. La base dati del progetto Hochadelsdorf poteva quindi costituire un ottimo punto di partenza ma necessitava di alcune elaborazioni. Ho fatto quindi quello che forse avrei dovuto fare fin dall’inizio: trasformare la base dati in una base dati relazionale. Attualmente infatti il database di Hochadelsdorf è una enorme tabella in cui molti dati sono ridondanti. Ho quindi estratto la tabella dei soggetti univoci assegnando ad essi un codice numerico ed ho sostituito, nella tabella delle occorrenze, i nomi con i codici. Poi a ciascun soggetto ho assegnato il codice del padre e quello della madre. In questo modo ho facilitato il lavoro del tesista fornendogli i dati in un formato sicuramente più maneggevole. Magari in un prossimo post entrerò nel dettaglio delle istruzioni SQL adoperate per la trasformazione.