persNamer

28 de març del 2025 · 3 min de lectura
code

persNamer: connectar la TEI amb el Virtual International Authority File

DOI

persNamer és una eina especialitzada en Python que facilita la integració en documents TEI XML de dades d’autoritat sobre persones procedents del VIAF (Virtual International Authority File). En convertir els identificadors VIAF en marcatge TEI a punt per fer servir, persNamer redueix notablement la feina manual que comporta crear entrades de persona estructurades per a les edicions acadèmiques digitals.

El repte del control d’autoritats en TEI

Les edicions acadèmiques digitals sovint exigeixen identificar amb precisió els personatges històrics, incloent-hi els seus noms normalitzats i les dates de naixement i mort. Mantenir un control d’autoritats coherent en tot un projecte requereix:

  1. Identificar les persones en els textos històrics
  2. Trobar-ne dades d’autoritat
  3. Crear entrades TEI correctament formatades
  4. Garantir referències coherents al llarg de tot el projecte

Aquests passos solen ser manuals, lents i propensos a la incoherència.

Com funciona persNamer

persNamer automatitza aquest flux de treball:

  1. Obté les dades del VIAF: a partir d’un identificador VIAF, l’eina recupera les dades RDF mitjançant negociació de contingut HTTP
  2. N’extreu la informació clau: analitza l’RDF per extreure’n el nom preferit, la data de naixement i la data de mort
  3. Genera el marcatge TEI: crea dos fragments XML essencials:
    • Una entrada de fitxer d’autoritats (element <person> amb un xml:id generat, <persName>, <birth>, <death> i <idno type="VIAF">)
    • Una etiqueta d’anotació a part (<persName> amb un atribut ref que apunta a l’entrada d’autoritat)

Aquesta doble sortida permet als editors mantenir un fitxer d’autoritats centralitzat i, alhora, inserir fàcilment etiquetes d’anotació en els seus textos TEI.

Característiques principals

  • Generació d’identificadors normalitzats: crea identificadors XML coherents amb el format pers-[familyname]-[givenname initial] (p. ex., pers-deteligny-c)
  • Anàlisi d’RDF: fa servir rdflib per extreure informació de diverses propietats RDF (p. ex., rdfs:label, schema:name, viaf:mainHead)
  • Interfície de línia d’ordres: s’executa amb un número VIAF com a únic argument obligatori
  • Sortida detallada: proporciona informació detallada del processament juntament amb l’XML final

Exemple d’ús

python persNamer.py 314802260

Aquesta ordre produeix:

<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>

Aplicacions en humanitats digitals

persNamer és especialment útil per a:

  • Edicions acadèmiques digitals que requereixen control d’autoritats
  • Projectes de codificació TEI que treballen amb personatges històrics
  • Iniciatives de dades enllaçades que connecten documents amb registres d’autoritat
  • Garantir la coherència en grans corpus TEI
  • Ensenyar els conceptes del control d’autoritats en cursos d’humanitats digitals

Implementació

persNamer està escrit en Python i depèn de:

  • requests per a les peticions HTTP
  • rdflib per a l’anàlisi d’RDF
  • lxml per a la gestió de l’XML

El codi font i la documentació són al repositori de GitHub.

Clément Godbarge
Authors
Professor d’humanitats digitals
Clément Godbarge és professor d’humanitats digitals a la Universitat de St Andrews. La seva recerca gira entorn de la ciència i l’art de governar a l’Europa de l’inici de l’època moderna. Al llibre que té en premsa, examina com els metges vinculats a les corts de França i Itàlia del segle XVI es van presentar com a experts polítics d’un gènere nou. La seva recerca ha rebut el suport de la Fundació Andrew W. Mellon, la Comissió Fulbright, la Renaissance Society of America i la Universitat Harvard.