Skip to main content

Controlled Vocabulary Requirement: version

Published on: 17/04/2013 Discussion Archived

Controlled Vocabularies MUST specify its version.

Component

Documentation

Category

Controlled vocabulary

Comments

Makx DEKKERS
Makx DEKKERS Sat, 20/04/2013 - 11:12

An article that describes a way controlled vocabularies, skos:ConceptSchemes, can be versioned is at http://www.w3.org/wiki/SkosCoreGuideToc/SectionVersioning. I don't think that article is in any way normative but it gives a possible approach.

The proposal in the article is that versioning of concept schemes is done by assigning different URIs to different versions.

Please note the recommendation in the article: "We recommend that you do not change the URI for a concept with each scheme version. The more stable your concept URIs are, the more consistently they will be applied."

So it is proposed that concepts are not versioned, and that the link between a concept and the version(s) of the concept scheme is made by using skos:inScheme in the description of the concept.

In the specification of the Application Profile, we could include a statement in the usage note for dcat:themeTaxonomy that the URI should be the URI of the particular version of the scheme if the scheme has multiple versions.

In section 9, we should also refer to the exact version of vocabularies whenever that is relevant.

Would this do? 

 

 

Andrea PEREGO
Andrea PEREGO Sun, 21/04/2013 - 02:07

Another relevant source is ISO 19135, which is also used as reference data model in a UK project on Linked Data registry services (UKGovLD Registry).

Both the document cited by Makx [1] and ISO 19135 can be mentioned for best practices. However, in the scope of DCAT-AP , I see the versioning issue mainly related to the support of forward and backward compatibility of semantic annotations. Now, if terms from controlled vocabularies are identified by URIs, this issue basically concerns the governance of such URIs, i.e., a subset of the requirements set out in [1] and ISO 19135.

The point is that maintainers of controlled vocabularies may not be able to implement totally the approaches defined either in [1] or ISO 19135, and so we could highlight the more important features to be supported. And these can be the following ones:

  1. terms should be given persistent URIs;
  2. revised versions of an existing term must be given new URIs.

Point (1) above also means that, if a term is to be removed and/or replaced by other terms, it must be nonetheless kept in the vocabulary, and possibly marked accordingly (e.g., as "deprecated"). Moreover, we may also strongly recommend the use of dcterms:replaces and dcterms:isReplacedBy to link old and new terms.

In my understanding, linking terms to the corresponding vocabulary version(s) may have a lower level of priority, but probably I'm simply not aware of use cases demonstrating the opposite.

  1. http://www.w3.org/wiki/SkosCoreGuideToc/SectionVersioning
Makx DEKKERS
Makx DEKKERS Sun, 21/04/2013 - 10:16

I can include a link to ISO 19135 in section 8. I propose to add the two criteria you mention to the list of requirements, maybe together unde the heading that vocabularies must be properly managed and maintained with persistent URIs and assignement of a new URI when the meaning of a term changes.

But note that we are not formulating requirements for vocabularies in general, we're only defining them for the ones that we are going to recommend in the Application Profile, and for those I think we should indeed consider 'good governance'.

Anonymous (not verified) Tue, 30/04/2013 - 14:08

Please note that what is "versioned" is the description of properties (i.e., a set of RDF statements about a given property), rather than the properties themself. So the reference URI does not change.

Login or create an account to comment.