zazuko / cube-link

Cube Schema
https://zazuko.github.io/cube-link/
Other
11 stars 8 forks source link

opendata.swiss profile violations in tested datasets #150

Open AdMSilvan opened 3 months ago

AdMSilvan commented 3 months ago

After testing a few datasets against the opendata.swiss profile from the visualize branch, using barnard59, there are a few errrors which appeared in each dataset.

Error in all examined Datasets: Violation of MinCountConstraintComponent: "Publisher must be a foaf:Organization DCAT-AP." with path http://purl.org/dc/terms/publisher Is a literal of type string rather than a node of type foaf:Organization

Violation of NodeConstraintComponent: "Contact point must be a vcard:Organization or vcard:Individual." with path http://www.w3.org/ns/dcat#contactPoint For all the examined datasets the blank node is of type http://www.w3.org/2006/vcard/ns#Organization, source of error unclear.

Violation of NodeKindConstraintComponent: "Value does not have node kind http://www.w3.org/ns/shacl#IRI" with path http://www.w3.org/2006/vcard/ns#hasEmail Is a string rather than IRI

Violation of MinCountConstraintComponent: "Less than 1 values" with path http://www.w3.org/ns/dcat#distribution Datasets have no distributions and therefore also not the attached properties required by the DCAT specification.

Violation of InConstraintComponent: "Value is not in Blank node b639" with path http://www.w3.org/ns/dcat#theme (Multiple times)

Error in most examined Datasets: Violation of PatternConstraintComponent: "Value does not match pattern "^[A-Z0-9-]+@[A-Z0-9-]+$"" with path http://purl.org/dc/terms/identifier

Violation of ClassConstraintComponent: "" with path http://purl.org/dc/terms/temporal

It needs to be checked whether the current implementation of these properties is functional in opendata.swiss or whether any of these errors are causing issues. Possibly we will have to coordinate with the maintainers of the DCAT-AP schema and the opendata.swiss harvesters to check this. If these errors are harmless the shapefile could be adapted.

@tpluscode @giacomociti What do you think? Did I miss something obvious?

Tested Cubes: https://energy.ld.admin.ch/elcom/electricityprice-swiss https://culture.ld.admin.ch/sfa/StateAccounts_Category/7 https://agriculture.ld.admin.ch/agroscope/PRIFm8t15/2 https://environment.ld.admin.ch/foen/nfi/nfi_C-2630/cube/2023-3 https://energy.ld.admin.ch/sfoe/bfe_ogd100_kennzahlensharedmobility/1

tpluscode commented 3 months ago

Thank you for trying out the shapes and your feedback @AdMSilvan

Long story short, ultimately the ODS profile should match the DCAP-AP handbook. That would be used to validate the final metadata consumed by a CKAN harvester. Hence, some unexpected violations because on Lindas slightly different vocabularies are used.

While that profile is a work in progress, we also started a the profile opendataswiss-lindas which intends to bridge the gap and validate cubes published to Lindas with the intent of further being pushed to ODS. That is currently done by transforming cubes from Lindas on the fly. Please follow https://gitlab.ldbar.ch/bafu/visualize/-/issues/634 for ongoing development