SEMICeu / style-guide

SEMIC style guide to create reusable vocabularies and application profiles
https://semiceu.github.io/style-guide/
Creative Commons Attribution 4.0 International
9 stars 2 forks source link

AP model stereotypes need refinement and mapping to shacl #94

Open sixdiamants opened 6 months ago

sixdiamants commented 6 months ago

The Application Profile defines mandatory, recommended, and optional elements.

It makes sense to discuss the meaning of the stereotypes in terms of SHACL messages that non-conformance would generate. This allows one to hammer out the intention.

Here's my suggestion for the set of requirement levels, note that I dropped "optional" because I'm unaware of the difference between arity [0..n] and optional :
image

sixdiamants commented 6 months ago

Modulating properties in an AP by means of the switch mandatory/optional/recommended will be reflected in SHACL shapes. Thus, I would expect that the SHACL shapes need to be (de-)activated.

In accordance with the good practice recommended by the SHACL spec the style guide may want to recommend that

  1. property shapes are named nodes as opposed to blank nodes (which is already the case in model2owl)
  2. the sh:deactivated triple is used to hint that a shape can be toggled in an AP.
sixdiamants commented 5 months ago

Subsidiary question about the meaning of the class-application-profile and the requirement level when applied to classes:

One needs to define whether an AP is designed to

  1. only accept instances of stereotyped classes in the DCAT-AP profile or
  2. accept instances of all classes where stereotyped classes in the DCAT-AP are considered "tailored" to the AP.

Answer 1 implies that one needs to carefully include each and every class needed to capture the AP requirement (very closed world). Also, can one generate SHACL to exclude inacceptable individuals ? Answer 2 may be too open to abuse because nothing stops a user from instantiating the "original" classes that aren't within the profile.