Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

create the geodcat-ap shacl file as an extension to the dcat-ap shacl file #142

Open
NielsHoffmann opened this issue Nov 13, 2024 · 0 comments
Labels
3.0.0 Pilot Issues from the pilot related to the specification

Comments

@NielsHoffmann
Copy link

This is an issue relating to the GeoDCAT 3.0.0 pilot.

As is stated in the respec document the GeoDCAT profile is an extension to the DCAT-AP 3 profile.
For usability and maintainability purposes I would prefer that the GeoDCAT shacl file only contains the added shapes with respect to the DCAT-AP shacl file. So that it only reflects the extension to DCAT-AP.
Currently all shapes are 'redefined' using the GeoDCAT namespace:

DCAT-AP 3 Statement:

<https://semiceu.github.io/DCAT-AP/releases/3.0.0/shacl/dcat-ap-SHACL.ttl#dcat:CatalogShape/8f61614144aa7bca188b24f5976593dc08aad0e6> rdfs:seeAlso "https://semiceu.github.io/DCAT-AP/releases/3.0.0#Catalogue.description";
  shacl:description "A free-text account of the Catalogue."@en;
  shacl:minCount 1;
  shacl:name "description"@en;
  shacl:path dc:description .

GeoDCAT-AP statement:

<https://semiceu.github.io/GeoDCAT-AP/releases/3.0.0#dcat:CatalogShape/8f61614144aa7bca188b24f5976593dc08aad0e6> rdfs:seeAlso "https://semiceu.github.io/GeoDCAT-AP/releases/3.0.0#Catalogue.description";
  shacl:description "A free-text account of the Catalogue."@en;
  shacl:minCount 1;
  shacl:name "description"@en;
  shacl:path dc:description .

In a lot of cases the statements are the same and the UUID between DCAT-AP and GeoDCAT-AP is the same. However, this is not always the case...

DCAT-AP 3 Statements on Spatial Resolution on a Dataset:

<https://semiceu.github.io/DCAT-AP/releases/3.0.0/shacl/dcat-ap-SHACL.ttl#dcat:DatasetShape/42110293925ce8bdb81f82dee95d1f78b2fca91c> rdfs:seeAlso "https://semiceu.github.io/DCAT-AP/releases/3.0.0#Dataset.spatialresolution";
  shacl:datatype xsd:decimal;
  shacl:description "The minimum spatial separation resolvable in a dataset, measured in meters."@en;
  shacl:name "spatial resolution"@en;
  shacl:path dcat:spatialResolutionInMeters .

<https://semiceu.github.io/DCAT-AP/releases/3.0.0/shacl/dcat-ap-SHACL.ttl#dcat:DatasetShape/46a60c7d3d828d3006937a12f82c1958b94e6f76> rdfs:seeAlso "https://semiceu.github.io/DCAT-AP/releases/3.0.0#Dataset.spatialresolution";
  shacl:description "The minimum spatial separation resolvable in a dataset, measured in meters."@en;
  shacl:name "spatial resolution"@en;
  shacl:nodeKind shacl:Literal;
  shacl:path dcat:spatialResolutionInMeters .

On GeoDCAT-AP the 'general' statements are there, and more specific statements:

<https://semiceu.github.io/GeoDCAT-AP/releases/3.0.0#dcat:DatasetShape/42110293925ce8bdb81f82dee95d1f78b2fca91c> rdfs:seeAlso "https://semiceu.github.io/GeoDCAT-AP/releases/3.0.0#Dataset.spatialresolution";
  shacl:class <http://www.w3.org/ns/dqv#QualityMeasurement>;
  shacl:description "The performed quality measurements."@en;
  shacl:name "spatial resolution"@en;
  shacl:path <http://www.w3.org/ns/dqv#hasQualityMeasurement> .

<https://semiceu.github.io/GeoDCAT-AP/releases/3.0.0#dcat:DatasetShape/46a60c7d3d828d3006937a12f82c1958b94e6f76> rdfs:seeAlso "https://semiceu.github.io/GeoDCAT-AP/releases/3.0.0#Dataset.spatialresolution";
  shacl:description "The performed quality measurements."@en;
  shacl:name "spatial resolution"@en;
  shacl:nodeKind shacl:BlankNodeOrIRI;
  shacl:path <http://www.w3.org/ns/dqv#hasQualityMeasurement> .

<https://semiceu.github.io/GeoDCAT-AP/releases/3.0.0#dcat:DatasetShape/69c4771d01c23b15f61b2d7006a4abf0d56d5ba0> rdfs:seeAlso "https://semiceu.github.io/GeoDCAT-AP/releases/3.0.0#Dataset.spatialresolutioninmetres";
  shacl:description "The minimum spatial separation resolvable in a Dataset, measured in meters."@en;
  shacl:name "spatial resolution in metres"@en;
  shacl:nodeKind shacl:Literal;
  shacl:path dcat:spatialResolutionInMeters .

<https://semiceu.github.io/GeoDCAT-AP/releases/3.0.0#dcat:DatasetShape/8800b7f9f5c99f91633b1231bc40964e69b021de> rdfs:seeAlso "https://semiceu.github.io/GeoDCAT-AP/releases/3.0.0#Dataset.spatialresolutionastext";
  shacl:description "Textual description of spatial resolution."@en;
  shacl:name "spatial resolution as text"@en;
  shacl:nodeKind shacl:Literal;
  shacl:path <http://data.europa.eu/930/spatialResolutionAsText> .

<https://semiceu.github.io/GeoDCAT-AP/releases/3.0.0#dcat:DatasetShape/a1173daef382ef9fe405318a57ddd98dbc82e335> rdfs:seeAlso "https://semiceu.github.io/GeoDCAT-AP/releases/3.0.0#Dataset.spatialresolutioninmetres";
  shacl:datatype xsd:decimal;
  shacl:description "The minimum spatial separation resolvable in a Dataset, measured in meters."@en;
  shacl:name "spatial resolution in metres"@en;
  shacl:path dcat:spatialResolutionInMeters .

Note that in this case the UUID of the DCAT-AP shapes are 're-used' for the more specific shapes, whereas the 'original' statements form DCAT-AP get 'new' UUID's.

I'm afraid that this makes the various profiles all rather unmaintainable.
In addition to this issue there seem to be discrepancies in the releases of DCAT-AP shacl files as noted here: SEMICeu/DCAT-AP#399

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3.0.0 Pilot Issues from the pilot related to the specification
Projects
None yet
Development

No branches or pull requests

2 participants