-
Notifications
You must be signed in to change notification settings - Fork 26
datovy model K7
Digitální objekty systému Kramerius 7 jsou uloženy v úložišti Akubra 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í).
Každý digitální objekt systému K7 má jednoznačný identifikátor UUID, generovaný stejným algoritmem, který byl použit v předchozí verzi systému Kramerius (tedy UUID verze 1-4, viz https://datatracker.ietf.org/doc/html/rfc4122), doplněný prefixem uuid:, například uuid:0eaa6730-9068-11dd-97de-000d606f5dc6
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)
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ů 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)
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 definují vztah mezi objekty, typ vztahu je určen názvem vazby. Vazba je vždy vyjádřena ve zdrojovém dokumentu, v jeho datastreamu RELS-EXT.
Například pokud Monografie uuid:0eaa6730-9068-11dd-97de-000d606f5dc6 obsahuje tři stránky (uuid:4308eb80-b03b-11dd-a0f6-000d606f5dc6, uuid:4a79bd50-af36-11dd-a60c-000d606f5dc6, uuid:430d7f60-b03b-11dd-82fa-000d606f5dc6), může RDF záznam monografie vypadat takto:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:model="info:fedora/fedora-system:def/model#"
xmlns:rel="http://www.nsdl.org/ontologies/relationships#"
xmlns:oai="http://www.openarchives.org/OAI/2.0/"
>
<rdf:Description rdf:about="info:fedora/uuid:0eaa6730-9068-11dd-97de-000d606f5dc6">
<model:hasModel rdf:resource="info:fedora/model:monograph"/>
<rel:policy>policy:public</rel:policy>
<rel:hasDonator rdf:resource="info:fedora/donator:norway"/>
<rel:hasPage rdf:resource="info:fedora/uuid:4308eb80-b03b-11dd-a0f6-000d606f5dc6"/>
<rel:hasPage rdf:resource="info:fedora/uuid:4a79bd50-af36-11dd-a60c-000d606f5dc6"/>
<rel:hasPage rdf:resource="info:fedora/uuid:430d7f60-b03b-11dd-82fa-000d606f5dc6"/>
<oai:itemID>uuid:0eaa6730-9068-11dd-97de-000d606f5dc6</oai:itemID>
</rdf:Description>
</rdf:RDF>
název vazby | relevantní modely | platné hodnoty | poznámka |
---|---|---|---|
hasModel | cokoliv (povinné) | rdf:resource="info:fedora/model:*" | např. info:fedora/model:monograph, info:fedora/model:page |
hasDonator | cokoliv | rdf:resource="info:fedora/donator:*" | např. info:fedora/donator:norway |
contract | cokoliv | cokoliv (v těle elementu) | identifikátor čísla zakázky, např: rel:contract20740</rel:contract> |
policy | cokoliv | policy:public, nebo policy:private v těle elementu | např. rel:policypolicy:private</rel:policy> |
itemId | cokoliv | PID | identifikátor, pod kterým bude objekt zveřejněn v protokolu OAI-PMH, obvykle identický s PID objektu |
handle | cokoliv | identifikátor handle | persistentní URL (identifikátor typu handle) |
název vazby | relevantní modely | platné cílové modely | poznámka |
---|---|---|---|
hasPage | monograph, periodicalItem, monographUnit, article, graphic | page | něco obsahuje stránku (pozor na článek a rozdíl mezi article -> hasPage -> page a article -> isOnPage -> page) |
hasUnit | monograph | monographUnit | monografie obsahuje část monografie |
hasVolume | periodical | periodicalVolume | periodikum obsahuje ročník periodika |
hasItem | periodical, periodicalVolume | periodicalItem, supplement | periodikum/ročník periodika obsahuje číslo periodika |
hasIntCompPart | periodicalItem | internalPart, article | číslo periodika obsahuje vnitřní část/článek |
hasSoundUnit | soundRecording | soundUnit | zvukový dokument obsahuje část/jednotku |
hasTrack | soundRecording, soundUnit | track | zvukový dokument/část zvukového dokumentu obsahuje zvukovou stopu |
isOnPage | article, internalPart | page | článek/vnitřní část se nachází na stránce. Pozor, jde o nevlastní vazbu, musí existovat objekt, který stránku obsahuje (typicky monografie, nebo číslo periodika). |
contains | collection | cokoliv | sbírka zahrnuje nějaký objekt. Opět jde o nevlastní vazbu, zahrnutý objekt tedy musí mít vlastního rodiče, pokud sám není objektem nevyžadující rodiče (monografie, periodikum). Sbírky nesmí vytvářet cyklus přes vazby contains, např. s1 -contains-> s2 -contains-> s1 nesmí nastat. |
Pokud není uvedeno jinak, jmenný prostor zmíněných vazeb je http://www.nsdl.org/ontologies/relationships#. Výjimky:
- element hasModel je ve jmenném prostoru info:fedora/fedora-system:def/model#
- element itemId je ve jmenném prostoru http://www.openarchives.org/OAI/2.0/
Digitální objekty v systému Kramerius 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.
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
název DIV v NDK | model v K7 | 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 |