Re: Versioning system for ontologies

Glad to see this issue s getting lots of "air time".

The whole issue of ontology versioning is very complex.  See this talk for
some of the issues:
Avoiding a Semantic Web Roadblock: URI Management and Ontology
Evolution<http://www.slideshare.net/UscholdM/uschold-michael-semanticwebroadblock>
Text versioning is really very rudimentary.
Diff is super helpful to see what is different, but that is as far as it
goes, it provides nothing by way of saving and tracking inked versions
(that is what VersionURIs are for).

The real complexity lies in a set of interdependent ontologies.  If
ontology A imports ontology B and there is any change at all in ontology B
that causes B to spawn a new version, then A must also be a new version,
becuase it includes all of B.  What causes a new version to be triggered
though?   You need a new "text" version if you so much as correct a typo.
 You might only need a new "logical" version if the new version allow for
different models, but there is no easy way to spot that.

We have been putting out different versions of our upper enterprise
ontolgoy, gist, and it all has to be done carefully and painfully manually.
 In our change notes we identify several different kinds of changes, and
put each change in one of the 'buckets. They are:

KEY for Change Log
V: Visio/Vsualization changes only, not affect the owl (callouts, layout,
grouping etc)**
CL: for clarity only, better comments, fixing typos, laying out
differently, etc.
AD: purely additive, will not affect anything already existing.
RF: refactoring, no semantic import. Includes changing names where old name
is deprecated, moving things around from one ontology to another, different
module and import strategies.
SU: has semantic import from usage perspective, e.g. a comment changes
usage which could give semantic errors.
SI: has semantic import from inference perspective. axiom added, removed,
changed etc.
BI: Backwards incompatible

A somewhat orthogonal category is whether a change is a bugfix which should
never have been there in the first place, vs. changes for any number of
other reasons.

I find the SU category most interesting.  Even just a comment can
significantly change the intended use of a class or property, even if it is
somethign that is not [easily] represented in OWL.  One needs to manually
examine each use of such concepts in to see if the ontology needs to change
in any way.
Taking a purely logical view, one would ignore such chagnes, since they
done affect models at all. But they do matter in practice.

Michael

** Our ontologies are authored in  Visio, which exports OWL.

This is intended as a guide for understanding the nature of changes, so
that if existing enterprise ontologies base on a prior version of gist wish
to 'upgrade' by importing the new version, they have a better idea what
they need to change in their enterprise ontology.



On Fri, Apr 19, 2013 at 1:23 PM, Obrst, Leo J. <lobrst@mitre.org> wrote:

>  We’ve looked at 3 tools that do ontology “semantic/logical” versioning,
> to some extent, which is harder than syntactic string-based methods like
> Subversion, etc.  “Semantic/logical” ontology versioning is much harder
> than code-change tools.****
>
> ** **
>
> Or, rather, 2 ontology Diff tools and one ontology versioning tool. The
> latter is the most ambitious and promising, but is still early on in its
> development, as far as we can tell.****
>
> ** **
>
> The first two are:****
>
> **1)      **OWL Diff (in Protégé 4.2):
> http://www.youtube.com/watch?v=JzMNDfy4jcg. ****
>
> **2)      **OWLDiff: http://krizik.felk.cvut.cz/km/owldiff/ ****
>
> **3)      **HypergraphDB:
> http://www.sharegov.org/#!../protegehgdb/owltools.html. ****
>
> ** **
>
> (1) just displays (readable only, capturable by screen snapshot)
> differences between 2 ontologies, and really needs an output format,
> perhaps to spreadsheet format.****
>
> (2) works primarily on the OWL 2 EL profile.****
>
> (3) is really close to what we need, but is still early in its development
> and requires ontology development for versioning using the tool from the
> get-go. Which is not realistic. ****
>
> ** **
>
> We are going initially with (1), which strictly satisfies our need for
> Diff-ing ontologies, but we think we need to either modify the potential
> output formats or strongly suggest to the Protégé development team that
> they make better output formats available.****
>
> ** **
>
> Thanks,****
>
> Leo****
>
> ** **
>
> *From:* asaegyn@gmail.com [mailto:asaegyn@gmail.com] *On Behalf Of *Ali SH
> *Sent:* Friday, April 19, 2013 12:39 PM
> *To:* Stephen D. Williams
> *Cc:* Prateek; semantic-web@w3.org
> *Subject:* Re: Versioning system for ontologies****
>
> ** **
>
> I'm also very interested in hearing answers to this.****
>
> ** **
>
> As Stephen mentions, treating an ontology analogously to source code
> (which is close enough) means that you can use services such as github (or
> google code). The downside is that an ontology lifecycle management is *
> not* equivalent to source code management. Barring a native solution for
> ontologies, they do come quite close.****
>
> ** **
>
> You might also be interested in following the development of the Open
> Ontology Repository [1] ****
>
> (a fork of the BioPortal platform), which among other things will be
> addressing this issue as well.****
>
> ** **
>
> [1] http://ontolog.cim3.net/cgi-bin/wiki.pl?OpenOntologyRepository****
>
> On Fri, Apr 19, 2013 at 11:57 AM, Stephen D. Williams <sdw@lig.net> wrote:
> ****
>
> Do you want to version it like source code?  Everyone has, is, or will
> move to Git for that.
> Or maintain the history of changes for reasoning and/or historical
> queries?  This is probably more needed for actual statements, but could
> make sense here too: "Answer this query based on the ontology at time X."
>
> Stephen****
>
>
>
> On 4/19/13 7:05 AM, Prateek wrote:****
>
>  Hello all,****
>
> ** **
>
> I am trying to identify a system which will provide versioning and
> revision control capabilities specifically for ontologies. Does anyone have
> any experience and idea about which systems can help out or if systems like
> SVN, CVS can do the job?****
>
> ** **
>
> Regards****
>
> ** **
>
> Prateek****
>
> ** **
>
> -- ****
>
> - - - - - - - - - - - - - - - - - - -
> Prateek Jain, Ph. D.
> RSM
> IBM T.J. Watson Research Center
> 1101 Kitchawan Road, 37-244
> Yorktown Heights, NY 10598
> Linkedin: http://www.linkedin.com/in/prateekj****
>
> ** **
>
> -- ****
>
> Stephen D. Williams sdw@lig.net stephendwilliams@gmail.com LinkedIn: http://sdw.st/in****
>
> V:650-450-UNIX (8649) V:866.SDW.UNIX V:703.371.9362 F:703.995.0407****
>
> AIM:sdw Skype:StephenDWilliams Yahoo:sdwlignet Resume: http://sdw.st/gres****
>
> Personal: http://sdw.st facebook.com/sdwlig twitter.com/scienteer****
>
>
>
> ****
>
> ** **
>
> --
>
>
> (•`'·.¸(`'·.¸(•)¸.·'´)¸.·'´•) .,., ****
>



-- 

Michael Uschold
   Senior Ontology Consultant, Semantic Arts
   http://www.semanticarts.com
   LinkedIn: http://tr.im/limfu
   Skype, Twitter: UscholdM

Received on Saturday, 20 April 2013 06:38:19 UTC