The concept of profiles has been integral to the application of generic metadata vocabularies such as DCAT and Dublin Core. The concept applies also to the finer grained semantic aspects of data exchange; access methods and data distributions themselves may conform to one or more profiles of more general standards. Content-negotiation by profile is a requirement being separately addressed, but will not specify how profiles themselves are best described.
A working definition of a "profile" has been adopted by the Data Exchange WG to allow the concept to be commonly understood and is:
"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."
Profiles themselves may be expressed via guidance documents, or machine readable constraints, or combinations thereof.
Hence there is a need to model profile conformance, and to express the intrinsic hierarchies generated when profiles are further profiled for specific uses. No obvious vocabulary for this function has been identified. PROF (PROFile Descriptions) is a lightweight ontology to describe how profiles relate to each other, and to resources that describe the profile in more detail. A `prof:Profile` is a subclass of dct:Standard and hence allows use of dct:conformsTo. This is designed to meet the requirements for DCAT, both to describe DCAT profiles and to allow DCAT to declare profile conformance of data distributions, but also describes a more general and widely used concept of profiles.
- Profiles specialize dct:Standard
- adds properties to support multiple inheritance patterns found in profiles
- provides a canonical means to link to, and annotate, implementation specifications for a given profile
- does NOT attempt to create a profile specification (constraint) language
- source and examples at https://github.com/w3c/dxwg/tree/profiledesc/profiledesc
- HTML at interim HTML