Ważne linki:
- ograniczony zestaw, który jest na prawdę zaimplementowany: https://europeana.atlassian.net/wiki/spaces/EF/pages/987791389/EDM+-+Mapping+guidelines
- Tier A-C XML z przykładami: https://europeana.atlassian.net/wiki/spaces/EF/pages/1969979393/Tier+A-C+requirements
- diagram klas: https://pro.europeana.eu/page/europeana-libraries-edm
- przykłady XML: https://drive.google.com/drive/folders/13ieByNLQBAjGgpJBM25QffZxGhVSzzp7
Inne linki:
- https://pro.europeana.eu/files/Europeana_Professional/Share_your_data/Technical_requirements/EDM_Documentation/EDM_Definition_v5.2.8_102017.pdf
- https://pro.europeana.eu/page/linked-open-data
- https://pro.europeana.eu/files/Europeana_Professional/Share_your_data/Technical_requirements/EDM_Documentation/EDM_Factsheet.pdf
Jak to napisać:
- Na branchu do tego ticketa jest wypushowany prosty prototyp z kilkoma componentami.
- XML ma mieć jeden edm:ProvidedCHO i jeden ore:Aggregation. Może być dowolna liczba edm:WebResource - wtedy aggregation powinno na nie wskazywać (inaczej to trochę bez sensu).
- Parsuję XML i to co rozumiem (klasy XML, propertiesy) zmieniam na drzewo moich obiektów. Każdy obiekt-liść reprezentuje pojedyncze property, na przykład obiekt dla <edm:type>IMAGE</edm:type> będzie typu type i będzie mieć pole content z wartością IMAGE.
- Czyli: mam XML w xmlValue, parsuje go DOMParser i wychodzi z tego XMLDocument. Na nim mogę operować i wyszukiwać rzeczy to tworzenia obiektów.
- Drzewo obiektów służy do graficznego przedstawienia metadanych. Powinien być napis, że nie wszystko jest parsowane (może jak wszystkie węzły XML nie będą użyte?).
- Drzewo obiektów można edytować - wtedy powinno ono potrafić wstrzyknąć do XML źródłowego zmiany. Uwaga: nie powinno ono generować całkiem nowego XML, tylko podmieniać ew. same konkretne wartości czy atrybuty (bo mogą być nieznane atrybuty). To będzie wymagać trochę pracy.
Notatki:
- CHO -> Cultural Hertiage Object
- są mandatory, recommended i optional properties - może być walidacja, że muszą być mandatory; można by zrobić warning/tip jak nie ma recommended
- There may be more than one edm:WebResource for each edm:ProvidedCHO
- Please provide the properties in the record in the same order given in this document, the metadata validation performed by Europeana requires this order.
- edm:ProvidedCHO może mieć kilka edm:WebResource i ich relacja jest określona w ore:Aggregation
- niektóre elementy mają wartość wprost między tagami (jak Dublic Core 1.1), ale niektóre wymagają wprowadzania atrybutów
- często występuje rdf:resource jako atrybut i wtedy nie ma wartości
- <edm:type>IMAGE</edm:type>
- <edm:isSuccessorOf rdf:resource="http://dbpedia.org/resource/The_Fellowship_of_the_Ring/"">
- czasami są możliwe dwie opcje:
- <dcterms:temporal>Roman Empire</dcterms:temporal>
- <dcterms:temporal rdf:resource=“http://semium.org/time/roman_empire”/>
- czasami jest mieszane: {{ <dc:title xml:lang=“en”>Eight Weeks</dc:title><dc:title xml:lang=“it”>Ocho semanas</dc:title>}}czyli jest obowiązkowo wartość i jest opcjonalnie atrybut xml:lang
* Concept class?
* teoretycznie można oceniać jakość metadanych: https://europeana.atlassian.net/wiki/spaces/EF/pages/1969979393/Tier+A-C+requirements
* example records: https://europeana.atlassian.net/wiki/spaces/EF/pages/1969258498/Metadata+Tier+A
* przykład: {{<edm:ProvidedCHO rdf:about="#exampleMetB"></edm:ProvidedCHO><ore:Aggregation rdf:about="#exampleMetB_AGG"><edm:aggregatedCHO rdf:resource="#exampleMetB"/></ore:Aggretation>}}
- pytanie - czy provided CHO może być jedno?
- tech: konwerter w dwie strony powinien nie psuć kodu, który już jest, tylko precyzyjnie zmieniać wartości węzłów z XML i wyświetlać to co rozumie, a jeśli jest coś więcej to dawać napis, że XML ma więcej elementów i link do edytora XML
- split from
-
VFS-11540 Add support for Europeana Data Model metadata in Open Data metadata
- Closed