ISSUE 5.14 - Ontology versioning

Here are my initial thoughts on the issue:

We need various properties to handle elements of versioning with
ontologies.

My proposed solution consists of adding three new features to owl. These
are for indicating prior versions, backward copatibility and
deprecation.


Prior versions:
----------------
<url> priorVersion <url>.

The second URL is an earlier version of the first. This has no meaning
in the semantics, but could be used by software to organize ontologies
by versions. Due to XML namespaces the identifiers in the two ontologies
will be treated as distinct unless there are explicit statements of
equivalence.  Thus, the two ontologies can be merged without problems,
although there will be no "integration" unless specific mappings are
defined.


Backward compatibility:
------------------------
<url> backCompatWith <url>.

The first URL is a later version of the second, and is "semantically"
backward compatible with it. This is basically syntactic sugar with the
following effects:

Assuming A backCompatWith B, then:
* A priorVersion B.
* all classes in B are the sameClassAs a class in A with the same ID. 
* all properties in B are the samePropertyAs a  property in A with the
same ID. 
Note this depends on the resolution of the synonym issue (I prefer
sameAs for both classes and properties).

The sameAs statements essentially allow you to integrate data that
commit to different (backward-compatible) versions of the same ontology.

Note, that this approach does not address the problem described in
Section 3.2 of the Requirements Document (under RDF(S) Support). There,
we gave an example where we wanted to "fix" an incorrect definition of
Dolphin.  Note, given the approach here, we cannot make the new version
of the ontology backward-compatible with the old one because that would
say that the class of Dolphins is both a sublcass of Fish and Mammal. I
am still working on a clean way to solve this problem that meshes with
the model theories we are working towards. We may have to save this for
a "next version" of OWL.


Deprecation:
-------------
<url> deprecates <classId>
<url> deprecates <propertyId>

This allows an ontology to deprecate a class or property. By deprecating
the term, it means it still is sameAs a term with the same ID in the new
ontology, but that the term should not be used in new ontologies. This
allows an ontology to maintain backward-compatibility while phasing out
old vocabulary. Deprecation should only be used in ontologies that are
backward-compatible.

This has no effect on the semantics, but authoring tools should use it
in error checking OWL markup.

Note that deprecation allows you to break the transitivity of the
backCompatWith relation.

Jeff


References:
------------
- Dynamics Research Corporation. DRC VES (Versioning) Ontology. At:
http://orlando.drc.com/daml/Ontology/VES/3.2/drc-ves-ont.daml

- Heflin, J. Towards the Semantic Web: Knowledge Representation in a
Dynamic, Distributed Environment. Ph.D. Thesis, University of Maryland,
College Park. 2001. At:
http://www.cse.lehigh.edu/~heflin/pubs/#heflin-thesis (Sect. 3.4)

- Heflin, J. and Hendler, J. Dynamic Ontologies on the Web. In
Proceedings of the Seventeenth National Conference on Artificial
Intelligence (AAAI-2000). AAAI/MIT Press, Menlo Park, CA, 2000. pp.
443-449. At: http://www.cse.lehigh.edu/~heflin/pubs/#aaai2000

- Klein, M. and Fensel, D. Ontology Versioning on the Semantic Web. In
First International Semantic Web Working Symposium (SWWS'01), 2001. At:
http://www.semanticweb.org/SWWS/program/full/paper56.pdf

Received on Monday, 9 September 2002 18:06:35 UTC