<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>リンクトデータ |</title><link>https://clementgodbarge.com/ja/tag/%E3%83%AA%E3%83%B3%E3%82%AF%E3%83%88%E3%83%86%E3%83%BC%E3%82%BF/</link><atom:link href="https://clementgodbarge.com/ja/tag/%E3%83%AA%E3%83%B3%E3%82%AF%E3%83%88%E3%83%86%E3%83%BC%E3%82%BF/index.xml" rel="self" type="application/rss+xml"/><description>リンクトデータ</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>ja-jp</language><lastBuildDate>Fri, 28 Mar 2025 00:00:00 +0000</lastBuildDate><image><url>https://clementgodbarge.com/media/icon_hu_64a6c3bec25b3d7b.png</url><title>リンクトデータ</title><link>https://clementgodbarge.com/ja/tag/%E3%83%AA%E3%83%B3%E3%82%AF%E3%83%88%E3%83%86%E3%83%BC%E3%82%BF/</link></image><item><title>persNamer</title><link>https://clementgodbarge.com/ja/code/persnamer/</link><pubDate>Fri, 28 Mar 2025 00:00:00 +0000</pubDate><guid>https://clementgodbarge.com/ja/code/persnamer/</guid><description>&lt;h2 id="persnamerteiをバーチャル国際典拠ファイルにつなぐ"&gt;persNamer：TEIをバーチャル国際典拠ファイルにつなぐ&lt;/h2&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;persNamerは、VIAF（バーチャル国際典拠ファイル）の典拠データをTEI XML文書に取り込む作業を効率化する、専用のPythonツールです。VIAF識別子をそのまま使えるTEIマークアップに変換することで、デジタル校訂版のための構造化された人物エントリを作る手作業を大きく減らします。&lt;/p&gt;
&lt;h2 id="teiにおける典拠管理の難しさ"&gt;TEIにおける典拠管理の難しさ&lt;/h2&gt;
&lt;p&gt;デジタル校訂版では、標準化された名前や生没年を含め、歴史上の人物を正確に同定することがしばしば求められます。プロジェクト全体で典拠管理を一貫させるには、次の手順が要ります。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;歴史的テキストの中の人物を同定する&lt;/li&gt;
&lt;li&gt;その人物についての典拠データを探す&lt;/li&gt;
&lt;li&gt;正しく整形されたTEIエントリを作る&lt;/li&gt;
&lt;li&gt;プロジェクト全体で参照を一貫させる&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;これらの手順はふつう手作業で、時間がかかり、不整合も起こりがちです。&lt;/p&gt;
&lt;h2 id="persnamerの仕組み"&gt;persNamerの仕組み&lt;/h2&gt;
&lt;p&gt;persNamerは、次の手順でこのワークフローを自動化します。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;VIAFデータの取得&lt;/strong&gt;：VIAF識別子を受け取ると、HTTPコンテントネゴシエーションでRDFデータを取得します&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;主要情報の抽出&lt;/strong&gt;：RDFを解析し、優先名、生年月日、没年月日を取り出します&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TEIマークアップの生成&lt;/strong&gt;：欠かせない二つのXMLスニペットを作ります。
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;典拠ファイルのエントリ&lt;/strong&gt;（生成した&lt;code&gt;xml:id&lt;/code&gt;、&lt;code&gt;&amp;lt;persName&amp;gt;&lt;/code&gt;、&lt;code&gt;&amp;lt;birth&amp;gt;&lt;/code&gt;、&lt;code&gt;&amp;lt;death&amp;gt;&lt;/code&gt;、&lt;code&gt;&amp;lt;idno type=&amp;quot;VIAF&amp;quot;&amp;gt;&lt;/code&gt;をもつ&lt;code&gt;&amp;lt;person&amp;gt;&lt;/code&gt;要素）&lt;/li&gt;
&lt;li&gt;それとは別の&lt;strong&gt;注釈タグ&lt;/strong&gt;（典拠エントリを参照する&lt;code&gt;ref&lt;/code&gt;属性をもつ&lt;code&gt;&amp;lt;persName&amp;gt;&lt;/code&gt;）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;この二つの出力があるおかげで、編集者は典拠ファイルを一元管理しながら、注釈タグをTEIテキストに手軽に挿し込めます。&lt;/p&gt;
&lt;h2 id="主な機能"&gt;主な機能&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;標準化されたID生成&lt;/strong&gt;：&lt;code&gt;pers-[familyname]-[givenname initial]&lt;/code&gt;の形式で一貫したXML IDを生成（例：&lt;code&gt;pers-deteligny-c&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;RDF解析&lt;/strong&gt;：&lt;code&gt;rdflib&lt;/code&gt;を使い、さまざまなRDFプロパティ（&lt;code&gt;rdfs:label&lt;/code&gt;、&lt;code&gt;schema:name&lt;/code&gt;、&lt;code&gt;viaf:mainHead&lt;/code&gt;など）から情報を抽出&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;コマンドラインインターフェース&lt;/strong&gt;：必須引数はVIAF番号だけという手軽さ&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;詳細な出力&lt;/strong&gt;：最終的なXMLとあわせて、処理の経過を詳しく表示&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="使用例"&gt;使用例&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;python persNamer.py &lt;span class="m"&gt;314802260&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;このコマンドの出力は次のとおりです。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;person&lt;/span&gt; &lt;span class="na"&gt;xml:id=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;pers-deteligny-c&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;persName&amp;gt;&lt;/span&gt;Charles deTéligny&lt;span class="nt"&gt;&amp;lt;/persName&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;birth&amp;gt;&lt;/span&gt;1535&lt;span class="nt"&gt;&amp;lt;/birth&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;death&amp;gt;&lt;/span&gt;1572-08-24&lt;span class="nt"&gt;&amp;lt;/death&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;idno&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;VIAF&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;314802260&lt;span class="nt"&gt;&amp;lt;/idno&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;/person&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;persName&lt;/span&gt; &lt;span class="na"&gt;ref=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;#pers-deteligny-c&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Charles deTéligny&lt;span class="nt"&gt;&amp;lt;/persName&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="デジタルヒューマニティーズでの用途"&gt;デジタル・ヒューマニティーズでの用途&lt;/h2&gt;
&lt;p&gt;persNamerがとりわけ役立つのは、次のような場面です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;典拠管理を必要とするデジタル校訂版&lt;/li&gt;
&lt;li&gt;歴史上の人物を扱うTEIエンコーディングのプロジェクト&lt;/li&gt;
&lt;li&gt;文書を典拠レコードに結びつけるリンクトデータの取り組み&lt;/li&gt;
&lt;li&gt;大規模なTEIコーパス全体での一貫性の確保&lt;/li&gt;
&lt;li&gt;デジタル・ヒューマニティーズの授業での、典拠管理という概念の指導&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="実装"&gt;実装&lt;/h2&gt;
&lt;p&gt;persNamerはPythonで書かれており、以下に依存しています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;HTTPリクエストに&lt;code&gt;requests&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;RDF解析に&lt;code&gt;rdflib&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;XML処理に&lt;code&gt;lxml&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ソースコードとドキュメントは
にあります。&lt;/p&gt;</description></item></channel></rss>