Skip to content

mjanez/ckanext-dcat

 
 

Repository files navigation

ckanext-dcat

Tests Code Coverage

Ckanext-dcat is a CKAN extension that helps data publishers expose and consume metadata as serialized RDF documents using DCAT.

Important

Tip

Read the documentation for a full user guide: https://docs.ckan.org/projects/ckanext-dcat

Overview

In terms of CKAN features, this extension offers:

  • Pre-built CKAN schemas for common Application Profiles that can be adapted to each site requirements to provide out-of-the-box DCAT support in data portals, including tailored form fields, validation etc. (currently supporting DCAT AP v1, v2, and v3).

  • DCAT Endpoints that expose the catalog datasets in different RDF serializations (dcat plugin).

  • An RDF Harvester that allows importing RDF serializations from other catalogs to create CKAN datasets (dcat_rdf_harvester plugin).

  • Other features like Command Line Interface or support for indexing in Google Dataset Search.

These are implemented internally using:

Multilingual RDF support

ckanext-schemingdcat add multilingual values from CKAN to RDF, more info at: schemingdcat documentation

Example RDF:

<dct:title xml:lang="en">Dataset Title (EN)</dct:title>
<dct:title xml:lang="de">Dataset Title (DE)</dct:title>
<dct:title xml:lang="fr">Dataset Title (FR)</dct:title>
{
    "title":
        {
            "en": "Dataset Title (EN)",
            "de": "Dataset Title (DE)",
            "fr": "Dataset Title (FR)"
        }
}

Example with missing language in RDF:

<dct:title>Dataset Title</dct:title>
{
    "title":
        {
            "en": "Dataset Title"
        }
}

Running the Tests

To run the tests do:

pytest --ckan-ini=test.ini ckanext/dcat/tests

Releases

To create a new release, follow these steps:

  • Determine new release number based on the rules of semantic versioning
  • Update the CHANGELOG, especially the link for the "Unreleased" section
  • Update the version number in setup.py
  • Create a new release on GitHub and add the CHANGELOG of this release as release notes

Acknowledgements

Work on ckanext-dcat has been made possible in part by:

  • the Government of Sweden and Vinnova, as part of work on Öppnadata.se, the Swedish Open Data Portal.
  • FIWARE, a project funded by the European Commission to integrate different technologies to offer connected cloud services from a single platform.

If you can fund new developments or contribute please get in touch.

Copying and License

This material is copyright (c) Open Knowledge.

It is open and licensed under the GNU Affero General Public License (AGPL) v3.0 whose full text may be found at:

http://www.fsf.org/licensing/licenses/agpl-3.0.html