persNamer 1.2: एक VIAF नंबर, नौ प्रामाणिक नाम-सूचियाँ

7 सितंबर 2026·
Clément Godbarge
Clément Godbarge
· 4 मिनट पढ़ें
post डिजिटल मानविकी

शुरू में persNamer एक छोटी-सी सुविधा भर था: VIAF नंबर दीजिए, TEI की एक <person> प्रविष्टि पाइए, साथ में पाठ में लगाने के लिए <persName> टैग। बस इतना ही — और जो प्रविष्टि बनती थी वह भी दुबली-पतली: एक नाम, दो तिथियाँ, एक पहचानकर्ता। आज जारी हुआ संस्करण 1.2 अब भी वही एक काम करता है, पर इस बार जो प्रविष्टि निकलती है वह सँभालकर रखने लायक है।

व्यक्ति-प्रविष्टि में अब क्या-क्या है

पहले नाम की बात। VIAF के क्लस्टर में हर सहयोगी पुस्तकालय अपना-अपना नाम-रूप लेकर आता है, और पुराना persNamer जो लेबल पहले हाथ लगे वही उठा लेता था। उससे वोल्तेयर (Voltaire) के बारे में पूछिए तो जवाब मिलता « فولتير، » — यानी नाम का अरबी रूप, और वह भी पीछे लटके अल्पविराम सहित — ऊपर से एक खाली xml:id मुफ़्त में। अब औज़ार पूरे क्लस्टर में नाम-रूपों की गिनती करके वही रखता है जिस पर स्रोत रिकॉर्ड एकमत हों; बाक़ी रूप <persName type="variant"> बनकर पीछे-पीछे आते हैं, जो सबसे प्रचलित हो वह सबसे आगे। तिथियाँ मानकीकृत होकर (1572-08-00 से 1572-08) दो बार दर्ज होती हैं — एक बार पाठ के रूप में, एक बार @when विशेषता में — और तिथियाँ समझने वाली कोई भी प्रोसेसिंग असल में इसी दूसरी को पढ़ती है। लिंग और विवरण भी आते हैं, जहाँ VIAF उन्हें देता है।

और अब वह हिस्सा जिसका मुझे सबसे ज़्यादा इंतज़ार था। VIAF जिस-जिस पहचानकर्ता को इस व्यक्ति से जोड़ता है — चाहे schema:sameAs के ज़रिए, चाहे अपने स्रोत-आईडी के ज़रिए — वह सब अब अलग-अलग <idno> में दर्ज हो जाता है: BnF, GND, लाइब्रेरी ऑफ़ कांग्रेस, SUDOC, Wikidata, ISNI, BNE, LIBRIS, NDL। एक नंबर अंदर गया, नौ कैटलॉग बाहर आए। किसी व्यक्ति-सूची (personography) के लिए नामों की कोरी फ़ेहरिस्त और प्रामाणिक डेटा के जाल की एक गाँठ में जो फ़र्क़ है, वह यही है।

<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 नंबर लेता है, दो अनुरोधों के बीच VIAF को साँस लेने की मोहलत देता है, जो कुछ लाया है उसे कैश में रख लेता है ताकि दोबारा न माँगना पड़े, और --merge मिलते ही नई प्रविष्टियाँ सीधे मौजूदा TEI फ़ाइल के <listPerson> में बिठा देता है। जो लोग फ़ाइल में पहले से हैं, वे अपने VIAF नंबर से पहचान लिए जाते हैं और उनका xml:id ज्यों का त्यों रहता है; नए आईडी फ़ाइल से मिलाए जाते हैं और कहीं टकराव हो तो पीछे प्रत्यय (-2, -3) लग जाता है; अंत में पूरी फ़ाइल के इंडेंट फिर से सँवार दिए जाते हैं — हाँ, उससे पहले एक .bak प्रति अलग रख ली जाती है।

persnamer --merge edition.xml 314802260 36925746

एक बदलाव ज़रूर ध्यान में रखिए: कुलनाम से पहले आने वाला कण (particle) अब डिफ़ॉल्ट रूप से आईडी में नहीं रहता, इसलिए Charles de Téligny पहले के pers-deteligny-c की जगह अब pers-teligny-c हो गया है। आपकी परियोजना पुराने रूप की आदी हो चुकी हो तो --keep-particle उसे वापस ले आता है; और नामों के भरोसे रहना ही न हो तो --id-format viaf से pers-viaf-314802260 मिल जाता है।

साफ़-सफ़ाई

स्क्रिप्ट अब बाक़ायदा एक पैकेज बन गई है, अपनी persnamer कमांड के साथ: uv tool install या pipx से एक लाइन में इंस्टॉल कीजिए, या बिना इंस्टॉल किए बस एक बार आज़माना हो तो uvx से चला लीजिए। छब्बीस टेस्ट VIAF की रिकॉर्ड की हुई प्रतिक्रियाओं पर चलते हैं, इसलिए टेस्ट-सूट को नेटवर्क की कोई ज़रूरत नहीं; CI उन्हीं को Python 3.9 से 3.13 तक दोहराता है, और आउटपुट TEI P5 के मुताबिक़ जाँचा जाता है। लाइसेंस पहले की तरह Apache 2.0 ही है।

जो यह अब भी नहीं बता सकता, वह है कि कोई कहाँ पैदा हुआ और रोज़ी-रोटी के लिए क्या करता था: VIAF के क्लस्टर RDF में न जगहें हैं, न पेशे। पर जिन BnF और GND रिकॉर्डों से यह जुड़ा है, उनमें दोनों हैं — और उनके नंबर अब आपके हाथ में हैं।

कोड और दस्तावेज़ GitHub पर।

Clément Godbarge
लेखक
डिजिटल मानविकी के प्राध्यापक
क्लेमां गोदबार्ज सेंट एंड्रूज़ विश्वविद्यालय में डिजिटल मानविकी के प्राध्यापक हैं। उनका शोध आरंभिक आधुनिक यूरोप में शासन के विज्ञान और कला पर केंद्रित है। अपनी आगामी पुस्तक में वे दिखाते हैं कि सोलहवीं सदी में फ़्रांस और इटली के राजदरबारों से जुड़े चिकित्सकों ने ख़ुद को एक नए ढंग के राजनीतिक विशेषज्ञ के रूप में कैसे प्रस्तुत किया। उनके शोध को एंड्रू डब्ल्यू. मेलन फ़ाउंडेशन, फ़ुलब्राइट आयोग, रेनेसाँस सोसाइटी ऑफ़ अमेरिका और हार्वर्ड विश्वविद्यालय का सहयोग मिला है।