<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>VIAF |</title><link>https://clementgodbarge.com/fa/tag/viaf/</link><atom:link href="https://clementgodbarge.com/fa/tag/viaf/index.xml" rel="self" type="application/rss+xml"/><description>VIAF</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>fa</language><lastBuildDate>Fri, 28 Mar 2025 00:00:00 +0000</lastBuildDate><image><url>https://clementgodbarge.com/media/icon_hu_64a6c3bec25b3d7b.png</url><title>VIAF</title><link>https://clementgodbarge.com/fa/tag/viaf/</link></image><item><title>persNamer</title><link>https://clementgodbarge.com/fa/code/persnamer/</link><pubDate>Fri, 28 Mar 2025 00:00:00 +0000</pubDate><guid>https://clementgodbarge.com/fa/code/persnamer/</guid><description>&lt;h2 id="persnamer-پیوند-tei-به-virtual-international-authority-file"&gt;persNamer: پیوند TEI به Virtual International Authority File&lt;/h2&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;persNamer ابزار تخصصی پایتونی است که وارد کردن داده‌های مستند اشخاص از VIAF (Virtual International Authority File) به اسناد TEI XML را ساده می‌کند. persNamer با تبدیل شناسه‌های 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، ابزار داده‌های RDF را از طریق مذاکرهٔ محتوای HTTP بازیابی می‌کند&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;&amp;lt;person&amp;gt;&lt;/code&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;/li&gt;
&lt;li&gt;یک &lt;strong&gt;برچسب حاشیه‌نویسی&lt;/strong&gt; جداگانه (&lt;code&gt;&amp;lt;persName&amp;gt;&lt;/code&gt; با صفت &lt;code&gt;ref&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;تولید شناسهٔ استاندارد&lt;/strong&gt;: شناسه‌های XML یکدستی در قالب &lt;code&gt;pers-[familyname]-[givenname initial]&lt;/code&gt; می‌سازد (مثلاً &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;&lt;code&gt;requests&lt;/code&gt; برای درخواست‌های HTTP&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rdflib&lt;/code&gt; برای تجزیهٔ RDF&lt;/li&gt;
&lt;li&gt;&lt;code&gt;lxml&lt;/code&gt; برای کار با XML&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;کد منبع و مستندات را در
بیابید.&lt;/p&gt;</description></item></channel></rss>