- From: Karen Coyle <kcoyle@kcoyle.net>
- Date: Wed, 14 Jun 2017 10:14:44 -0700
- To: public-dxwg-wg@w3.org
Here's some background on the Dublin Core application profiles work. (Sorry for the length; and I really tried to keep it short!) First, it's important to see the historical context behind DCAP. Dublin Core was working in parallel to the W3C work on RDF during the 2000's. In particular, DC developed an Abstract Model, DCAM,[1] to anchor its work. I was not involved in DCAM but I read it today as a set of design patterns for the definition of ones' metadata. It is mainly compatible with RDF, and is the anchor component in a broad metadata framework.[2] The metadata framework itself included a number of components, which are defined in the Singapore Framework for Application Profiles[2]. The framework is a holistic approach to metadata vocabularies and documentation, including domain models, general vocabularies, application profiles, and guidance (aka cataloging rules). In this model, base vocabularies would be minimally semantically constrained so that they could be given sharper definitions (such as domains and ranges and value rules) in the application profile. Before I go on to the application profiles, let me say that the DC abstract model did NOT get uptake in the community (meaning the large community that uses DC for various functions). It may have been ahead of its time, but I personally found its terminology ("non-literal value surrogate" etc.) to be daunting. Perhaps a primer would have made a difference. This lack of uptake of the DCAM possibly was the big hindrance to the acceptance of the Dublin Core Application Profiles (DCAP), which was based on the DCAM. Note that the document that I co-authored with Tom Baker was an attempt to provide a primer-like approach to the DCAP concept. Because Dublin Core is at its core (sorry) an instance data vocabulary, the DCAP is illustrated as a definition of a profile for instance metadata. It could also presumably be applied to the description of a dataset, but that has not been a focus in Dublin Core work. What is key to the DC approach is evidenced in what I see as the pattern of "description sets". The abstract model provides design patterns for descriptions that are united into description sets. Each of those descriptions consists of statements about some thing. The Description Set Profiles[3] document defines a constraint language for description sets. The "application profile" is a broader concept that includes additional documentation such as domain models and base vocabularies. So strictly speaking the DCAP > DCAT-AP, and a better equivalence would be DSP~=DCAT-AP. (But I see no reason not to use DCAP in the narrower sense for our discussions.) In my brief reading of DCAT-APs, the DSP appears to be a slightly more robust AP definition, with a more complete model for the definition of a vocabulary profile (cardinality, validity rules for values, etc.). However, having sat on the SHACL-WG for over 2 years, what I also now see as missing are the possible relationships between descriptions and between statements (A or (B and C)). This leads me to think that the picture is (unfortunately) even more complex when we consider the delineation between vocabulary definition and validation. The hope was that the DSP could directly translate to machine validation, but I'm now wondering if instead we need a hook between the vocabulary profile and the documentation/validation aspects. kc [1] http://dublincore.org/documents/abstract-model/ [2] http://dublincore.org/documents/singapore-framework/ [3] http://dublincore.org/documents/dc-dsp/ -- Karen Coyle kcoyle@kcoyle.net http://kcoyle.net m: 1-510-435-8234 (Signal) skype: kcoylenet/+1-510-984-3600
Received on Wednesday, 14 June 2017 17:15:21 UTC