How to set up URIs for a classification that has new editions

111 views Asked by At

I have a classification that at regular times has a new edition. Concepts are added, the structure may change, or properties like classification codes may change, but most concepts stay and should have stable uri's. I want to know what is the best way of uri construction to deal with these issues.

My setup tries to conform to the rule that good base uri's and concept uri's don't contain version or datetime information. The concepts themselves can always be referred to by the same identifier, unless there is a change in meaning. Then a new concept has to be created. There can be new concepts or changes to the properties of an existing concept. This is how I set it up.

concept uri's: <http://example.org/myschema/concept/1>
schema uri: <http://example.org/myschema/2018>
schema uri next version: <http://example.org/myschema/2020>

@base <http://example.org/myschema/> .
@prefix dcterms <http://purl.org/dc/terms/>  .
@prefix skos <http://www.w3.org/2004/02/skos/core> .

Example of a concept:

<http://example.org/myschema/concept/1> a skos: concept ;
skos:inScheme <http://example.org/myschema/2018>;
skos:prefLabel "nameless dog";
skos:notation "AB251".

In the next version the classfication code has changed:

<http://example.org/myschema/concept/1> a skos: concept ;
skos:inScheme <http://example.org/myschema/2020>;
skos:prefLabel "nameless dog";
skos:notation "AB254";
skos:changeNote "the classification code has changed from AB251 in 2018 to AB254 in 2020 due to addition of new concepts";
dcterms:modified 2020-08-19.

I want to know what happens when someone has referenced http://example.org/myschema/concept/1 with the prefLabel and the uri, possibly even with the classification code from 2018, when in 2020 there is a new version live. The 2018 version is also still live. Maybe this should depend upon my server setup, so that I always return the latest version when none is specified. I would like to keep giving access to the older classification version, but not create confusion.

0

There are 0 answers