ckan / ckanext-dcat

CKAN ♥ DCAT
164 stars 142 forks source link

Add support for DCAT-AP 2.1 #220

Closed seitenbau-govdata closed 1 year ago

seitenbau-govdata commented 2 years ago

We want to add support for the following DCAT-AP 2.1 properties (covers https://github.com/ckan/ckanext-dcat/issues/168):

Specification: https://www.w3.org/TR/vocab-dcat-2/

We start by creating a new DCAT-AP 2 profile (plugin euro_dcat_ap_2) that inherits the profile EuropeanDCATAPProfile (plugin euro_dcat_ap).

amercader commented 1 year ago

@seitenbau-govdata if you restart the failed py2 jobs they should pass now (there was a problem with ckanext-harvest reqs, which is fixed now)

seitenbau-govdata commented 1 year ago

@amercader The pull request is now ready for review. Maybe you have a good idea and suggestion how the new profile could be described and announced/introduced in the documentation.

seitenbau-govdata commented 1 year ago

@amercader I do not want to be annoying. But do you think that you will find some time to have a look at the pull request? Or gladly also someone else if you are too busy or on vacation. Thanks in advance.

amercader commented 1 year ago

Sorry @seitenbau-govdata I'm busy with different open fronts (and school holidays!) but will definitely try to find some time for this. I had a quick look and it looks great. Do any of these changes break compatibility with DCAT-AP 1.1? ie are there changes in how existing fields where parsed/serialized or this just adds new fields?

seitenbau-govdata commented 1 year ago

@amercader Thanks that you will have a look and this despite the circumstances. There are no breaking changes with DCAT-AP 1.1. Only some fields are added to the graph or stored in the database if the imported graph contains properties supported by DCAT-AP 2.

The only existing properties affected by the changes are the property dct:spatial and dct:temporal. 1) In the property dct:spatial the properties dcat:bbox and dcat:centroid are added within the class dct:Location analogous to locn:geometry. 2) The property dct:temporal is added another time, containing the properties dcat:startDate and dcat:endDate, additionally to the property dct:temporal containing the properties schema:startDate and schema:endDate.

amercader commented 1 year ago

@seitenbau-govdata thanks for your work on this, it all looks good.

In terms of introducing these changes and given they are backwards compatible, I think the best approach would be:

We can release 1.3.0 after this is merged.

seitenbau-govdata commented 1 year ago

@amercader Thanks for your input. I have changed the default profile and updated the documentation. In addition I have fixed the RDFSerializer tests for the DCAT-AP 1 profile euro_dcat_ap and added some basic tests for the default RDFSerializer.

Feel free to comment the latest changes and/or merge the pull request. 😃

amercader commented 1 year ago

Many thanks @seitenbau-govdata, this is a long requested feature! (even if partially supported)

I won't be able to work on this in the next two weeks. Do you mind doing the new release yourself (basically updating the version, tagging and changelog)? I think 1.3.0 makes sense for this one. Thanks!

seitenbau-govdata commented 1 year ago

@amercader Sure, we can do the new release. 1.3.0 as new version sounds good.