Ckanext-dcat is a CKAN extension that helps data publishers expose and consume metadata as serialized RDF documents using DCAT.
Important
- Custom releases of
ckan/ckanext-dcat:master
designed for use with:mjanez/ckanext-schemingdcat
mjanez/ckanext-schemingdcat
contains custom profiles aseu_dcat_ap_3
,es_dcat
ores_dcat_ap_3
to be used with Spanish context for some codelists and metadata properties (GeoDCAT-AP ES) or GeoDCAT-AP EU version. All schema information is available in the README)
Tip
Read the documentation for a full user guide: https://docs.ckan.org/projects/ckanext-dcat
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:
-
A base mapping between DCAT and CKAN datasets and viceversa (compatible with DCAT-AP v1.1, DCAT-AP v2.1 and DCAT-AP v3).
-
An RDF Parser that allows to read RDF serializations in different formats and extract CKAN dataset dicts, using customizable profiles.
-
An RDF Serializer that allows to transform CKAN datasets metadata to different semantic formats, also allowing customizable profiles.
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"
}
}
To run the tests do:
pytest --ckan-ini=test.ini ckanext/dcat/tests
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
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.
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: