persNamer
persNamer: collegare la TEI al Virtual International Authority File
persNamer è uno strumento Python specializzato che facilita l’integrazione, nei documenti XML TEI, dei dati di autorità sulle persone forniti da VIAF (Virtual International Authority File). Convertendo gli identificatori VIAF in marcatura TEI pronta all’uso, riduce di molto il lavoro manuale necessario per creare voci di persona strutturate in un’edizione critica digitale.
Il controllo di autorità nella TEI
Le edizioni critiche digitali richiedono spesso di identificare con precisione i personaggi storici, con i nomi normalizzati e le date di nascita e di morte. Mantenere un controllo di autorità coerente in tutto un progetto richiede di:
- identificare le persone nei testi storici
- trovare dati autorevoli su di loro
- creare voci TEI formattate a dovere
- garantire riferimenti coerenti in tutto il progetto
Passaggi che, di norma, sono manuali, lenti e soggetti a incoerenze.
Come funziona persNamer
persNamer automatizza questo flusso di lavoro:
- Recupero dei dati VIAF: dato un identificatore VIAF, lo strumento recupera i dati RDF tramite negoziazione del contenuto HTTP
- Estrazione delle informazioni essenziali: analizza l’RDF per estrarre il nome preferito, la data di nascita e la data di morte
- Generazione della marcatura TEI: crea due frammenti XML:
- una voce dell’authority file (elemento
<person>con unxml:idgenerato,<persName>,<birth>,<death>e<idno type="VIAF">) - un tag di annotazione a parte (
<persName>con un attributorefche rimanda alla voce di autorità)
- una voce dell’authority file (elemento
Questo doppio output permette ai curatori di mantenere un authority file centralizzato e, insieme, di inserire con facilità i tag di annotazione nei loro testi TEI.
Caratteristiche principali
- Generazione normalizzata degli ID: crea ID XML coerenti nella forma
pers-[cognome]-[iniziale del nome](per es.pers-deteligny-c) - Analisi RDF: usa
rdflibper estrarre le informazioni da diverse proprietà RDF (per es.rdfs:label,schema:name,viaf:mainHead) - Interfaccia a riga di comando: si esegue con un numero VIAF come unico argomento obbligatorio
- Output dettagliato: accompagna l’XML finale con informazioni dettagliate sull’elaborazione
Esempio d’uso
python persNamer.py 314802260
Questo comando produce:
<person xml:id="pers-deteligny-c">
<persName>Charles deTéligny</persName>
<birth>1535</birth>
<death>1572-08-24</death>
<idno type="VIAF">314802260</idno>
</person>
<persName ref="#pers-deteligny-c">Charles deTéligny</persName>
Applicazioni nell’umanistica digitale
persNamer torna particolarmente utile per:
- le edizioni critiche digitali che richiedono un controllo di autorità
- i progetti di codifica TEI che trattano personaggi storici
- le iniziative di linked data che collegano documenti a record di autorità
- garantire la coerenza in grandi corpora TEI
- insegnare il controllo di autorità nei corsi di umanistica digitale
Realizzazione
persNamer è scritto in Python e dipende da:
requestsper le richieste HTTPrdflibper l’analisi RDFlxmlper la gestione dell’XML
Il codice sorgente e la documentazione sono nel repository GitHub.
