Guiding principles
-
Must support multiple descriptions in a description set
-
Must allow for some form of "profile module" à la Accessibility/Education
-
Thus - merging of APs necessary? Automatic/manual?
-
Must support automatic validation of instance data to some degree
-
Must support integrating human-readable documentation
-
Must be encoding independent
Levels
There are several layers of the model:The Machine level
All the descriptions below are machine-processable (template ~= profile):-
Statement templates, including constraints on all components of statements: SES, VES, value strings etc.
-
Description templates, including essentially a set of statement templates. Cardinality, mandatory, open/closed etc.
-
Description set templates, including essentially a set of description templates. Includes resource types etc.
Thus, we need syntaxes for these. Fundamental question: do we base it directly on the DCAM (leading to need for DCAM-specific syntax), or a concrete syntax, such as RDF or XML (letting us reuse SPARQL or XPath/XQuery).
The Documentation Level
Human-readable documentation for each of the above templates.
Can be "use the full name of the publication in the title field" etc.
Needs to be linked directly to the relevant template (in case of several uses of "dc:title" etc.).
The Encoding level
A profile specific syntax might be given. Do we need to support that in the model?
The Best practices level
Understanding domain models/application models, vocabularies and all that.