ckan / ckanext-dcat

CKAN ♥ DCAT
https://docs.ckan.org/projects/ckanext-dcat
168 stars 148 forks source link

[META] DCAT v3 support #271

Open amercader opened 7 months ago

amercader commented 7 months ago

DCAT v3 support in CKAN

Summary

The aim is for CKAN to provide DCAT 3 support out of the box with minimal configuration, both as a metadata provider and as a consumer, providing comprehensive base implementations that can be adapted to each site needs.

[!NOTE] This is an evolving plan, it can change its shape and scope as time progresses 🦠

Primary goals

Secondary goals

We have also identified other areas that could be explored as part of the work on the main goals above. While it would be great to be able to focus on all them, this will depend on existing availability:

Functionality:

Use cases:

Work items

[!NOTE] These need to be split and expanded in individual issues

Getting ready

Previous CKAN - DCAT 3 discussions

[^1]: Describes a scenario where CKAN harvests metadata from a lower level site, and in turn it exposes its metadata to a higher level aggregator portal

ivbeg commented 6 months ago

Hi! I represent CKAN and other data catalogs aggregator Dateno (dateno.io) and several CKAN based data catalogues. My thoughts about DCAT 3 implementation:

  1. DCAT 2 and/or 3 should be enabled by default. It's a good practice to provide bulk metadata access as DCAT instead of CKAN regular API. I would say that it's much easier to collect metadata from DCAT-first data catalogs.
  2. There are some variations allowed by DCAT 2 and 3 about dataset theme and some other fields. It would be great if CKAN team could provide global reference metadata or if it could be possible to configure dictionaries during CKAN configuration.
  3. Looking further it would be great if CKAN will be much more customizable not just ot support DCAT 3, but other metadata standards as well.
  4. DCAT 3 introduces several important fields related to dataset version management. I am sure that most CKAN users don't aware much about it. I think that some educational resources needed about that.
  5. DCAT 3 doesn't break DCAT 2. Please keep providing export of CKAN data with both DCAT 2 and DCAT 3 standards. It will not break existing parsers.
amercader commented 5 months ago

Hi @ivbeg , sorry I missed your comments, see below:

DCAT 2 and/or 3 should be enabled by default. It's a good practice to provide bulk metadata access as DCAT instead of CKAN regular API. I would say that it's much easier to collect metadata from DCAT-first data catalogs.

There are technical and maintenance reasons to not want to pull all this extension into CKAN core to have it always enabled it by default, but I agree with the sentiment that out of the box minimal DCAT support would be useful

There are some variations allowed by DCAT 2 and 3 about dataset theme and some other fields. It would be great if CKAN team could provide global reference metadata or if it could be possible to configure dictionaries during CKAN configuration.

Yes, we want to explore providing codelists on the extension itself

Looking further it would be great if CKAN will be much more customizable not just ot support DCAT 3, but other metadata standards as well.

The foundation for this is already in place with ckanext-scheming, you can implement any metadata schema in CKAN. The next step is to provide out of the box support for specific standards like the dcat extension aims to do, which is something that of course can be applied to other standards

DCAT 3 doesn't break DCAT 2. Please keep providing export of CKAN data with both DCAT 2 and DCAT 3 standards. It will not break existing parsers.

Absolutely, all existing parsers will remain unchanged

Thanks for your thougths

riccardoAlbertoni commented 4 months ago

The features added by DCAT2 to DCAT, along with the rationale behind its main revisions based on collected use cases and requirements, are discussed in [1]. Considering this work can provide valuable insights into the principles guiding the evolution of DCAT, thereby aiding in the implementation of DCAT support. Also, the same rationale and assumptions have driven the development of DCAT3.

As for DCAT3, it introduces the following key features:

If you can point me to the current CKAN DCAT mapping, it would be useful as a base for further assistance.

[1] Riccardo Albertoni, David Browning, Simon Cox, Alejandra N. Gonzalez-Beltran, Andrea Perego, Peter Winstanley; The W3C Data Catalog Vocabulary, Version 2: Rationale, Design Principles, and Uptake. Data Intelligence 2023; doi: https://doi.org/10.1162/dint_a_00241

amercader commented 4 months ago

Thanks @riccardoAlbertoni I'll read the linked article for sure. The extension documentation including the DCAT - CKAN mapping will be reworked but in the meantime you can check the current version here:

https://github.com/ckan/ckanext-dcat?tab=readme-ov-file#rdf-dcat-to-ckan-dataset-mapping

The CKAN schema used to implement DCAT 2.1 might also be of interest:

https://github.com/ckan/ckanext-dcat/blob/master/ckanext/dcat/schemas/dcat_ap_2.1_full.yaml