Skip to content
Pavel Šťastný edited this page Sep 4, 2023 · 19 revisions

Datový model

[[TOC]]

Digitální objekty systému Kramerius 5 jsou uloženy v úložišti Fedora Commons ve formátu FOXML 1.1. Popis tohoto formátu je zde: https://wiki.duraspace.org/display/FCR30/Introduction+to+FOXML (pozn.: dostupné pouze po přihlášení).

Kramerius 5 používá zobecněný datový model vycházející z návrhu společnosti Qbizm vytvořeném v rámci proof of concept převodu dat ze struktury Kramerius 3 do úložiště Fedora (dále POC). Dokumentace tohoto původního návrhu je k dispozici zde: http://digit.lib.cas.cz/index.php?cat=fedora.

Příklad jednoduché monografie ve formátu FOXML pro Kramerius 5 je v souboru installation-x.x.x.zip (soubor 0eaa6730-9068-11dd-97de-000d606f5dc6.zip)

Identifikátor digitálních objektů

Každý digitální objekt systému Kramerius 5 má jednoznačný identifikátor UUID, generovaný stejným algoritmem, který byl použit v systému Kramerius 4 (tedy UUID version 1, viz http://tools.ietf.org/html/rfc4122 RFC4122), doplněný prefixem uuid:, například uuid:0eaa6730-9068-11dd-97de-000d606f5dc6

Datové streamy

Objekty používají datové streamy navržené v rámci POC, povinné streamy jsou DC, BIBLIO_MODS a RELS_EXT.

Objekty, které obsahují binární stream IMG_FULL s obrázkem v plném rozlišení, jsou oproti POC rozšířeny o další binární stream IMG_THUMB s miniaturou obrázku (ve formátu JPG se šířkou 128 px) pro zobrazení v souhrnných přehledech a binární stream IMG_PREVIEW se zmenšeným náhledem obrázku (ve formátu JPG se šířkou 512 px)

Pokud k obrázku stránky existuje OCR, musí být uložen v příslušném FOXML objektu v datastreamu TEXT-OCR (MIME type text/plain) v kódování UTF-8.

Pokud k OCR existuje i dokument ALTO (verze 1 nebo 2), musí být uložen v tomtéž FOXML objektu v datastreamu ALTO (MIME type text/xml), rovněž v kódování UTF-8.

Další rozšíření oproti POC je standardní datový stream POLICY, který obsahuje přístupová práva ve formátu XACML - použit pouze u objektů s omezeným přístupem.

Pokud pro digitální objekt existuje donátor, jehož logo má být zobrazeno spolu s titulem, je uveden jako vazba v RELS-EXT na speciální FO-XML objekt, který obsahuje logo donátora v binárním datovém streamu LOGO. Tento způsob umožňuje informace automaticky indexovat v RI a navíc je možno snáze přidávat nové donátory. Příklad FOXML objektu donátora (Norské fondy) je v souboru installation-x.x.x.zip v adresáři fedora, soubor donator_norway.xml.

V budoucích verzích Krameria bude podporováno vyznačování vyšších logických částí (např. článků) na jejich podřízených stránkách, založené na informacích v datastreamech ALTO příslušných stránek. FOXML objekt nadřízené části (článku) v tom případě bude obsahovat datastream "STRUCT_MAP" (MIME type text/xml, kódování UTF-8) s následujícím obsahem:

<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<parts>
    <part type="TITLE/SUBTITLE/NORMAL_TEXT..." order="1/2/3..." alto="uuid:eed93968-e2ef-11e1-abbb-001b63bd97ba/ALTO" begin="TextBlock5" />
    ... element part opakovat pro každou podřízenou stránku
</parts>

Atributy elementu part jsou převzaty z odpovídajícího elementu div v logické struktuře METS dle nového standardu NKP pro digitalizaci (viz níže)

Hierarchie digitálních objektů

Dokumenty v původním formátu DTD Kramerius 3 mají hierarchickou stromovou strukturu (typicky monografie/svazek/stránka nebo periodikum/ročník/číslo/stránka). Úložiště Fedora není hierarchické. Každému uzlu původní stromové struktury odpovídá digitální objekt FOXML s příslušným content modelem, jednotlivé objekty jsou do stromové struktury propojeny pomocí RDF vazeb definovaných v datovém streamu RELS-EXT.

Pořadí objektů v hierarchii

Pořadí objektů zobrazovaných v hierarchické stromové struktuře Krameria je určeno výhradně pořadím RDF vazeb uvedených v datastreamu RELS-EXT.

Při konverzi dat do FOXML z formátů K3 nebo METS NDK je zachováno pořadí součástí uvedené v rámci původního konvertovaného dokumentu.

Pokud je titul do Krameria importován po jednotlivých částech (například samostatné ročníky periodika), importní proces Krameria automaticky přidá RDF vazby na nově importované součásti na konec datastreamu RELS-EXT v již existujícím nadřazeném FOXML objektu. K tomuto spojení vazeb dojde tehdy, pokud existující i nově přidávaný nadřazený FOXML objekt mají stejný PID.

Pokud je při postupném importu samostatných částí titulu nastavena konfigurační property ingest.sortRelations=true, dojde po importu nové části k automatickému setřídění vazeb RELS-EXT. Kriterium třídění je závislé na content modelu tříděných objektů a je určeno pomocí XPath z datastreamu BIBLIO-MODS v tříděných objektech. Hodnota Xpath pro jednotlivé content modely je definována v konfigurační property sort.xpaths

Pořadí vazeb je možno setřídit stejným algoritmem jako při importu příkazem Třídit z kontextového administrátorského menu. Správnost tohoto automatického třídění je závislá na správném obsahu dat v datstreamu BIBLIO-MODS ve tříděných objektech. Pokud objekty nejsou automaticky setříděny požadovaným způsobem (například kvůli nesprávnému číslování stran), je pořadí vazeb v datstreamu RELS-EXT možné editovat ručně pomocí editoru, který je součástí instalace Krameria (popis zde)

Content modely

Datová struktura, vycházející z formátu dat Kramerius 3, předpokládá následující content modely:

  • monograph
  • monographunit
  • page
  • internalpart
  • periodical
  • periodicalvolume
  • periodicalitem

Definiční soubory těchto modelů jsou součástí POC, aktuální verze jsou v souboru installation-x.x.x.zip v adresáři fedora.

Modely monograph a periodical jsou přiřazeny digitálním objektům, které tvoří kořen stromové struktury jednotlivých dokumentů. Při případném rozšiřování datové struktury Kramerius 5 o nové typy objektů je třeba pro každý nový typ definovat odpovídající content model a nový kořenový model přidat do seznamu kořenových modelů, definovaných konfiguračním parametrem fedora.topLevelModels (viz Instalace)

RDF vazby

název vazby namespace RDF:resource poznámka
hasModel xmlns:fedora-model="info:fedora/fedora-system:def/model#" content model standardní vazba Fedory přiřazující content model
hasUnit xmlns:kramerius="http://www.nsdl.org/ontologies/relationships#" monographunit vazba Krameria přiřazující část monografie
hasPage xmlns:kramerius="http://www.nsdl.org/ontologies/relationships#" page vazba Krameria přiřazující stránku
hasVolume xmlns:kramerius="http://www.nsdl.org/ontologies/relationships#" periodicalvolume vazba Krameria přiřazující ročník
hasItem xmlns:kramerius="http://www.nsdl.org/ontologies/relationships#" periodicalitem vazba Krameria přiřazující číslo
hasIntCompPart xmlns:kramerius="http://www.nsdl.org/ontologies/relationships#" internalpart vazba Krameria přiřazující samostatnou část
isOnPage xmlns:kramerius="http://www.nsdl.org/ontologies/relationships#" page vazba Krameria přiřazující stránky k samostatné části
hasDonator xmlns:kramerius="http://www.nsdl.org/ontologies/relationships#" donator vazba Krameria na speciální FOXML objekt s logem případného donátora
contract xmlns:kramerius="http://www.nsdl.org/ontologies/relationships#" literal identifikátor čísla zakázky
handle xmlns:kramerius="http://www.nsdl.org/ontologies/relationships#" literal persistentní URL (identifikátor typu handle)
policy xmlns:kramerius="http://www.nsdl.org/ontologies/relationships#" literal hodnota "public" nebo "private"
itemId xmlns:oai="http://www.openarchives.org/OAI/2.0/" literal identifikátor, pod kterým bude objekt zveřejněn v protokolu OAI-PMH, obvykle identický s PID objektu

Rozšiřování modelu o nové typy dokumentů

Digitální objekty v systému Kramerius 5 tvoří obecnou stromovou strukturu s vazbami definovanými pomocí RDF vazeb, které jsou potomky vazeb fedora:hasPart a fedora:isPartOf.

Systém lze libovolně rozšiřovat o nové typy objektů přidáním příslušného objektu cmodel s povinnými datovými streamy DC, BIBLIO_MODS a RELS_EXT.

Zobrazení loga donátora

Ikona donátora se u titulu v K4 zobrazuje, pokud je v FOXML daného titulu v datastreamu RELS-EXT uvedena RDF vazba kramerius:hasDonator. V ukázkové monografii Drobnůstky, která je k dispozici v souboru installation-x.x.x.zip, je následující RDF vazba:

 <kramerius:hasDonator rdf:resource="info:fedora/donator:norway"/>   

Cílem této vazby je speciální FOXML objekt ( v tomto případě má PID donator:norway), ve kterém je v datastreamu LOGO uloženo logo příslušného donátora ve formátu JPG. Současně s logem je zobrazován informační text uvedený v datastreamu TEXT-CS, resp. TEXT-EN.

Soubor s logem Norských fondů je součástí standardní distribuce K4, najdete jej v souboru installation-x.x.x.zip v adresáři fedora.

Chcete-li tedy v Krameriovi zobrazovat ikonu jiných sponzorů, musíte jen vytvořit podle vzoru donator:norway vlastní FOXML soubor s logem sponzora, jeho PID nastavit například na donator:mujSponzor , nainstalovat jej do úložiště Fedora a v titulech, u kterých se má toto logo zobrazovat, doplnit RDF vazbu <kramerius:hasDonator rdf:resource="info:fedora/donator:mujSponzor"/>

Poznámka - import z K3:

K3 takto obecně ikony donátora nepodporuje, obsahuje jen specifickou podporu pro případ Norských fondů, kde se jejich logo zobrazuje u titulů, které mají v poli CreatorSurname uveden text ***Donator NF***. Konvertor K3->K4 pro takovéto tituly automaticky přidává do RELS-EXT zmiňovanou vazbu <kramerius:hasDonator rdf:resource="info:fedora/donator:norway"/>. _

Přehled obsahu streamů DC a RELS_EXT pro jednotlivé typy objektů

monograph

RELS_EXT: hasModel

hasUnit

hasPage

hasIntCompPart

hasDonator

contract (literal)

handle (literal)

policy (literal)

DC: title

creator

publisher

contributor

identifier - uuid

identifier - contract

identifier - isbn / extid

identifier - handle

subject - ddc

subject - udc

description

date

type

language

rights

monographUnit

RELS_EXT: hasModel

hasPage

hasIntCompPart

contract (literal)

handle (literal)

policy (literal)

DC: title

creator

publisher

contributor

identifier - uuid

identifier - contract

identifier - handle

type

rights

IMG_FULL, IMG_THUMB, IMG_FULL_ADM, TEXT_OCR, TEXT_OCR_ADM

monograph internalpart

RELS_EXT: hasModel

isOnPage

handle (literal)

policy (literal)

DC: title

creator

contributor

identifier - uuid

identifier - handle

type

rights

monograph page

RELS_EXT: hasModel

file (literal)

handle (literal)

policy (literal)

DC: title

identifier - uuid

identifier - handle

type

rights

IMG_FULL, IMG_THUMB, IMG_FULL_ADM, TEXT_OCR, TEXT_OCR_ADM

periodical

RELS_EXT: hasModel

hasVolume

hasDonator

handle (literal)

policy (literal)

DC: title

creator

publisher

contributor

identifier - uuid

identifier - issn

identifier - handle

subject - ddc

subject - udc

description

date

type

language

rights

periodicalvolume

RELS_EXT: hasModel

hasItem

hasPage

hasIntCompPart

contract (literal)

handle (literal)

policy (literal)

DC: title

creator

publisher

contributor

identifier - uuid

identifier - contract

identifier - handle

description

date

type

rights

periodicalitem

RELS_EXT: hasModel

hasPage

hasIntCompPart

contract (literal)

handle (literal)

policy (literal)

DC: title

creator

publisher

contributor

identifier - uuid

identifier - contract

identifier - handle

description

date

type

rights

IMG_FULL, IMG_THUMB, IMG_FULL_ADM, TEXT_OCR, TEXT_OCR_ADM

periodical internalpart

RELS_EXT: hasModel

isOnPage

handle (literal)

policy (literal)

DC: title

creator

contributor

identifier - uuid

identifier - handle

type

rights

periodical page

RELS_EXT: hasModel

file (literal)

handle (literal)

policy (literal)

DC: title

identifier - uuid

identifier - handle

type

rights

IMG_FULL, IMG_THUMB, IMG_FULL_ADM, TEXT_OCR, TEXT_OCR_ADM

Uložení obrázkových dat

Pro ukládání obrázkových nebo zdrojových dat slouží stream IMG_FULL. V nejjednosušším případě obsahuje přímo zdrojový obrázek a to buď jako managed nebo referencovaný stream (Externally Referenced Content nebo Redirect Referenced Content).

Uložení obrázkových dat v případě IIP serveru

V tomto případě stream IMG_FULL obsahuje referenci na obrázek generovaný IIP serverem ve vhodném rozlišení a ve vazbách RELS-EXT je uvedena cesta k IIP serveru ve formě:

<tiles-url xmlns="http://www.nsdl.org/ontologies/relationships#">iip_server_poskytujici_dlazdice</tiles>

Uložení zdrojových dat v případě eBorn dokumentů - PDF

IMG_FULL obsahuje přímo zdrojový PDF dokument. PDF v sobě obsahuje textovou vrstvu a tedy není potřeba mít další datové streamy TEXT_OCR a ALTO.

Poznámka: Při indexaci se pro každou stránku PDF vytváří samostatný objekt v indexu.

Definice NDK datových formátů

Od roku 2012 jsou v platnosti nové standardy datových formátů pro digitalizaci, vyvíjené v NK. K dispozici jsou na této adrese: http://www.ndk.cz/standardy-digitalizace

Mapování struktury formátu NDK do K5

název DIV v NDK model v K5 rodičovská vazba v K5
PERIODICAL_TITLE periodical -
PERIODICAL_VOLUME periodicalvolume hasVolume
ISSUE periodicalitem hasItem
ARTICLE article hasIntCompPart
SUPPLEMENT supplement hasIntCompPart
PICTURE picture hasIntCompPart
VOLUME monograph -
CHAPTER internalpart hasIntCompPart
Clone this wiki locally