SkosCoreGuideToc/SectionVersioning
Section: Versioning and Change Management
Discrete Scheme Versions
This section describes how discrete versioning of SKOS concept schemes may be represented in RDF, using properties from OWL and Dublin Core vocabularies.
It is recommended that you assign a URI to the base scheme and to each scheme version. For example:
Base scheme URI: http://my.example.org/thesaurus Scheme versions URIs: http://my.example.org/thesaurus/1.0 http://my.example.org/thesaurus/1.1 http://my.example.org/thesaurus/1.2 http://my.example.org/thesaurus/1.3
For all concepts you publish, declare that they are a part of the base scheme:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:skos="http://www.w3.org/2004/02/skos/core#"> <skos:Concept rdf:about="http://my.example.org/thesaurus/102#concept"> <skos:inScheme rdf:resource="http://my.example.org/thesaurus"/> </skos:Concept> </rdf:RDF>
Then, for each concept, you may additionally declare that they are a part of one or more of the scheme versions, for example:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:skos="http://www.w3.org/2004/02/skos/core#"> <skos:Concept rdf:about="http://my.example.org/thesaurus/102#concept"> <skos:inScheme rdf:resource="http://my.example.org/thesaurus/1.0"/> <skos:inScheme rdf:resource="http://my.example.org/thesaurus/1.1"/> <skos:inScheme rdf:resource="http://my.example.org/thesaurus/1.2"/> </skos:Concept> </rdf:RDF>
N.B. 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.
Scheme Version Metadata
Some properties from OWL and Dublin Core allow you to describe the relationships between versions of a scheme. For example:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/"> <skos:ConceptScheme rdf:about="http://my.example.org/thesaurus"> <dc:title xml:lang="en">My Example Thesaurus</dc:title> <dc:description xml:lang="en">An example thesaurus invented for the SKOS Core guide.</dc:description> <dcterms:hasVersion rdf:resource="http://my.example.org/thesaurus/1.0"/> <dcterms:hasVersion rdf:resource="http://my.example.org/thesaurus/1.1"/> <dcterms:hasVersion rdf:resource="http://my.example.org/thesaurus/1.2"/> <dcterms:hasVersion rdf:resource="http://my.example.org/thesaurus/1.3"/> </skos:ConceptScheme> <skos:ConceptScheme rdf:about="http://my.example.org/thesaurus/1.3"> <dc:title xml:lang="en">My Example Thesaurus Version 1.3</dc:title> <dc:description xml:lang="en">An example thesaurus invented for the SKOS Core guide.</dc:description> <dcterms:isVersionOf rdf:resource="http://my.example.org/thesaurus"/> <dcterms:issued>2004-10-05</dcterms:issued> <dcterms:modified>2004-10-08</dcterms:modified> <owl:priorVersion rdf:resource="http://my.example.org/thesaurus/1.2"/> <owl:priorVersion rdf:resource="http://my.example.org/thesaurus/1.1"/> <owl:priorVersion rdf:resource="http://my.example.org/thesaurus/1.0"/> <owl:versionInfo>13 new concepts, 6 concept changes from version 1.2</owl:versionInfo> </skos:ConceptScheme> </rdf:RDF>
Tracking Changes to Concepts
Some basic housekeeping of concepts can be done with Dublin Core properties, for example:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:dcterms="http://purl.org/dc/terms/"> <skos:Concept rdf:about="http://my.example.org/thesaurus/102#concept"> <dcterms:issued>2004-10-05</dcterms:issued> <dcterms:modified>2004-10-08</dcterms:modified> </skos:Concept> </rdf:RDF>
Changes to a concept can be recorded via history notes. A structured value history note captures the most information, for example:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:dcterms="http://purl.org/dc/terms/"> <skos:Concept rdf:about="http://my.example.org/thesaurus/102#concept"> <skos:historyNote rdf:parseType="Resource"> <rdf:value>The preferred label was changed from 'pink' to 'pink (colour)'.</rdf:value> <dc:date>2004-10-08</dc:date> <!-- Other properties of the note ... --> </skos:historyNote> </skos:Concept> </rdf:RDF>
See also the section [advnaced notes].
Concept Stability, Deprecation and Replacement
@@TODO concept is candidate, concept is deprecated.
@@TODO
The replacement of one concept by another can be represented using properties from Dublin Core, for example:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:dcterms="http://purl.org/dc/terms/"> <skos:Concept rdf:about="http://my.example.org/thesaurus/102#concept"> <dcterms:isReplacedBy rdf:resource="http://my.example.org/thesaurus/6077#concept"/> </skos:Concept> <skos:Concept rdf:about="http://my.example.org/thesaurus/6077#concept"> <dcterms:replaces rdf:resource="http://my.example.org/thesaurus/102#concept"/> </skos:Concept> </rdf:RDF>
@@TODO replacement with combinations ???
@@TODO