-
Notifications
You must be signed in to change notification settings - Fork 1
Description
VocPup 5.1 requirements 2.1.4, 2.2.1 and 2.3.1 each refer to use of skos:prefLabel and skos:definition - these are restated below for easy reference:
2.1.4 Each vocabulary MUST have exactly one title and at least one definition indicated using the skos:prefLabel and the skos:definition predicates respectively that must give textual literal values. Only one definition per language is allowed
2.2.1 Each Collection MUST have exactly one title and at least one definition indicated using the skos:prefLabel and the skos:definition predicates respectively that must give textual literal values. Only one definition per language is allowed
2.3.1 Each Concept MUST have exactly one title and at least one definition indicated using the skos:prefLabel and the skos:definition predicates respectively that must give textual literal values. Only one definition per language is allowed
Each requirement is elaborated with the following note:
NOTE: Unlike the general directions for the use of SKOS (the SKOS "Primer") labels in multiple languages should be indicated with skos:altLabel predicates, not all with skos:prefLabel, i.e. there should only ever be one skos:prefLabel value. If multiple definitions are given, the one in the language of the label is considered primary.
The requirements for skos:prefLabel and skos:definition are both varied and interdependent. Designing a SHACL for these requirements, therefore, and associated SHACL validators and warnings, is tricky. Progressing the VocPub standard with regards to these SKOS properties is tricky especially given the slight interdependencies while these are bundled within the same requirements. Some differences for these properties include:
- skos:prefLabel must occur exactly once, while skos:definition may occur once per language;
- a 'preferred' skos:definition is one that matches the language of the skos:prefLabel (assuming there is a match!);
- workflows for skos:prefLabel include use of a third property skos:altLabel to accommodate different languages (also subject of Allow one prefLabel per language per concept #6). There is no clear equivalent "altDefinition" property.
The complex interplay of language rules and min/max occurrence makes for complicated constraints. Currently a VocPub 5.1 SHACL validator throws two identical violations for a concept scheme that has no skos:definition - the fault will be investigated. But fixing the constraint would be far more straight forward if the requirements for skos:definition and skos:prefLabel are stated, and therefore operationalised separately.
Currently a KurrawongAI VocPub 5.1 SHACL validator throws a violation as such:
Requirement 2.1.4, 2.2.1 or 2.3.1 Each vocabulary, Collection or Concept MUST have exactly one title and at least one definition indicated using the skos:prefLabel and the skos:definition predicates respectively that must give textual literal values. Only one definition per language is allowed
A better outcome would be more granular requirement and therefore a more focused violation statement, such as:
Requirement 2.1.4, 2.2.1 or 2.3.1 Each vocabulary, Collection or Concept MUST have exactly one definition indicated using the skos:definition predicate that must give textual literal values. Only one definition per language is allowed. If multiple definitions are given, the one matching the language of the skos:prefLabel may be considered primary.
Likewise, a missing skos:prefLabel violation might read:
Requirement 2.1.X, 2.2.X or 2.3.X Each vocabulary, Collection or Concept MUST have exactly one name indicated using the skos:prefLabel predicate that must give textual literal values. Only one prefLabel is allowed. If the skos:Concept has names in multiple languages these should be indicated with skos:altLabel predicate.