Change Management for RDFS/OWL Ontologies
Part 2. Metadata

--- $Id: part2.html,v 1.2 2005/11/28 16:50:34 ajm65 Exp $ ---

Abstract

This document is a guide to creating metadata in support of change management for RDFS/OWL ontologies.

Introduction

@@TODO

Metadata for Ontologies and Ontology Versions

Where URIs have been allocated to the ontology, and also to each ontology version, the properties dcterms:isVersionOf and dcterms:hasVersion may be used to assert relationships between these resources. E.g. ...

<http://www.example.com/wine-ontology> a owl:Ontology;
  dcterms:hasVersion <http://www.example.com/wine-ontology-2005-10-04>;
  dcterms:hasVersion <http://www.example.com/wine-ontology-2005-11-26>.
<http://www.example.com/wine-ontology-2005-10-04>
  dcterms:isVersionOf <http://www.example.com/wine-ontology>.

<http://www.example.com/wine-ontology-2005-11-26>
  dcterms:isVersionOf <http://www.example.com/wine-ontology>.

Note that in this example dates have been used to create ontology version URIs, but this is merely a convention. To state dates of modification and issue, use the properties dcterms:modified and dcterms:issued e.g. ...

<http://www.example.com/wine-ontology> dcterms:modified '2005-11-26'^^xsd:date.

<http://www.example.com/wine-ontology-2005-10-04> dcterms:issued '2005-10-04'^^xsd:date.

<http://www.example.com/wine-ontology-2005-11-26> dcterms:issued '2005-11-26'^^xsd:date.

Open Issues

Is an ontology version also an ontology? I.e. is the class of ontology versions a sub-class of the owl:Ontology class?

If so, then the versioning constructs from OWL can be used to make additional assertions about ontology versions, e.g. ...

<http://www.example.com/wine-ontology-2005-11-26>
  owl:priorVersion <http://www.example.com/wine-ontology-2005-10-04>;
  owl:backwardsCompatibleWith <http://www.example.com/wine-ontology-2005-10-04>. 

If not, then they can't, because the domain and range of these properties is the owl:Ontology class.

Should we define a class OntologyVersion somewhere?

Where and how should owl:versionInfo be used?

Do we need to define a property currentVersion somewhere?

Deprecating Classes and Properties

The classes owl:DeprecatedClass and owl:DeprecatedProperty can be used to state that a class or property is deprecated, and should no longer be used. E.g. ...

skos:TopConcept a owl:DeprecatedClass.
skos:publicNote a owl:DeprecatedProperty.
skos:privateNote a owl:DeprecatedProperty.

Where a class or property is deprecated, and has been replaced in usage by some other class or property or combination of classes/properties, this may be stated using the dcterms:replaces and dcterms:isReplacedBy properties, e.g. ...

skos:TopConcept a owl:DeprecatedClass;
  dcterms:isReplacedBy skos:hasTopConcept.

skos:hasTopConcept a rdf:Property;
  dcterms:replaces skos:TopConcept.

skos:publicNote a owl:DeprecatedProperty;
  dcterms:isReplacedBy skos:note.

skos:privateNote a owl:DeprecatedProperty;
  dcterms:isReplacedBy skos:note.

skos:note a rdf:Property;
  dcterms:replaces skos:publicNote, skos:privateNote.

N.B. the use of dcterms:replaces and dcterms:isReplacedBy should not be taken to indicate a consistent (and therefore deterministic) replacement in all usage. They are no more than a guide to users of the ontology.


---

$Log: part2.html,v $
Revision 1.2  2005/11/28 16:50:34  ajm65
fix stylesheet link

Revision 1.1  2005/11/28 16:48:37  ajm65
*** empty log message ***


---