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 dati
  • networkx – per la costruzione della rete di corrispondenza
  • matplotlib / seaborn – per la visualizzazione temporale
  • folium / geopandas – per la visualizzazione su mappa
  • json o csv – 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

  1. Pulizia e normalizzazione dei dati
    • Uniformare nomi e città
    • Rimuovere duplicati o dati incompleti
  2. Analisi temporale
    • Conteggio lettere per decennio
    • Visualizzazione con matplotlib o seaborn
  3. Costruzione della rete
    • Nodi: intellettuali
    • Archi: lettere inviate
    • Peso: numero di lettere
    • Visualizzazione con networkx
  4. Analisi geografica
    • Rotte disegnate su mappa con folium o geopandas
    • Filtraggio per decennio o persona
  5. 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 cartella src/
  • un dataset letters.csv in data/
  • un notebook analysis_demo.ipynb in notebooks/