dcmi / dcap

DC Tabular Application Profile - supporting materials
28 stars 12 forks source link

Relation to W3C Profiles Vocabulary #9

Closed nichtich closed 3 years ago

nichtich commented 5 years ago

What's the relation of this working group to the W3C Profiles Vocabulary edited by the W3C Dataset Exchange Working Group (DXWG)?

kcoyle commented 5 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.

tombaker commented 5 years ago

@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.

nichtich commented 5 years ago

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 .
kcoyle commented 5 years ago

@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.)

kcoyle commented 5 years ago

As per:

   ?applicationProfile prof:hasRole role:constraints .
    ?applicationProfile prof:isProfileOf ?baseSpecification . 
  1. Any document can have more than one role so a DCAP could have role:constraints and role:documentation and role:validation (or even others)
  2. I am hoping that the use of prof:baseSpecification is limited to situations such as the one that motivated this vocabulary, which is that there is a set of profiles that are all based on the DCAT-AP, such as DCAT-AP-IT, DCAT-AP-DE. A similar situation may be found in the BIBFRAME profiles, which are all based on and limited to BIBFRAME vocabulary terms. Many profiles, however, are not directly derived from a primary base specification and therefore would not use "profile of". If using terms that are identified with IRIs, the terms themselves define the vocabularies they are derived from.
tombaker commented 5 years ago

We were making similar comments at the same time! See my comment to Issue 7.

tombaker commented 5 years ago

@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?)

nichtich commented 5 years ago

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

analice1pt commented 5 years ago

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?

kcoyle commented 5 years ago

@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.

tombaker commented 3 years ago

@kcoyle Close?

kcoyle commented 3 years ago

Close for now. There is currently no direct relationship between TAP and the W3C work, although one could be developed in the future.