persNamer
persNamer: پیوند TEI به Virtual International Authority File
persNamer ابزار تخصصی پایتونی است که وارد کردن دادههای مستند اشخاص از VIAF (Virtual International Authority File) به اسناد TEI XML را ساده میکند. persNamer با تبدیل شناسههای VIAF به نشانهگذاری آمادهٔ TEI، کار دستیِ ساختن مدخلهای ساختیافتهٔ اشخاص برای نسخههای علمی دیجیتال را بهطور چشمگیری کاهش میدهد.
چالش کنترل مستندات در TEI
نسخههای علمی دیجیتال اغلب به شناسایی دقیق اشخاص تاریخی، از جمله نام استاندارد و تاریخ تولد و مرگشان، نیاز دارند. حفظ کنترل مستندات یکدست در سراسر یک پروژه مستلزم اینهاست:
- شناسایی اشخاص در متون تاریخی
- یافتن دادههای مستند دربارهشان
- ساختن مدخلهای TEI با قالب درست
- تضمین یکدستی ارجاعها در سراسر پروژه
این گامها معمولاً دستی، وقتگیر و مستعد ناهماهنگیاند.
persNamer چگونه کار میکند
persNamer این گردش کار را چنین خودکار میکند:
- دریافت دادههای VIAF: با گرفتن یک شناسهٔ VIAF، ابزار دادههای RDF را از طریق مذاکرهٔ محتوای HTTP بازیابی میکند
- استخراج اطلاعات کلیدی: RDF را تجزیه میکند تا نام ترجیحی، تاریخ تولد و تاریخ مرگ را بیرون بکشد
- تولید نشانهگذاری TEI: دو قطعهٔ XML اساسی میسازد:
- یک مدخل فایل مستندات (عنصر
<person>با یکxml:idتولیدشده،<persName>،<birth>،<death>و<idno type="VIAF">) - یک برچسب حاشیهنویسی جداگانه (
<persName>با صفتrefکه به مدخل مستندات ارجاع میدهد)
- یک مدخل فایل مستندات (عنصر
این خروجی دوگانه به مصححان امکان میدهد فایل مستندات متمرکزی نگه دارند و در عین حال برچسبهای حاشیهنویسی را بهآسانی در متون TEI خود بگنجانند.
ویژگیهای کلیدی
- تولید شناسهٔ استاندارد: شناسههای XML یکدستی در قالب
pers-[familyname]-[givenname initial]میسازد (مثلاًpers-deteligny-c) - تجزیهٔ RDF: با
rdflibاطلاعات را از ویژگیهای گوناگون RDF (مثلاًrdfs:label،schema:name،viaf:mainHead) استخراج میکند - رابط خط فرمان: اجرای ساده، با شمارهٔ VIAF بهعنوان تنها آرگومان الزامی
- خروجی مشروح: در کنار خروجی نهایی XML، اطلاعات تفصیلی پردازش را نیز نشان میدهد
نمونهٔ کاربرد
python persNamer.py 314802260
این فرمان چنین خروجیای میدهد:
<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>
کاربرد در علوم انسانی دیجیتال
persNamer بهویژه برای اینها ارزشمند است:
- نسخههای علمی دیجیتال که به کنترل مستندات نیاز دارند
- پروژههای رمزگذاری TEI که با شخصیتهای تاریخی سروکار دارند
- ابتکارهای دادههای پیوندی که اسناد را به رکوردهای مستند وصل میکنند
- تضمین یکدستی در پیکرههای بزرگ TEI
- آموزش مفاهیم کنترل مستندات در درسهای علوم انسانی دیجیتال
پیادهسازی
persNamer به Python نوشته شده و به اینها وابسته است:
requestsبرای درخواستهای HTTPrdflibبرای تجزیهٔ RDFlxmlبرای کار با XML
کد منبع و مستندات را در مخزن GitHub بیابید.
