GovDataOfficial / ckanext-dcatde

DE: Dieses Repository beinhaltet die Erweiterung von ckanext-dcat auf die Spezifikation DCAT-AP.de. EN: This is a DCAT-AP.de specific CKAN extension for providing and importing DCAT-AP.de-Profile data.
http://www.dcat-ap.de/
GNU Affero General Public License v3.0
11 stars 10 forks source link

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

Open Kraebs opened 11 months ago

Kraebs commented 11 months ago

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 commented 11 months ago

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 commented 11 months ago

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 commented 10 months ago

Siehe auch https://github.com/ckan/ckanext-dcat/issues/237

rickelt commented 7 months ago

Gibt es dazu zwischenzeitlich eine Lösung?

Ich muss den Validator ohne Fehleranzeige nutzen können.