persNamer 1.2:VIAF番号ひとつで、典拠ファイル九つ

2026年9月7日·
Clément Godbarge
Clément Godbarge
· 4 分で読める
post デジタル・ヒューマニティーズ

persNamerは、もともとちょっとした便利道具にすぎませんでした。VIAF番号を渡せば、TEIの<person>エントリと、本文に注釈を付けるための<persName>タグが返ってくる、ただそれだけのものでした。しかも返ってくるエントリは、名前がひとつ、日付がふたつ、識別子がひとつという心もとないものでした。本日公開のバージョン1.2でも、やることはひとつのままです。ただ、そのエントリが、今度は手元に残しておく甲斐のあるものになりました。

人物エントリには、いま何が入っているか

まずは名前の話から。VIAFのクラスターには、参加図書館の数だけ名前の形が入っています。旧版のpersNamerは、そのうち最初に目に留まったラベルをそのまま拾っていました。ヴォルテールを尋ねれば、返ってくるのは「فولتير،」。アラビア文字で、末尾のコンマまで律儀に付いていて、おまけにxml:idは空。バージョン1.2では、クラスター全体で形を数え上げ、ソースレコードが揃って採っている形を残します。残りは<persName type="variant">として後ろに続き、並び順は頻度の高いものから。日付は正規化したうえで(1572-08-00なら1572-08に)、本文と@when属性の二か所に書き込みます。日付を理解する処理が実際に読むのは、この属性のほうだからです。性別と説明文は、VIAFが出している場合にかぎって加わります。

そして、私がいちばん望んでいたのがこれです。VIAFがschema:sameAsと自前のソースIDとで結びつけている識別子は、ひとつ残らず<idno>に書き出されます。BnF、GND、米国議会図書館、SUDOC、Wikidata、ISNI、BNE、LIBRIS、NDL。入れる番号はひとつ、出てくる目録は九つ。人物誌にとってこれは、ただの名前の一覧でいるか、典拠データの網の目に結ばれた結節点になるかの分かれ目です。

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

断片から人物誌へ

XMLを端末に印字するだけでも、相手がひとりなら困りません。けれども校訂版ともなれば、人物は何百人にもなります。そこでpersNamerは、VIAF番号を一度に何件でも受け取るようになりました。リクエストの合間には行儀よくひと息おき、取ってきたものはキャッシュに残し、--mergeを付ければ、新しいエントリを既存TEIファイルの<listPerson>にじかに書き込みます。すでに載っているレコードはVIAF番号で見分けてxml:idをそのまま使い回し、新しいIDはファイルと突き合わせて、ぶつかるようなら接尾辞(-2-3)を添えます。仕上げにファイル全体のインデントを整え直しますが、その前に.bakのコピーを取っておくのを忘れません。

persnamer --merge edition.xml 314802260 36925746

ひとつ、心に留めておいていただきたい変更があります。姓の前置小辞は、既定ではIDに入れなくなりました。シャルル・ド・テリニーなら、pers-deteligny-cではなくpers-teligny-cになります。旧来の形で運用が固まっているプロジェクトには--keep-particleがあり、これで元に戻ります。そもそも名前に頼りたくないという方には、--id-format viafpers-viaf-314802260という形もご用意しました。

こまごました整備

スクリプトはパッケージとして生まれ変わり、persnamerコマンドが付きました。uv tool installpipxなら一行で入りますし、入れずに一度だけ試すならuvxで済みます。テストは26本、記録済みのVIAF応答に対して走るので、ネットワークは要りません。CIではPython 3.9から3.13までを順に回し、出力はTEI P5に照らして検証しています。ライセンスは変わらずApache 2.0です。

相変わらずできないのは、その人がどこで生まれ、何を生業にしていたかを答えることです。VIAFのクラスターRDFには、場所も職業も載っていません。載っているのは、そこからリンクされたBnFやGNDのレコードのほう。そしてその番号は、もうお手元にあります。

コードとドキュメントはGitHubでご覧いただけます。

Clément Godbarge
著者
デジタル・ヒューマニティーズ講師
クレマン・ゴドバルジュはセント・アンドルーズ大学のデジタル・ヒューマニティーズ講師。研究テーマは近世ヨーロッパにおける科学と統治術の関係である。近刊の著書では、16世紀のフランスとイタリアの宮廷に仕えた医師たちが、いかにして新しいタイプの政治的専門家として自らを位置づけたかを考察している。これまでにアンドリュー・W・メロン財団、フルブライト委員会、アメリカ・ルネサンス学会、ハーバード大学の助成を受けている。