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

dcat:mediaType und dct:format MUSS eine IRI aus diesem Vokabular verwenden #21

Open
Kraebs opened this issue Jul 18, 2023 · 4 comments
Open

Comments

@Kraebs
Copy link

Kraebs commented Jul 18, 2023

Hallo zusammen,
ich habe die Extensions dcatde, dcat und harvest installiert in meiner CKAn Instanz auf Linux.
Für die dcatde Extension habe ich wie in der Dokumentation beschrieben: ckanext.dcat.rdf.profiles = euro_dcat_ap_2 dcatap_de gesetzt.

Wenn ich mir per .rdf nun einen selbst angelegten Datensatz ausgebe und mit dem DCAT-Ap.de Validator validiere bekomme ich bei jedem Datensatz folgenden Fehler:

dcat:Distribution: dct:format MUSS eine IRI aus diesem Vokabular verwenden: https://www.dcat-ap.de/def/dcatde/2.0/spec/#kv-file-type
Ort:[Fokusknoten] - [PDF] - [Ergebnispfad] - [http://www.w3.org/2004/02/skos/core#inScheme]
dcat:Distribution: dcat:mediaType MUSS eine IRI aus diesem Vokabular verwenden: https://www.dcat-ap.de/def/dcatde/2.0/spec/#kv-iana-media-types (Getestet wird in diesem Fall lediglich, ob die verwendete IRI mit https://www.iana.org/assignments/media-types/ beginnt.)
Ort:[Fokusknoten] - [http://127.0.0.1:5000/dataset/6403e2af-469c-446c-aa85-3ceb640c5235/resource/ec0d2227-ef33-418b-a8de-bc6c3b85592b] - [Ergebnispfad] - [http://www.w3.org/ns/dcat#mediaType]
Test:[Shape] - [http://dcat-ap.de/def/dcatde/Distribution_dcat_mediaType_v_List] - [Wert] - [application/pdf]

Warum setzt er bei mir nicht https://www.iana.org/assignments/media-types/ vor die Meditypes und die entsprechende url vor format? (Wie beispielsweise bei Datensätzen von offene Daten Frankfurt)

Ich bin für jede hilfe dankbar!

Zusätzlich habe ich noch eine Frage zum dcatde RDF Harvester: Hat jemand eine Art templates mit Konfigurationsotionen, die man in der Nutzeroberfläche angeben kann? Die Konfigurationen von ckanext-harvest haben bei mir nicht funktioniert..

Wer bis hier gelesen hat ist cool.

@Kraebs
Copy link
Author

Kraebs commented Jul 21, 2023

Hallo zusammen,

ich habe nun einen Workaround für das Problem gefunden. Nachdem ich einen Datensatz angelegt habe, lasse ich mit der ckanapi die url an den mimetyp anfügen.

Hier mein code:

details = ckan.action.package_show(id=dataset_id)

Iterieren Sie durch alle Ressourcen des Datensatzes

for resource in details['resources']:
# Überprüfen Sie, ob die Ressource einen Mimetype hat
if 'mimetype' in resource:
# Wenn ja, fügen Sie die gewünschte URL vor den Mimetype
resource['mimetype'] = 'https://www.iana.org/assignments/media-types/' + resource['mimetype']

Aktualisieren Sie den Datensatz

ckan.action.package_update(**details)

@seitenbau-govdata
Copy link
Member

Hallo @Kraebs

Wenn eine Ressource von Hand angelegt wird, muss für das Format (oder Media-Type) ein Wert aus der entsprechenden Werteliste eingetragen werden. Beim Anlegen einer Ressource über die CKAN Oberfläche wird bei einem Dokument mit der Dateiendung ".pdf" als Defaultwert in das Feld Format der Wert "PDF" eingetragen. Das ist für DCAT-AP(.de) im Fall von einem PDF nicht korrekt, sondern der Wert http://publications.europa.eu/resource/authority/file-type/PDF. Wie in der Fehlermeldung beschrieben finden sich weitere Informationen zu den DCAT-AP.de Wertelisten für Formate hier: https://www.dcat-ap.de/def/dcatde/2.0/spec/#kv-file-type.
Ein pauschales automatisiertes Hinzufügen der URI ist nicht immer korrekt, da abhängig von dem Dateiformat auch eine andere Wertelistemöglich wäre. Zudem sollte vorher noch geprüft werden, ob der eingegeben Wert auch Teil der Werteliste ist, oder nicht. Ansonsten könnte es dadurch zu ungültigen URIs kommen.

@jze
Copy link

jze commented Sep 4, 2023

Siehe auch ckan/ckanext-dcat#237

@rickelt
Copy link

rickelt commented Nov 27, 2023

Gibt es dazu zwischenzeitlich eine Lösung?

Ich muss den Validator ohne Fehleranzeige nutzen können.

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

No branches or pull requests

4 participants