persNamer
persNamer: وصل TEI بالملف الاستنادي الدولي الافتراضي
persNamer أداة متخصصة بلغة Python تيسّر إدماج بيانات الأشخاص الاستنادية من VIAF (الملف الاستنادي الدولي الافتراضي) في وثائق TEI XML. فهي تحوّل معرّفات 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.
