Closed nichtich closed 3 years ago
As it exists today, there is no relation. The W3C vocabulary does not define a constraint vocabulary for profiles, even though its documentation seems to indicate that it does. That vocabulary defines the various documents that support a profile (validation code, user documentation, related profiles), but not the contents of such documents. The W3C vocabulary allows you to identify some of the entities of the Singapore Framework, but not all, and none of the DSP. This work will attempt to define a vocabulary for the creation of profiles. The DXWG decided that it would not undertake that task.
@nichtich To elaborate: the DXWG Profiles Vocabulary (PROF) defines a model for the cluster of related documents that specifies a "profile" -- its base vocabularies, PDF documents or Web pages, and validation schemas in SHACL, ShEx, Schematron, and the like. PROF is intended to be used for annotating the cluster of resources related to a profile for the purposes of finding the information needed to interpret or process data based on the profile.
The DCMI activity, in contrast, aims at defining a simplified vocabulary of constraints to enable the creation of simple application profiles using common tools such as spreadsheets. This is in the spirit of the 2008 draft Description Set Profile constraint language. My personal view is that we should keep the constraint language very basic -- limited to commonly required constraints such as minOccurs
and maxOccurs
-- and assume that users with more complex requirements will look to more expressive languages such as ShEx. Or, alternatively, that they might use templates based on the simplified language as a way to rapidly prototype a profile that could be transformed on the back end into the first draft of a profile expressed in a more powerful language. As @kcoyle points out, a language for constraints is something that DXWG considered to be out of scope.
Following this comments and the definition at #7, a DCMI application profile is basically a set of constraints on a basic specification, so with DXWG Profiles Vocabulary in terms of RDF:
?applicationProfile prof:hasRole role:constraints .
?applicationProfile prof:isProfileOf ?baseSpecification .
@nichtich As I have said repeatedly to the folks developing the PROF vocabulary in DXWG, the key thing here is to define what you mean by "constraint" - and in a way that is concise enough and sensible enough that a first-time reader of your documentation "gets it."
The standard English meaning of "constraint" is "restrict" or "limit" and that is what it will mean to readers. To me the word does not naturally include the goals of documenting and defining that I would like to see included in this work we are doing at DC. Constraints, in the form of actionable validation rules, can be included, but would we not consider a list of terms with definitions and guidance documentation a profile?
(I'll comment on your example separately.)
As per:
?applicationProfile prof:hasRole role:constraints .
?applicationProfile prof:isProfileOf ?baseSpecification .
We were making similar comments at the same time! See my comment to Issue 7.
@kcoyle I mostly agree with your points but think it is reductive to see "actionable validation rules" solely in terms of constraints because it implies a notion of "constraint" that is unhelpfully broad. (Hm, is that ironic?)
I did some brainstorming and collected examples of what could be called constraints in context of metadata application profiles: https://github.com/nichtich/dcap/wiki/Example-Constraints
I am not sure this comment of mine should be in this issue or in issue #7 . @nichtich , thanks for the clarification about constraints. If you have an AP that includes an entire metadata schema (e.g., DC Terms) and only that metadata schema, without changes or added constraints to the properties, their domains and ranges, would you still call it an application profile? I mean would it fit in your definition of AP?
@nichtich Your list is very similar to the patterns document. Also, we can look at the specific capabilities of SHACL and ShEx. I'll leave it there because this needs to be a different issue.
@kcoyle Close?
Close for now. There is currently no direct relationship between TAP and the W3C work, although one could be developed in the future.
What's the relation of this working group to the W3C Profiles Vocabulary edited by the W3C Dataset Exchange Working Group (DXWG)?