You declare 3 enumerations but no values for them:
`dprod:DataProductLifecycleStatus, dprod:InformationSensitivityClassification, dprod:SecuritySchemaType
That's not useful. Please collect at least an initial set of values. You cite 2 links, and there's also Wikidata, so you should be able to do it.
You can add a scopeNote that the enumeration is open, i.e. users are expected to add values.
For the last one you say dprod:securitySchemaType "# rdfs:range rdf:resource ; # better let user decide whether they want SecuritySchemaType class or own class or skos": that means the class SecuritySchemaType is doubly useless (the spec doesn't standardize members, and doesn't mandate its use)
Please consider using SKOS: it reduces the number of classes. To specify which skos:ConceptScheme is used by which prop, you can use the pattern adopted by ERA: they have an annotation property era:inSkosConceptScheme (Eg see https://github.com/Interoperable-data/ERA-Ontology-3.1.0/issues/54)
(if you keep the current approach)
dprod:DataProductLifecycleStatusis declaredrdfs:subClassOfofdprod:Enumeration. But that should better berdf:type, elseEnumeration` will contain all kinds of values from various enumerations, which imho is not useful
dprod:securitySchemaType
"# rdfs:range rdf:resource ; # better let user decide whether they want SecuritySchemaType class or own class or skos": that means the classSecuritySchemaType
is doubly useless (the spec doesn't standardize members, and doesn't mandate its use)skos:ConceptScheme
is used by which prop, you can use the pattern adopted by ERA: they have an annotation propertyera:inSkosConceptScheme
(Eg see https://github.com/Interoperable-data/ERA-Ontology-3.1.0/issues/54)is declared
rdfs:subClassOfof
dprod:Enumeration. But that should better be
rdf:type, else
Enumeration` will contain all kinds of values from various enumerations, which imho is not useful