MARC

From Semanti-CS Wiki
Revision as of 18:16, 20 November 2018 by Admin (talk | contribs) (Created page with "== Formát MARC == Mluvíme-li o datech knihoven, máme často na mysli přenosový formát MARC (Machine-Readable Cataloging). Jde o více než 40 let starý specializovaný...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Formát MARC

Mluvíme-li o datech knihoven, máme často na mysli přenosový formát MARC (Machine-Readable Cataloging). Jde o více než 40 let starý specializovaný formát pro datovou komunikaci, přibližující se konci svého životního cyklu. Mnohem spíše než datový formát však lze MARC označit jako značkovací jazyk pro text. MARC je navržen tak, aby jeho obsah mohl být tištěn na tradiční papírovou kartu v katalogu.

MARC segmentuje data do záznamů (např. bibliografické, autoritní), které jsou strukturovány do polí a podpolí. Hodnoty polí a podpolí nemají určený datový typ, a proto je jejich obsahem text.

Záznamy knihoven jsou z pohledu automatizovaného zpracování black-boxy. Nelze je jednoduše strojově zpracovat, protože jde spíše o text než o strukturovaná data. Data jsou mnohdy pohřbena uprostřed textu.

Záznamy nejsou sebe-popisující a pro svou interpretaci vyžadují externí údaje (příručky). Kvůli specifičnosti dat knihoven tato data fungují pouze uvnitř softwarových systémů, které jsou přímo pro taková data navrženy. Na Webu ale záznamy knihoven nefungují.

Pro formát MARC se používá více způsobů zápisu. Existuje binární zápis, řádkový zápis, i zápis do XML. Sémantika těchto serializací je však stále stejná - založená na modelu karty z lístkového katalogu.

Problémy

Problémem MARCu je, že v mnoha případech hodnota polí nebo podpolí ovlivňuje význam hodnoty dalšího pole či podpole. Například význam hodnoty podpole $b pole 245 je určen podpolem $a téhož pole. Pokud hodnota pole $a končí rovnítkem ("="), je obsahem podpole $b souběžný název (např. v jiném jazyce). Naopak, pokud je hodnota pole $a zakončena dvoutečkou (":"), je obsahem podpole $b podnázev. Jiným příkladem může být MARC pro autoritní záznamy, kde je význam podpole $a pole 550 určen obsahem podpole $w téhož pole. Pokud $w obsahuje hodnotu "g", pak v podpoli $a jde o nadřazené heslo. Pokud je ve $w hodnota "h", pak $a je podřazené heslo. A pokud je $w prázdné (resp. podpole chybí), pak je významem hodnoty $a heslo příbuzné. Proto je obtížné určit význam hodnot datových prvků ve formátu MARC.

V MARCu jsou smíseny hodnoty s dalším textem. Například, MARC neobsahuje pole pro ISBN, obsahuje pouze podpole $a pole 020, které obsahuje ISBN a navíc další text (např. "(váz.)" nebo "(pbk.)"). Nebo, podpole $a pole 245 je zakončeno interpunkcí, která určuje význam následujícího podpole. Tyto další texty buď blíže kvalifikují význam hodnoty podpole, v němž se nachází (jako "(váz.)" v případě ISBN určuje, že je jedná o ISBN vázaného vydání), nebo blíže specifikují význam hodnoty následujícího podpole (jako ":" na konci podpole $a pole 245 určuje, že podpole $b, které následuje, obsahuje podnázev). Pro zpracování dat v MARCu je nutné takovými textovými řetězci pracovat a v mnoha případech od nich očišťovat.

Formát MARC v některých případech vyžaduje, aby byl stejný údaj zapisován vícekrát. Například datum vydání je uváděno jak v poli 008, tak v podpoli $c pole 260. Protože se údaj zapisuje vícekrát, mohou se v něm vyskytnout chyby. Redundantní uložení stejné informace také ztěžuje možnost aktualizace, která pak musí být provedena na více místech zároveň.

Tyto a další rysy způsobují, že vývoj s formátem MARC je obtížnější, a proto nákladnější.

Slovní odkazy

MARC používá slova (textové řetězce) jako identifikátory pro datové entity. Tímto způsobem jsou v datech knihoven označeny vazby (resp. odkazy). Může jít o odkazy na autoritní záznamy vedené pomocí formalizovaného záhlaví (např. "Segaran, Toby" pro vazbu na autora knihy) nebo o odkazy na hodnoty s řízených slovníků a seznamů realizovaného pomocí formalizovaného kódu (např. "xr" (Česká republika) pro vazbu na zemi vydání knihy).

Slova představují pouze částečné identifikátory. Jako identifikátory nejsou unikátní a univerzální. Slova mohou být mnohoznačná. Aby mohly být slova používána jako identifikátory, musí být striktně formalizována (např. zápis jmen osob ve tvaru "příjmení, jméno"). A i tehdy je pro udržení unikátnosti mnohdy nutné přidat další datový údaj, který zpřesňuje vlastní identifikátor. Takže například jméno a příjmení osoby lze doplnit datem narození a úmrtí nebo hesla Polytematického strukturovaného hesláře jsou doplňována dvouznakovým kódem označujícím hlavní kategorii, do níž heslo spadá (např. kód an (antropologie) pro heslo mimozemská antropologie).

Mezi další nedostatky využívání slov jako identifikátorů patří možnost pochybení v jejich zápisu nebo různé způsoby zápisu stejného konceptu (např. pomocí synonym). Význam slov je závislý na kontextu. Naproti tomu, identifikátory ve formě URI fungují i mimo kontext. Slovní identifikátory jsou rovněž svázány s jediným přirozeným jazykem, a proto jsou bariérou v internacionalizaci a mezinárodním sdílení dat, které si vyžaduje neutrální identifikátory, které nejsou svázány s žádným jazykem.

Pokud chceme získat entitu, na níž slovní identifikátor odkazuje, je třeba slovní řetězec vyhledat v další databázi. Pokud chce uživatel vyhledávat podle identifikované entity (např. hesla popisujícího věcný obsah), musí její identifikátor být schopen znovu vytvořit, a proto musí být jejich vytváření jednoduché.

Existuje snaha umožnit ve formátu MARC používat URI jako identifikátory. To ale vyžaduje přidání nových podpolí, podobně jako zápis RDFa doplňuje strukturu do HTML.