Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extrakce popisných metadat a jejich validace #68

Open
kerschfilip opened this issue Mar 5, 2020 · 12 comments
Open

Extrakce popisných metadat a jejich validace #68

kerschfilip opened this issue Mar 5, 2020 · 12 comments
Labels

Comments

@kerschfilip
Copy link
Collaborator

Dobrý den
Při procházení funkčních požadavků k ARCLib jsem narazil na bod „extrakce popisných metadat a jejich validace“.
ARCLib korektně extrahuje popisné informace z XML podle specifikace v SIP profilu, ale vzniklé ARCLib AIP XML validuje jen podle schémat METS, ARCLIB_XSD a PREMIS. Tato vlastnost je uvedena také na wiki a funguje bez problému. Znamená to ale, že AIP XML není validováno proti schématům pro popisná metadata běžně používaná v SIP – Dublin Core a MODS.
Z funkčních požadavků v zadávací dokumentaci jsem pochopil, že validace popisných metadat by měla při ingestu proběhnout a nevím tedy, zda by nebylo vhodné mezi XML schémata pro validaci zařadit i DC a MODS. Případně prosím ostatní, aby se vyjádřili, zda o tuto funkcionalitu stojí. Děkuji.

@ZdenekVasek
Copy link

Dobrý den, z mého pohledu jde o otázku, kterou nejde příliš jednoduše rozhodnout, ale za sebe se kloním ke stanovisku, že je to není nutná funkce. U obou standardů lze validovat obecný způsob zápisu, což ale bude jen formální a poskytne pouze základní ujištění. nebo se lze zaměřit na obsah, ale v takovém případě bude potřeba vytvořit velké množství validačních schémat podle typů obsahu a producentů (nebude to nekonečné množství, ale i tak by jich bylo hodně). Nicméně tahle debata by mohla vést spíše k obecnému požadavku, aby bylo možné do systému přidat libovolné XSD a podle něho validovat vybrané AIP. Tím by v případě potřeby bylo možné naplnit i požadavek na validaci MODS etc.

@kerschfilip
Copy link
Collaborator Author

Děkuji za reakci. Souhlasím, že se nejedná o nejpodstatnější funkci, chtěl jsem především upozornit na tuto nesrovnalost oproti původním funkčním požadavkům zadávací dokumentace. Je pravda, že validace obecného způsobu zápisu by poskytla jen základní ujištění, že popisná metadata nejsou v nepořádku, ale nevím, zda by přece jen nestálo za to zařadit validaci obecného zápisu například DC, vzhledem k tomu, že se v ARCLib potom využívá k vyhledávání AIP.

Možnost přidat do systému libovolné XSD by mohla být elegantním způsobem, jak možnost validace pro uživatele jednoduše vyřešit (a splnit i funkční požadavek). V současnosti je možné validovat XML soubory v SIP při ingestu skrze Validační Profil (pravidlo <validationSchemaCheck>), ale bohužel se mi nepovedlo takto pomocí profilu zkontrolovat hlavní mets proti XSD DC - ingest selže při chybě:

org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 279; cvc-elt.1: Cannot find the declaration of element 'mets:mets'.

@ZdenekVasek
Copy link

Myslím, že toto téma bychom mohli směřovat k uzavření. Mám za to, že jsme ho probrali ústně na posledních 2 setkáních, ale do zápisu neproniklo, tak mne porsím opravte. Shoda byla v tom,že systémová validace MODS by nebyla jednoduše proveditelná. A není asi ani zcela nutná. U DC platí něco podobného, snad jen, že by ji bylo možné implementovat o něco snadněji. Nejsem si ale jist, zda jsme dospěli i k závěru ohledně možnosti implementace libovolného XSD pro validace. Prosím o reakci, zda je to přijatelné nebo ne. V příadě negativní odpovědi bychom měli otázku zítra otevřít a rozhodnout v plénu. V každém případě jsou myslím varianty jasné a lze rozhodnout.

@yantom
Copy link
Collaborator

yantom commented Jun 12, 2020

Bude provedena oprava zmíněné chyby: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 279; cvc-elt.1: Cannot find the declaration of element 'mets:mets'.

@yantom yantom added the bug label Jun 12, 2020
@yantom
Copy link
Collaborator

yantom commented Nov 5, 2020

Zmíněná chyba byla opravena, viz http://inqooltest-arclib.libj.cas.cz/ingest-workflows/ARCLIB_000002519

@kerschfilip
Copy link
Collaborator Author

Bohužel se mi nepodařilo opravu ověřit, v mém pokusu konči ingest stále chybou:

couldn't execute activity <serviceTask id="validator" ...>: ARCLib incident: Ingest workflow internal runtime exception: validationSchemaCheck rule - XML schema validation failed. Details: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 203; cvc-elt.1.a: Cannot find the declaration of element 'mets:mets'.. More details (whole XML) can be found in application log.

Prosím o radu, @yantom , zda není chyba na mé straně. Použil jsem validační profil FK_kontrola_archivniho_balicku_v3

@yantom
Copy link
Collaborator

yantom commented Nov 5, 2020

Děkuji, problém tedy bude asi v tom že dřívě přiřazený Validační profil se změnil v čase. Zakládám na toto veřejně issue které máme interně již nějakou chvilku vedené: #117 Stávající profil jsem zkopíroval a budeme se dále věnovat popsané chybě.

@yantom
Copy link
Collaborator

yantom commented Nov 5, 2020

Problém je v tom že validationSchemaCheck funguje jinak než očekáváte - nelze do něj vložit XSD pro validaci vnitřní části dokumentu, mapovaný soubor je validovaný vúči schématu jako celek. Ve vašem případě by tedy bylo nutné vložit mets schéma a z něho odkazovat / do něj vložit DC schéma, např. takto:
metsWithDcLink.txt

@yantom yantom removed the bug label Nov 5, 2020
@kerschfilip
Copy link
Collaborator Author

Děkuji za vysvětlení. Vyzkoušel jsem tedy vložit balíček se záměrně špatným elementem v DC a pro validaci použil schéma, ze kterého je odkazováno na DC schéma pomocí xsd:import. Metadata v DC ale nejsou ARCLibem validována a to asi ani před/při jejich extrakci, ani v rámci sestavení AIP XML - do AIP se tak v mém pokusu dostal element <dc:d3scription>, což asi není úplně ideální

Chápu/dělám něco špatně? Nebo je to chyba? Díky :)

@yantom
Copy link
Collaborator

yantom commented Dec 22, 2020

V odkazovaném balíku se element d3scription nachází v souboru data/NDK/aba007-0007yd/mets_aba007-0007yd.xml ale uvedený validační profil odkazuje na soubor data/mets.xml .

@kerschfilip
Copy link
Collaborator Author

Omlouvám se, vůbec jsem si toho nevšiml. Znovu jsem to vyzkoušel, tentokrát s odkazem na správný soubor a potvrzuji, že validace tak, jak je zmíněna zde funguje. Funkční požadavek označím za vyřešený

@yantom
Copy link
Collaborator

yantom commented Dec 23, 2020

Děkuji. Příklad s validationSchemaCheck jsem vepsal do wiki validačních profilů. https://github.com/LIBCAS/ARCLib/wiki/Usage@Validation-profiles

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants