-
Notifications
You must be signed in to change notification settings - Fork 26
#Fedora 4 - Proof of concept [[TOC]]
Pracovní verze dokumentu ...
#Úvod Důvodem realizace PoC je potřeba přechodu na novější repositář pro ukládání digitálních objektů v rámci projektu Kramerius.
Tento text popisuje ověřovanou variantu migrace na repositář Fedora commons 4 a Repositář typu Java content repository.
#Fedora 3 Základním problémem migrace je reprezentace dat. Starší verze fedory byla postavena nad digitálním objektem, který je reprezentovaný pomocí FOXML. Popis modelu je vidět v následujícím popisu:
O zobrazení digitálního objektu se staraly dvě komponenty. První byl samotný repositář, druhý pak SOLR index (který poskytoval funkcionalitu vyhledávání případně umožňoval získat data, které je časově obtížné z repositáře získat).
#Fedora 4 Nová verze fedory implementuje Linkded data platform. Základními prvkem je node - LDP Resource. Může obsahovat dětské nody pak se jedná Container.
Samotná reprezentace objektu v nové fedoře může vypadat následovně:
<Container>
- <Non-RDF resource DC>
- <Non-RDF resouce BIBLIO_MODS>
- <Non-RDF resource BIBLIO_MODS>
- <Non-RDF resource RELS-EXT>
Důležitým aspektem zde je fakt, že samotný RELS-EXT, který drží vazby mezi objekty, je zde uložen jako standardní datastream. (Tak tomu ostatně bylo u i fedory 3).Je tedy zaručeno "stejné" nakládání s objektem jako bylo u dřívější fedory verze.
##Uložení dat v repositáři
Data v repositáři je možno organizovat různým způsobem. Na první pohled se nabízí dvě možnosti:
- Organizace na základě pidu a struktury - Každý rodič bude mít pod sebou své děti.
- <parent PID>
- <child PID>
- Organizace na základě pidu - Data budou organizována pouze podle svého PIDu
- <PID_1>
- <PID_1>
V POC jsme se drželi první možnosti a to hlavně z důvodu snadého adresování objektu. Pro získání objektu postačí pouze jeho PID. Stejně tomu bylo i u fedory ve verzi 3.
##Implementace komunikace s fedorou Komunikaci s repozitářem zajišťuje objekt FedoraAccess . Ten se stará o všechny typy volání (datové nebo získání metadat). Podpora nového repositáře tedy bude spočívat pouze v reimplementaci tohoto objektu.
##Realizace proof of concept
V rámci POC byl vytvořen importní modul, který importuje ve formátu FOXML
do nového repositáře. Pod větví POC byla vytvořena implementace, která umí číst data z nového repositáře přičemž předpokládá, že v indexu SOLR
jsou již zaindexovaná.
#Podpora triple store Proof of concept počítá s možností vyhnout se triple store indexu úplně, nicméně možnost využít externí triple store index a způsob instalace je popsán zde: https://wiki.duraspace.org/display/FEDORA4x/External+Triplestore
#Podpora SOLR idexu SOLR index je podporován. Možný způsob implementace je vidět zde: https://wiki.duraspace.org/display/FEDORA4x/Solr+Indexing+Quick+Guide
#OAI provider Oai provider je jako externí modul. (! možnost využít SOLR OAI provider ?) Odkaz na instalaci: https://github.com/fcrepo4-labs/fcrepo4-oaiprovider
#Odkazy
- https://wiki.duraspace.org/display/FEDORA4x/The+Fedora+4+object+model
- https://wiki.duraspace.org/display/FEDORA4x/Solr+Indexing+Quick+Guide
- https://wiki.duraspace.org/display/FEDORA4x/External+Triplestore
- https://wiki.duraspace.org/display/FEDORA451/Concept+Mapping+-+Fedora+3+to+4
- https://wiki.duraspace.org/display/FEDORA451/Linked+Data+Platform
- https://wiki.duraspace.org/display/FEDORA451/Glossary#Glossary-Datastream
#Java content repository (Jackrabbit) Další zkoumanou možností je přechod na některý repositář splňující specifikaci Java content repository (JSR 170 a JSR 283). Pro tento účel byl vybrán produkt Jackrabbit.
##Uložení dat v repositáři Opět se nabízí více možností. Volili jsme stejnou cestu jaká byla popsána výše.