Ex.5-Mapping the Republic of Letters — A Spatial-Temporal Exploration of Early Modern Intellectual Networks[ITA]
🎯 Obiettivo del Progetto
Creare un’applicazione in Python che analizzi, organizzi e visualizzi reti di corrispondenza tra intellettuali tra il XVII e XVIII secolo, utilizzando metadati archivistici (mittente, destinatario, anno, luogo di spedizione e ricezione). Il progetto combina analisi temporale, spaziale e di rete.
🔧 Tecnologie e Librerie
pandas
– per la manipolazione dei datinetworkx
– per la costruzione della rete di corrispondenzamatplotlib
/seaborn
– per la visualizzazione temporalefolium
/geopandas
– per la visualizzazione su mappajson
ocsv
– per i dati in input/output
🗂️ Dataset Atteso
Un file .csv
o .json
con la seguente struttura:
plaintext sender,recipient,year,place_sent,place_received
"Leibniz","Arnauld",1672,"Paris","Paris"
"Newton","Halley",1687,"Cambridge","London"
"Diderot","Catherine the Great",1773,"Paris","St. Petersburg"
...
🧱 Struttura del Progetto
bash republic_of_letters/
│
├── data/
│ └── letters.csv
│
├── src/
│ ├── data_loader.py # Caricamento e pulizia dei dati
│ ├── timeline_analysis.py # Analisi temporale (volumi per decennio, etc.)
│ ├── network_builder.py # Costruzione grafo di corrispondenza
│ ├── map_visualizer.py # Visualizzazione geografica delle rotte
│ └── utils.py # Funzioni di supporto
│
├── notebooks/
│ └── analysis_demo.ipynb # Notebook dimostrativo con commenti e grafici
│
└── main.py # Punto d’ingresso per eseguire tutto il progetto
✅ Funzionalità del Progetto
- Pulizia e normalizzazione dei dati
- Uniformare nomi e città
- Rimuovere duplicati o dati incompleti
- Analisi temporale
- Conteggio lettere per decennio
- Visualizzazione con
matplotlib
oseaborn
- Costruzione della rete
- Nodi: intellettuali
- Archi: lettere inviate
- Peso: numero di lettere
- Visualizzazione con
networkx
- Analisi geografica
- Rotte disegnate su mappa con
folium
ogeopandas
- Filtraggio per decennio o persona
- Rotte disegnate su mappa con
- Interattività (opzionale)
- Menù CLI o interfaccia Jupyter per filtrare per autore, periodo o città
🧠 Domande di ricerca possibili
- Quali sono stati i nodi centrali nella rete della Repubblica delle Lettere?
- Come si è spostata l’attività intellettuale nei secoli?
- Ci sono periodi di maggiore densità comunicativa?
🗃️ Output previsto
- Grafici di rete intellettuale
- Mappe con rotte di corrispondenza
- Tabelle riassuntive per autore, città, decennio
- File JSON/CSV aggregati e puliti
🧩 Estensioni possibili
- Collegare date con eventi storici (es. guerre, riforme)
- Integrazione con cataloghi come VIAF o Wikidata
- Interfaccia web (es. con Streamlit)
File: exercises/Mapping the Republic of Letters.py at main · dhleitfaden/exercises
Eseguendo questo script, otterrai:
- la struttura del progetto
republic_of_letters/
- 6 file
.py
nella cartellasrc/
- un dataset
letters.csv
indata/
- un notebook
analysis_demo.ipynb
innotebooks/