- From: Thomas Baker <tom@tombaker.org>
- Date: Tue, 14 May 2019 12:41:20 +0200
- To: public-dxwg-comments <public-dxwg-comments@w3.org>
The working draft "Content Negotation by Profile" of 30 April [1], Introduction, second paragraph, reads: When online information about a resource adheres to one or more profiles, methods described here allow clients to list those profiles and request content according to one or more of them in order of preference. For example, information about an online book might adhere to the Dublin Core Terms [DCTERMS] metadata specification with each field, such as title, description, author etc., being defined and formatted according to various Dublin Core elements (dct:title, dct:description & dct:creator, respectively). Then, a request for the information about this book may ask for the list of profiles according to which the metadata is available, or it may ask specifically for a response adhering to the Dublin Core Terms. When no profile or an unsupported profile is requested, a server returns default content, that is, content conforming to the default profile supported by the server. ...where "profile" is defined as: A named set of constraints on one or more identified base specifications, including the identification of any implementing subclasses of datatypes, semantic interpretations, vocabularies, options and parameters of those base specifications necessary to accomplish a particular function. This definition includes what are often called "application profiles", "metadata application profiles", or "metadata profiles". The CONNEG draft characterizes DCMI Metadata Terms (DCMIMT) as a profile, where the definition of "profile" distinguishes between profiles and base specifications on which profiles are based. DCMI itself defines DCMIMT as a vocabulary, aka namespace. Ever since 1999, the Dublin Core community has talked about how such vocabularies (namespaces) are "used" in "application profiles" [2]. Application profiles use vocabularies; a vocabulary is not itself considered to be an application profile. Anyone familiar to this model would likely be confused by seeing DCMIMT referred to as a profile. > For example, information about an online > book might adhere to the Dublin Core Terms [DCTERMS] > metadata specification with each field, such as > title, description, author etc., being defined and > formatted according to various Dublin Core elements > (dct:title, dct:description & dct:creator, > respectively). DCMIMT, as a vocabulary specification, presents itself as a dictionary of terms available to be drawn on and used in a profile, not as a set of terms that must be used _in its entirety_ in a metadata record or format. Nothing in the DCMIMT specification says that "each field" in the "information about an online book" (i.e., its metadata) needs to be "formatted" according to the vocabulary. In the Dublin Core context, an application profile typically uses just a selection terms from DCMIMT, typically in combination with selected terms from other namespaces, such as FOAF. One obvious example of an application profile in the Dublin Core sense is DCAT, which uses terms from nineteen namespaces. In Dublin Core terminology, those namespaces -- OWL, RDFS, PROV, etc -- would not themselves be called "profiles" or "application profiles". In CONNEG terms, DCMIMT and the other namespaces are DCAT's "base specifications". Accordingly, it would be unusual to say that some metadata "adheres" to a vocabulary (such as DCMIMT), though one might reasonably say that some metadata "adheres" to an application profile. I see two possible solutions. The first: * Avoid referring to base specifications such as DCMIMT (and other namespace vocabularies) as profiles. * Use DCAT as the flagship example of a profile, perhaps pointing out that it uses terms from nineteen namespaces (its "base specifications"). * Provide a definition for "constraint" -- a central concept here inasmuch as "profiles" are defined as "sets of constraints". * Reword the definition of "profile" to acknowledge that a profile, such as DCAT, may include more than _just_ a set of constraints. The second solution, which I strongly prefer: * Define "profile" in terms general enough to encompass the use of a namespace URI for the content negotation process described in this spec, e.g., where the value of the Accept-Profile header might be http://purl.org/dc/terms/. * Drop the notion of "base specification" from the definition of "profile". In the entire CONNEG draft, it mentioned _only_ in the context of defining "profile", so dropping it would require no further changes. * A definition might be as simple as: "Any document or schema that formally or informally describes the content of structured data". I see no obvious requirement, in this spec, for a definition that is any more precise or specific. * The spec could simply say that content negotiation would "typically" use the URIs of application profiles, in a broad sense that includes Dublin Core Application Profiles, ShEx schemas, SHACL graphs, XML formats... This would not disallow the use of URIs of things that are not commonly considered profiles, such as namespace documents. A few additional points of detail: * References to DCMIMT should refer to it by its title, "DCMI Metadata Terms", not as "Dublin Core Terms". * An HTTP request does not return a "list of profiles" (see above), but a list of URIs (or mappable tokens). This point could be made more precisely. * The concept of "adherence", which appears to be quite central to the specification, should be defined or explained. * Section 4 (Motivation) goes straight into technical details but should, instead, articulate an overall motivation for this work. Tom Baker, Chair, DCMI Usage Board [1] https://www.w3.org/TR/2019/WD-dx-prof-conneg-20190430/ [2] http://www.ariadne.ac.uk/issue25/app-profiles Disclaimer: While members of the DCMI Usage Board provided helpful feedback on a draft of these comments, the text was not put to a formal vote so the comments should be considered mine. -- Tom Baker <tom@tombaker.org>
Received on Tuesday, 14 May 2019 10:41:47 UTC