From c11f3c2417cfd99816b80f9127d388ae401d0cb3 Mon Sep 17 00:00:00 2001 From: amercader Date: Tue, 11 Jun 2024 11:01:08 +0200 Subject: [PATCH] [#56] README tweaks --- README.md | 42 ++++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index dd7a6d01..f050efdf 100644 --- a/README.md +++ b/README.md @@ -112,7 +112,7 @@ The extension includes ready to use [ckanext-scheming](https://github.com/ckan/c There are the following schemas currently included with the extension: * *dcat_ap_2.1_recommended.yaml*: Includes the recommended properties for `dcat:Dataset` and `dcat:Distribution` according to the [DCAT 2.1](https://semiceu.github.io/DCAT-AP/releases/2.1.1/) specification. -* *dcat_ap_2.1_full.yaml*: Includes the most of the properties defined for `dcat:Dataset` and `dcat:Distribution` in the [DCAT 2.1](https://semiceu.github.io/DCAT-AP/releases/2.1.1/) specification. +* *dcat_ap_2.1_full.yaml*: Includes most of the properties defined for `dcat:Dataset` and `dcat:Distribution` in the [DCAT 2.1](https://semiceu.github.io/DCAT-AP/releases/2.1.1/) specification. Most sites will want to use these as a base to create their own custom schema to address their own requirements, perhaps alongside a [custom profile](#writing-custom-profiles). Of course site maintainers can add or remove schema fields, as well as change the existing validators. @@ -121,7 +121,7 @@ In any case, the schema file used should be defined in the configuration file, a # Make sure to add scheming_datasets after the dcat plugin ckan.plugins = activity dcat [...] scheming_datasets - # Point to one of the default or your own version of the schema file + # Point to one of the defaults or your own version of the schema file scheming.dataset_schemas = ckanext.dcat.schemas:dcat_ap_2.1_recommended.yaml # Include the dcat presets as well as the standard scheming ones @@ -381,59 +381,59 @@ some cases the way metadata is stored internally and presented at the CKAN API l | DCAT class | DCAT property | CKAN dataset field | CKAN fallback fields | Stored as | | |-------------------|------------------------|-------------------------------------------|--------------------------------|-----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------| -| dcat:Dataset | - | extra:uri | | text | See note about URIs | +| dcat:Dataset | - | extra:uri | | text | See [URIs](#uris-1) | | dcat:Dataset | dct:title | title | | text | | | dcat:Dataset | dct:description | notes | | text | | | dcat:Dataset | dcat:keyword | tags | | text | | -| dcat:Dataset | dcat:theme | extra:theme | | list | See note about lists | +| dcat:Dataset | dcat:theme | extra:theme | | list | See [Lists](#lists) | | dcat:Dataset | dct:identifier | extra:identifier | extra:guid, id | text | | | dcat:Dataset | adms:identifier | extra:alternate_identifier | | text | | | dcat:Dataset | dct:issued | extra:issued | metadata_created | text | | | dcat:Dataset | dct:modified | extra:modified | metadata_modified | text | | | dcat:Dataset | owl:versionInfo | version | extra:dcat_version | text | | | dcat:Dataset | adms:versionNotes | extra:version_notes | | text | | -| dcat:Dataset | dct:language | extra:language | | list | See note about lists | +| dcat:Dataset | dct:language | extra:language | | list | See [Lists](#lists) | | dcat:Dataset | dcat:landingPage | url | | text | | | dcat:Dataset | dct:accrualPeriodicity | extra:frequency | | text | | -| dcat:Dataset | dct:conformsTo | extra:conforms_to | | list | See note about lists | +| dcat:Dataset | dct:conformsTo | extra:conforms_to | | list | See [Lists](#lists) | | dcat:Dataset | dct:accessRights | extra:access_rights | | text | | -| dcat:Dataset | foaf:page | extra:documentation | | list | See note about lists | +| dcat:Dataset | foaf:page | extra:documentation | | list | See [Lists](#lists) | | dcat:Dataset | dct:provenance | extra:provenance | | text | | | dcat:Dataset | dct:type | extra:dcat_type | | text | As of DCAT-AP v1.1 there's no controlled vocabulary for this field | -| dcat:Dataset | dct:hasVersion | extra:has_version | | list | See note about lists. It is assumed that these are one or more URIs referring to another dcat:Dataset | -| dcat:Dataset | dct:isVersionOf | extra:is_version_of | | list | See note about lists. It is assumed that these are one or more URIs referring to another dcat:Dataset | -| dcat:Dataset | dct:source | extra:source | | list | See note about lists. It is assumed that these are one or more URIs referring to another dcat:Dataset | -| dcat:Dataset | adms:sample | extra:sample | | list | See note about lists. It is assumed that these are one or more URIs referring to dcat:Distribution instances | -| dcat:Dataset | dct:spatial | extra:spatial_uri | | text | See note about the spatial field | +| dcat:Dataset | dct:hasVersion | extra:has_version | | list | See [Lists](#lists). It is assumed that these are one or more URIs referring to another dcat:Dataset | +| dcat:Dataset | dct:isVersionOf | extra:is_version_of | | list | See [Lists](#lists). It is assumed that these are one or more URIs referring to another dcat:Dataset | +| dcat:Dataset | dct:source | extra:source | | list | See [Lists](#lists). It is assumed that these are one or more URIs referring to another dcat:Dataset | +| dcat:Dataset | adms:sample | extra:sample | | list | See [Lists](#lists). It is assumed that these are one or more URIs referring to dcat:Distribution instances | +| dcat:Dataset | dct:spatial | extra:spatial_uri | | text | See [Spatial coverage](#spatial-coverage) | | dcat:Dataset | dct:temporal | extra:temporal_start + extra:temporal_end | | text | None, one or both extras can be present | | dcat:Dataset | dcat:temporalResolution| extra:temporal_resolution | | list | | | dcat:Dataset | dcat:spatialResolutionInMeters| extra:spatial_resolution_in_meters | | list | | | dcat:Dataset | dct:isReferencedBy | extra:is_referenced_by | | list | | -| dcat:Dataset | dct:publisher | extra:publisher_uri | | text | See note about URIs | +| dcat:Dataset | dct:publisher | extra:publisher_uri | | text | See [URIs](#uris-1) and [Publisher](#contact-points-and-publisher) | | foaf:Agent | foaf:name | extra:publisher_name | | text | | | foaf:Agent | foaf:mbox | extra:publisher_email | organization:title | text | | | foaf:Agent | foaf:homepage | extra:publisher_url | | text | | | foaf:Agent | dct:type | extra:publisher_type | | text | | -| dcat:Dataset | dcat:contactPoint | extra:contact_uri | | text | See note about URIs | +| dcat:Dataset | dcat:contactPoint | extra:contact_uri | | text | See [URIs](#uris-1) and [Contact points](#contact-points-and-publisher) | | vcard:Kind | vcard:fn | extra:contact_name | maintainer, author | text | | | vcard:Kind | vcard:hasEmail | extra:contact_email | maintainer_email, author_email | text | | | dcat:Dataset | dcat:distribution | resources | | text | | -| dcat:Distribution | - | resource:uri | | text | See note about URIs | +| dcat:Distribution | - | resource:uri | | text | See [URIs](#uris-1) | | dcat:Distribution | dct:title | resource:name | | text | | | dcat:Distribution | dcat:accessURL | resource:access_url | resource:url | text | If downloadURL is not present, accessURL will be used as resource url | | dcat:Distribution | dcat:downloadURL | resource:download_url | | text | If present, downloadURL will be used as resource url | | dcat:Distribution | dct:description | resource:description | | text | | | dcat:Distribution | dcat:mediaType | resource:mimetype | | text | | -| dcat:Distribution | dct:format | resource:format | | text | This is likely to require extra logic to accommodate how CKAN deals with formats (eg ckan/ckanext-dcat#18) | -| dcat:Distribution | dct:license | resource:license | | text | See note about dataset license | +| dcat:Distribution | dct:format | resource:format | | text | | +| dcat:Distribution | dct:license | resource:license | | text | See [Licenses](#licenses) | | dcat:Distribution | adms:status | resource:status | | text | | | dcat:Distribution | dcat:byteSize | resource:size | | number | | | dcat:Distribution | dct:issued | resource:issued | created | text | | | dcat:Distribution | dct:modified | resource:modified | metadata_modified | text | | | dcat:Distribution | dct:rights | resource:rights | | text | | -| dcat:Distribution | foaf:page | resource:documentation | | list | See note about lists | -| dcat:Distribution | dct:language | resource:language | | list | See note about lists | -| dcat:Distribution | dct:conformsTo | resource:conforms_to | | list | See note about lists | +| dcat:Distribution | foaf:page | resource:documentation | | list | See [Lists](#lists) | +| dcat:Distribution | dct:language | resource:language | | list | See [Lists](#lists) | +| dcat:Distribution | dct:conformsTo | resource:conforms_to | | list | See [Lists](#lists) | | dcat:Distribution | dcatap:availability | resource:availability | | text | | | dcat:Distribution | dcat:compressFormat | resource:compress_format | | text | | | dcat:Distribution | dcat:packageFormat | resource:package_format | | text | | @@ -616,6 +616,8 @@ vs: } ``` +If no `publisher` or `publisher_*` fields are found, the serializers will fall back to getting the publisher properties from the organization the CKAN dataset belongs to. The organization schema can be customized with the schema located in `ckanext/dcat/schemas/publisher_organization.yaml` to provide the extra properties supported (this will additionally require loading the `scheming_organizations` plugin in `ckan.plugins`). + ### Spatial coverage