Affected artifacts
| Ref |
NCP/**/RDFS/DatasetMetadata-AP-Voc-RDFS2020.rdf |
rdfs:domain / rdf:Property |
ncp-v2-4-1 @ 6c13098b |
not affected |
51 / 49 |
ncp-v2-4-2 @ a115032b (current HEAD) |
affected |
40 / 49 |
main @ d113c048 (2.5 draft, NCP/CurrentRelease) |
affected |
40 / 49 |
Introduced by commit 489c5c51ac4f (2026-05-27, "Correct RDFS for NCP dataset metadata to
remove the record <rdfs:domain rdf:resource="http://www.w3.org/ns/dcat#Dataset"/> for
literal attributes with datatype <cims:dataType rdf:resource="#URI"/>").
Problem
After that commit, these 11 properties are still declared as rdf:Property with
cims:dataType #URI, cims:multiplicity and stereotypes, but carry no rdfs:domain
(or any other class linkage):
dcterms:accessRights, dcterms:accrualPeriodicity, dcterms:conformsTo,
dcterms:license, nc:processType (type), dcterms:publisher, dcterms:source,
dcterms:spatial, dcterms:type, dcatcim:usedSettings, prov:wasGeneratedBy.
For tooling that derives the exchange schema from the RDFS2020 vocabulary (which class
carries which attribute), these properties are orphaned — they can no longer be
associated with dcat:Dataset, so generated serializers/validators silently drop the
corresponding header statements. All string-typed Dataset attributes (dcat:keyword,
dcterms:title, dcterms:description, dcterms:identifier, …) still carry
rdfs:domain, so the vocabulary is now internally inconsistent about how attribute
membership is expressed.
Meanwhile the constraints artifact of the same release still binds all of them to the
Dataset/DifferenceSet node shapes and even requires some of them, e.g. in
NCP/SHACL/DatasetMetadata-AP-Con-SHACL.ttl (ncp-v2-4-2):
dm:conformsTo-cardinality
rdf:type sh:PropertyShape;
sh:message "Cardinality violation. Lower bound shall be 1";
sh:minCount 1;
sh:path dcterms:conformsTo;
sh:severity sh:Violation .
So an implementation that derives its writer from the RDFS cannot emit
dcterms:conformsTo, and the emitted document then fails the release's own SHACL.
If the motivation was RDF-semantics hygiene (a global rdfs:domain on shared
dcterms/dcat vocabulary terms entails class membership for every user of the term),
that concern applies equally to the string-typed properties that kept their domain —
and the RDFS2020 application-profile files are already profile-scoped artifacts, not
global vocabulary definitions.
Reproduce
git diff 489c5c51ac4f^ 489c5c51ac4f -- NCP/CurrentRelease/RDFS/DatasetMetadata-AP-Voc-RDFS2020.rdf
# 11 properties lose <rdfs:domain rdf:resource="http://www.w3.org/ns/dcat#Dataset"/>
Questions / proposal
- If the removal is intentional: what is the intended machine-readable way to derive,
from the RDFS package alone, that these properties are exchanged on dcat:Dataset?
- If profile-scoped domains are acceptable (as for the string-typed attributes),
please restore rdfs:domain for the 11 URI-typed properties on ncp-v2-4-2-line
and main so the vocabulary is consistent and matches the SHACL.
Affected artifacts
NCP/**/RDFS/DatasetMetadata-AP-Voc-RDFS2020.rdfncp-v2-4-1@6c13098bncp-v2-4-2@a115032b(current HEAD)main@d113c048(2.5 draft,NCP/CurrentRelease)Introduced by commit
489c5c51ac4f(2026-05-27, "Correct RDFS for NCP dataset metadata toremove the record
<rdfs:domain rdf:resource="http://www.w3.org/ns/dcat#Dataset"/>forliteral attributes with datatype
<cims:dataType rdf:resource="#URI"/>").Problem
After that commit, these 11 properties are still declared as
rdf:Propertywithcims:dataType #URI,cims:multiplicityand stereotypes, but carry nordfs:domain(or any other class linkage):
dcterms:accessRights,dcterms:accrualPeriodicity,dcterms:conformsTo,dcterms:license,nc:processType(type),dcterms:publisher,dcterms:source,dcterms:spatial,dcterms:type,dcatcim:usedSettings,prov:wasGeneratedBy.For tooling that derives the exchange schema from the RDFS2020 vocabulary (which class
carries which attribute), these properties are orphaned — they can no longer be
associated with
dcat:Dataset, so generated serializers/validators silently drop thecorresponding header statements. All string-typed Dataset attributes (
dcat:keyword,dcterms:title,dcterms:description,dcterms:identifier, …) still carryrdfs:domain, so the vocabulary is now internally inconsistent about how attributemembership is expressed.
Meanwhile the constraints artifact of the same release still binds all of them to the
Dataset/DifferenceSet node shapes and even requires some of them, e.g. in
NCP/SHACL/DatasetMetadata-AP-Con-SHACL.ttl(ncp-v2-4-2):dm:conformsTo-cardinality rdf:type sh:PropertyShape; sh:message "Cardinality violation. Lower bound shall be 1"; sh:minCount 1; sh:path dcterms:conformsTo; sh:severity sh:Violation .So an implementation that derives its writer from the RDFS cannot emit
dcterms:conformsTo, and the emitted document then fails the release's own SHACL.If the motivation was RDF-semantics hygiene (a global
rdfs:domainon shareddcterms/dcat vocabulary terms entails class membership for every user of the term),
that concern applies equally to the string-typed properties that kept their domain —
and the RDFS2020 application-profile files are already profile-scoped artifacts, not
global vocabulary definitions.
Reproduce
git diff 489c5c51ac4f^ 489c5c51ac4f -- NCP/CurrentRelease/RDFS/DatasetMetadata-AP-Voc-RDFS2020.rdf # 11 properties lose <rdfs:domain rdf:resource="http://www.w3.org/ns/dcat#Dataset"/>Questions / proposal
from the RDFS package alone, that these properties are exchanged on
dcat:Dataset?please restore
rdfs:domainfor the 11 URI-typed properties onncp-v2-4-2-lineand
mainso the vocabulary is consistent and matches the SHACL.