To make things simple, let us assume that a metadata specification consists of:
- A list of metadata elements and their value spaces, some of these elements being mandatory, others optional (e.g., element ‘country’ is mandatory, element ‘state’ is optional);
- A list of controlled vocabularies used as value spaces for part (if not all) of the metadata elements (e.g., ISO 3166-1: 2-letter country codes are used as value space of element country); and
- A list of constraints on these elements and/or their possible values (e.g., if element ‘country’ = “US”, element ‘state’ must be present).
Profiling such a specification without breaking interoperability means that all valid instances of a profile must also be valid instances of the specification from which it is derived.
In practice, this means that an interoperable profile can:
- Make optional elements mandatory but not make mandatory element optional and not add new elements;
- Remove terms from a controlled vocabulary but not add terms to it;
- Add extra constraints but not relaxing existing constraints.
Following these rules ensures that interoperability with the original specification (and all the tools that support it) is preserved. On the other hand, this is rather restrictive and might be insufficient for covering community-specific requirements that, for example, might require adding metadata elements (possibly from other specifications).
To address this, we have developed a facet-based approach as a solution. The idea is to break our metadata profile into a collection of facets. Each facet models a specific aspect of the item being described using the metadata specification that is the most appropriate for describing this aspect. This metadata specification is either used as-is or profiled according to the interoperability rules introduced above. Profile elements not covered by the specification are expressed in other facets using other relevant specifications.
Note that, if metadata elements required by a profile are not covered by any existing specification, they can be added as an extra facet limited to the very specific domain being modeled.
For example, in the Learning Resource Exchange (LRE), a catalog of Open Educational Resources (OERs), we have encountered the requirements to describe accessibility features of resources intended to be used in special education contexts.
This problem was solved by describing the pedagogical aspects of OERs with a “main” facet using the IEEE LOM specification while describing the accessibility aspects of these OERs with an “accessibility” facet using the IMS Access for All specification.
As the LRE only uses interoperable profiles isolated in distinct facets, an application that requires only metadata on the pedagogical aspects of OERs can go to the relevant facet while ignoring the accessibility aspects in the accessibility facet. This would not have been the case with a traditional profile that would have mixed the two specifications in a way that would not have allowed applications to distinguish between them (requiring that the applications be rewritten to use the new profile).
We will explore ways to implement this facetted approach in a future post.