persNamer 1.2: Eine VIAF-Nummer, neun Normdateien

7. September 2026·
Clément Godbarge
Clément Godbarge
· 3 Min Lesezeit
post Digital Humanities

persNamer war anfangs nicht mehr als eine kleine Bequemlichkeit: vorn eine VIAF-Nummer hinein, hinten ein TEI-Eintrag <person> heraus, dazu das <persName>-Tag für die Annotation im Text. Mehr nicht – und viel stand auch nicht drin: ein Name, zwei Daten, ein Identifikator. Die heute erschienene Version 1.2 kann nach wie vor nur dieses eine, aber der Eintrag, den sie liefert, ist jetzt einer, den man behalten möchte.

Was heute in einem Personeneintrag steht

Zuerst der Name. In einem VIAF-Cluster steuert jede beteiligte Bibliothek ihre eigene Namensform bei, und das alte persNamer griff schlicht nach der ersten, die ihm in die Hände fiel. Wer nach Voltaire fragte, bekam „فولتير،“ – die arabische Form, Schlusskomma inklusive – und obendrein eine leere xml:id. Jetzt zählt das Programm die Formen im gesamten Cluster durch und behält die, die unter den Quelldatensätzen am häufigsten vorkommt; alle übrigen folgen als <persName type="variant">, nach Häufigkeit geordnet. Datumsangaben werden normalisiert (aus 1572-08-00 wird 1572-08) und doppelt geschrieben: einmal als Text und einmal im Attribut @when, denn dorthin schaut jede Verarbeitung, die mit Datumsangaben etwas anfangen kann. Geschlecht und Beschreibungen kommen dazu, sofern VIAF sie hergibt.

Und dann das, worauf ich am meisten gewartet hatte: Jeder Identifikator, den VIAF mit der Person verknüpft – über schema:sameAs wie über seine eigenen Quellen-IDs –, landet in einem eigenen <idno>: BnF, GND, Library of Congress, SUDOC, Wikidata, ISNI, BNE, LIBRIS, NDL. Eine Nummer hinein, neun Kataloge heraus. Für eine Personographie macht das den Unterschied zwischen einer bloßen Namensliste und einem Knoten im Netz der Normdaten.

<person xml:id="pers-teligny-c">
  <persName>Charles de Téligny</persName>
  <birth when="1535">1535</birth>
  <death when="1572-08-24">1572-08-24</death>
  <sex value="M">M</sex>
  <idno type="VIAF">314802260</idno>
  <idno type="BNF">16133360</idno>
  <idno type="Wikidata">Q1868249</idno>
  <idno type="ISNI">0000000071126808</idno>
</person>

Vom Schnipsel zur Personographie

Solange es um eine einzige Person geht, reicht XML im Terminal. Eine Edition aber hat Hunderte. persNamer nimmt deshalb jetzt mehrere VIAF-Nummern auf einmal entgegen, gönnt VIAF zwischen zwei Anfragen eine höfliche Atempause, behält Abgerufenes im Cache – und setzt die neuen Einträge mit --merge unmittelbar in die <listPerson> einer vorhandenen TEI-Datei. Wer dort schon steht, wird an seiner VIAF-Nummer erkannt und behält seine xml:id; neue IDs werden mit der Datei abgeglichen und bekommen bei einer Kollision ein Suffix (-2, -3); zum Schluss wird die Datei neu eingerückt, aber erst, nachdem eine .bak-Kopie beiseitegelegt ist.

persnamer --merge edition.xml 314802260 36925746

Eine Neuerung, die man kennen sollte: Die Namenspartikel bleibt in der ID jetzt standardmäßig weg – aus Charles de Téligny wird pers-teligny-c, nicht mehr pers-deteligny-c. Hat sich Ihr Projekt an die alte Form gewöhnt, holt --keep-particle sie zurück; und wer sich lieber gar nicht auf Namen verlassen mag, bekommt mit --id-format viaf ein pers-viaf-314802260.

Hausputz

Aus dem Skript ist ein ordentliches Paket geworden, mit dem Befehl persnamer; eine Zeile genügt, um es zu installieren (uv tool install oder pipx) oder es mit uvx einmal auszuprobieren, ohne überhaupt etwas zu installieren. Sechsundzwanzig Tests prüfen es gegen aufgezeichnete VIAF-Antworten – Netz braucht die Suite also keines –, die CI lässt sie unter Python 3.9 bis 3.13 durchlaufen, und die Ausgabe wird gegen TEI P5 validiert. Lizenz: Apache 2.0, wie gehabt.

Was es nach wie vor nicht weiß: wo jemand geboren wurde und womit er sein Brot verdiente. Das Cluster-RDF von VIAF verzeichnet weder Orte noch Berufe. Die verknüpften Datensätze der BnF und der GND tun es – und deren Nummern haben Sie jetzt in der Hand.

Code und Dokumentation auf GitHub.

Clément Godbarge
Autoren
Dozent für Digital Humanities
Clément Godbarge ist Dozent für Digital Humanities an der University of St Andrews. Seine Forschung befasst sich mit Wissenschaft und Staatskunst im Europa der Frühen Neuzeit. In seinem demnächst erscheinenden Buch untersucht er, wie Ärzte an den Höfen Frankreichs und Italiens im 16. Jahrhundert sich als politische Experten eines neuen Typs profilierten. Seine Forschung wurde von der Andrew W. Mellon Foundation, der Fulbright-Kommission, der Renaissance Society of America und der Harvard University gefördert.