There is a conflict between Dublin Core Best Practices and the specific, historical implementation of the LODE documentation tool used by Archivo.
The DCMI: DCMI Metadata Terms (dcterms:) is the preferred namespace for modern Semantic Web applications because it provides formal domains and ranges, making it semantically richer.
However, Archivo’s LODE Conformity test is checking for the older, less precise DCMI: DCMI Metadata Terms (dc:) namespace due to the legacy requirements of the LODE (Live Ontology Documentation Environment) tool itself.
The reason Archivo requires the use of the basic dc: namespace for the LODE Conformity check is not a choice of Semantic Web best practice, but a dependency on the specific expectations of the LODE documentation generator:
- The LODE SHACL Shape Uses dc:
The LODE Conformity check runs a SHACL validation shape (like the one found in the DBpedia Archivo repository) that is hardcoded to look for the basic dc: properties.
For example, the SHACL rule for checking the description might look like this:
Code snippet
<#description-warning>
a sh:PropertyShape ;
sh:path dc:description ; ← It specifically checks for dc:description
sh:severity sh:Warning ;
sh:minCount 1 ;
sh:nodeKind sh:Literal ;
sh:message “no dc:description given or no literal, will not be displayed”@en .
If the shape mandates dc:description, using the preferred dcterms:description will fail that particular test, even though dcterms:description is a semantic subproperty of dc:description.
- The Dumb-Down Principle & Lack of Inference
While the Dublin Core documentation states that dcterms: properties are subproperties of the corresponding dc: properties (e.g., dcterms:creator rdfs:subPropertyOf dc:creator), the Archivo LODE test is likely performed without RDFS inference enabled.
With Inference: A reasoner would understand that if an entity has dcterms:title, it also has dc:title.
Without Inference (The LODE/SHACL Constraint): The SHACL validation simply checks for the explicit presence of the exact triple. If the shape requires dc:title and the ontology only provides dcterms:title, the test fails because the explicit dc:title triple is missing.
This requirement forces a trade-off: to pass the LODE compatibility test, you must use the more generic dc: properties, which are guaranteed to be understood by the basic LODE tool’s parser/template.
Since I want to pass the LODE test while still following modern best practices, the best approach is to use both properties for the 15 basic elements, as this maintains both compatibility and semantic richness. But this is tedious and should be unnecessary.