4.4 XML-BIBLIB
Text tejto stránky je spracovaný zo záverečnej správy projektu BIBLIB.AI a nadväzuje na projektové zadanie publikované v tejto dokumentácii.
Súvisiace okruhy
Východiská a účel schémy
Schéma BIBLIB predstavuje kombináciu výmenného XML modelu a databázovej štruktúry, ktorej cieľom je udržiavať bibliografické, autoritné, holdingové a prevádzkové údaje v podobe vhodnej pre súborný katalóg. Nejde iba o technický formát pre uloženie jedného záznamu, ale o integračnú vrstvu medzi knižnicami, interným katalógovým systémom, importnými procesmi, vyhľadávacím rozhraním a prezentačnými službami. Schéma biblib.xsd definuje koreňový element biblib ako výber z množiny záznamových typov. V jednom obalovom elemente sa tak môžu prenášať bibliografické záznamy, osoby, predmetové heslá, inštitúcie, projekty, exempláre, knižnice, čitateľské a prevádzkové entity. Toto rozhodnutie je pre súborný katalóg zásadné, pretože katalóg nie je iba zoznam titulov: je to sieť vzťahov medzi dielom, jeho prejavmi, exemplármi, vlastníkmi, autormi, korporáciami, predmetovým popisom, jazykmi, identifikátormi a stavmi spracovania.
Z vedecko-informačného hľadiska je schéma postavená na princípe oddelenia identity, opisu a prezentácie. Identita záznamu je reprezentovaná systémovými identifikátormi, knižničným kontextom, importnými a deduplikačnýmihashmi. Opis je uložený jednak v normalizovaných tabuľkách, jednak v XML poli metaXML, ktoré zachováva bohatý štruktúrovaný obsah. Nikdy nedochádza k strate dát. Prezentácia je odvodená prostredníctvom ISBD reťazcov, zobrazovacích entít, vyhľadávacích štruktúr a fazetových výsledkov. Takýto model umožňuje, aby rovnaký základný záznam plnil viacero úloh: bol archivovateľný, validovateľný, deduplikovateľný, vyhľadateľný a používateľsky čitateľný.
Kapitola opisuje princípy, na ktorých bola schéma metadát budovaná. Schéma je príliž rozsiahla na to aby bola popisovaná položku po položke. Schéma sa opiera o základné prvky typu rec_* (rec_biblio, rec_person, ..), väzbové elementy typu cross_* a vnútorné entity popisu. V oblasti SQL databázy majú entity zhodnú konvenciu mien (namespace), teda tabuľky biblib.biblio, biblib.person a podobne.
Z hľadiska návrhu je dôležité, že vrstvy nie sú izolované. XML element rec_biblio má svoj relačný ekvivalent v tabuľke biblib.biblio, ale jeho opis sa nerozpadá výlučne do jednej tabuľky. Názvy sa ukladajú do biblib.biblio_titles a biblib.biblio_titles_cross, identifikátory do biblib.biblio_identifiers a identifiers_cross, osoby do biblib.persons a persons_cross, predmetové heslá do biblib.subjects a subjects_cross, jazyky do languages_cross a holdingy do register.holding. Tým vzniká hybridný model: XML zachováva kompletnú výmennú štruktúru, zatiaľ čo relačný model zabezpečuje konzistenciu, výkonnosť a možnosť efektívnych dotazov. Databázové štruktúry sú modelované zohľadňujúc potreby vyhľadávania, kontrolu konzistentnosti, kontroly duplicít a s dôrazom na opakovateľnosť údaja a jeho obor hodnôt.
Takáto vrstvová architektúra je vhodná pre súborný katalóg z troch dôvodov. Po prvé, súborný katalóg prijíma dáta z viacerých knižníc a musí ich vedieť prijať aj vtedy, keď niektoré inštitúcie posielajú bohatší alebo odlišne vyplnený opis. Po druhé, proces zlučovania záznamov vyžaduje stabilné identifikátory a porovnateľné normalizované polia. Po tretie, používateľské vyhľadávanie potrebuje skôr rýchle indexy, fazety a zobrazovacie reťazce než kompletnú vnútornú XML štruktúru.
Bibliografický záznam ako jadro evidencie
Centrálnou entitou je bibliografický záznam. V databáze je reprezentovaný tabuľkou biblib.biblio, ktorá obsahuje primárny identifikátor id, väzbu na knižnicu lib_id, XML obsah metaXML, dátumy vytvorenia a aktualizácie, typ a stav formulára, ISBD výstupy, údaje o publikovaní, krajinu vydania a vo viazaných tabuľkách viaže ďalšie entity a atribúty. Prítomnosť metaXML popri rozložených stĺpcoch je významná: systém si ponecháva pôvodnú štruktúru a zároveň extrahuje tie údaje, ktoré sú potrebné na kontrolu, vyhľadávanie, deduplikáciu a rýchle filtrovanie.
V schéme je entita rec_biblio koncipovaná ako bohatý popisný objekt pre ktorú boli vytvorené konverzie z MARC21, do MARC21 a do BIBFRAME (v rámci projektu). Obzvlášť dôležitý je prvok biblio_identifier. Ten pokrýva všeobecné čísla, medzinárodné štandardy ako ISBN a ISSN, lokálne čísla, digitálne identifikátory vrátane DOI alebo URL a signatúry viazané ku knižnici. Pre súborný katalóg je to mechanizmus, ktorý umožňuje spájať záznamy naprieč zdrojmi: identifikátor je často silnejší dôkaz zhody ako názov, ktorý môže byť preložený, skrátený alebo zapísaný v inom pravopise.
Názvové údaje sú v databáze oddelené od jadra záznamu. Tabuľka biblib.biblio_titles uchováva samotný názov, jeho akcentovo necitlivé a skrátené varianty a očistenú podobu pre porovnávanie. Väzba na bibliografický záznam je v biblio_titles_cross, kde sa pripája typ názvu a jazyk. Ide o typické riešenie pre katalogizačné systémy: názov nie je jeden textový stĺpec, ale množina kontrolovaných variantov, ktoré majú vlastnú funkciu pri zobrazovaní, triedení, vyhľadávaní a deduplikácii.
Podobne sú riešené autorské a korporatívne údaje. Osoby sa ukladajú v biblib.persons a ich vzťah k dielu v biblib.persons_cross. Táto väzbová tabuľka obsahuje rolu osoby, poradie, podiel, časové údaje, krajinu a ďalšie atribúty vzťahu. Princíp je dôležitý: autorita osoby a jej úloha v konkrétnom diele sú odlišné objekty. Tá istá osoba môže byť autorom, editorom, prekladateľom alebo školiteľom v rôznych záznamoch. Normalizácia preto znižuje duplicitu a umožňuje presnejšie vyhľadávanie podľa rolí.
Lokálny kontext v súbornom katalógu
Súborný katalóg sa nelíši od lokálneho katalógu iba počtom záznamov, ale najmä tým, že musí oddeliť spoločný bibliografický opis od lokálnej dostupnosti. V modeli BIBLIB túto úlohu plní register.holding. Holding je napojený na biblio_id, ale obsahuje aj library_id, používateľské a lokálne identifikátory, prírastkové a úbytkové čísla, signatúru, čiarový kód, stav, akvizičné údaje, cenu, dodávateľa, dátumy revízií a väzby na periodiká. To umožňuje, aby jeden bibliografický záznam reprezentoval dielo, zatiaľ čo viacero knižníc môže k nemu pripojiť vlastné exempláre, dostupnosť a interné evidenčné údaje (prírastkové číslo, čiarový kód alebo OAI identifikátor). Tieto údaje viazané na ID knižnice ale zároveň rešpektujú, že rovnaké číslo môže mať význam len v rámci konkrétnej knižnice.Súborný katalóg tým získava viacúrovňový model zodpovednosti: záznam môže mať centrálne použiteľný opis, ale zároveň si zachováva informáciu o pôvode, správcovi, lokálnom stave a prístupnosti. V praxi je to nevyhnutné pre audit, opravy záznamov, synchronizáciu s lokálnymi systémami a interpretáciu dostupnosti.
Proces zberu údajov možno chápať ako transformáciu heterogénnych zdrojových dát do spoločného štruktúrneho jazyka. Schéma XML-BIBLIB je týmto komunikačným jazykom. Import sa neobmedzuje len na vytvorenie XML, ale proces musí identifikovať typ entity, overiť povinné prvky, normalizovať hodnoty, priradiť číselníkové domény, vytvoriť alebo aktualizovať väzbové tabuľky a rozhodnúť, či ide o nový záznam alebo o aktualizáciu existujúceho. V tejto súvislosti je podstatné použitie rýchlych importných tabuliek import.hash_biblio, import.hash_person, import.hash_institution, import.hash_subject, import.hash_edition a import.hash_database ktoré sú nosným prvkom pre posúdenie existencie entít cez multikriteriálny vektor HASH hodnôt). Import je teda riadený dynamický proces, nie jednoduché jednorazové vloženie riadkov.
Deduplikácia
Deduplikácia je v súbornom katalógu jedna z najcitlivejších funkcií. Ak je príliš prísna, rovnaké dielo sa rozdelí na viacero záznamov. Ak je príliš voľná, zlúčia sa odlišné diela a poškodí sa dôveryhodnosť katalógu. Model BIBLIB používa viacstupňový prístup. V schéme sa riešia stavy a väzby pre označovanie duplicít, bola zavedená špeciálna kolekcia hashovpre entity s vyznačením typu (napr. base alebo isbn) a tieto štruktúry sú v SQL mapované ako import.hash_* tabuľky spolu s procedúrami updater.usp_process_hash_*.
Hash tu znamená normalizovaný významový odtlačok (fingerprint) entity. Pre bibliografický záznam vychádza z kombinácie názvu, identifikátorov, roku, autorov, vydavateľa alebo iných relevantných polí. Pre osobu sú rozhodujúce normalizované formy mena, roky a externé identifikátory. Pre predmetové heslo zase normalizovaný text a jazyk. Schéma umožňuje viac typov hashov a prioritu vyhľadávania podľa hashu, čo podporuje postupné rozhodovanie: najprv silné zhody podľa ISBN alebo iného jednoznačného identifikátora, potom slabšie zhody podľa normalizovaných opisných znakov.
SQL procedúra updater.usp_process_hash_bibliosa používa na prepočítanie hashov. Ide o dávkový monitorovaný proces. Záznamy čakajú vo fronte, označujú sa ako spracovávané, následne sa vyberajú dáta z metaXML a vytvárajú sa všetky podporované formy HASH reťazcov. Výstupom je zoznam záznamov, ktoré potrebujú prepočet alebo nadväzné spracovanie. Rovnaký vzor existuje pre osoby, inštitúcie, predmety, edície a holdingy. Takýto návrh je robustnejší než okamžitý prepočet pri každej úprave, pretože umožňuje dávkovanie, opakovanie, monitorovanie a obnovu po chybe.Deduplikačný proces je interpretovaný ako kombinácia pravidiel a kurátorskej kontroly.
Zhodnotenie
Schéma XML a SQL štruktúr definuje niekoľko všeobecných princípov pre súborný katalóg. Prvým je stabilná identita entít. Každý záznam musí mať interný identifikátor, ale zároveň potrebuje externé, lokálne a medzinárodné identifikátory, ktoré pomáhajú pri zbere, synchronizácii a deduplikácii. Druhým princípom je oddelenie spoločného bibliografického opisu od lokálneho holdingu. Bez tohto oddelenia by súborný katalóg buď zbytočne duplikoval bibliografické záznamy, alebo by stratil informáciu o konkrétnej dostupnosti v knižnici.
Tretím princípom je normalizácia autorít a vzťahov. Osoby, inštitúcie, predmety, projekty a jazyky by nemali byť iba textové polia v bibliografickom zázname. Majú vlastnú identitu a cez väzbové tabuľky nadobúdajú konkrétnu úlohu vo vzťahu k dielu. Štvrtým princípom je uchovanie pôvodnej bohatej štruktúry. Pole metaXML a XML schéma umožňujú, aby sa nestratili informácie, ktoré ešte nemajú alebo nepotrebujú samostatnú relačnú projekciu. Piatym princípom je odvodená prezentačná a vyhľadávacia vrstva, ktorá chráni používateľské rozhranie pred zložitosťou interného modelu.
Záver
BIBLIB možno chápať ako komplexnú schému pre súborný katalóg, ale použiteľnú aj pre špecifické použitia v bibliografických databázach rôzneho typu (klasický knižničný systém, špecializovaná bibliografická databáza typu CREPČ, CRZP a podobne). Schém kombinuje XML validáciu, relačnú integritu, autoritnú normalizáciu, holdingový model, deduplikačnéhashe, fulltextové indexy, facety a prezentačné entity. Jej prínos spočíva v tom, že katalógové údaje neukladá iba ako textové záznamy, ale ako sieť prepojených entít. Takýto model je schopný prijímať dáta z viacerých zdrojov, rozpoznávať zhodné alebo podobné záznamy, zachovať lokálne vlastníctvo a dostupnosť, podporovať rýchle vyhľadávanie a poskytovať používateľovi výsledok v podobe vhodnej na orientáciu aj kontrolu.
Pre tvorbu súborného katalógu je rozhodujúce práve prepojenie týchto vrstiev. XSD samo osebe definuje jazyk výmeny, SQL databáza definuje pamäť a integritu systému, hash a importné tabuľky definujú mechanizmus zberu a deduplikácie, fulltextové a facetové štruktúry definujú vyhľadávanie a display entity definujú čitateľnú podobu výsledku. Kvalitná schéma preto nevzniká iba modelovaním polí bibliografického záznamu, ale návrhom celého životného cyklu dát: od prijatia z externého zdroja až po zobrazenie spoľahlivého výsledku používateľovi.