- From: William Bug <William.Bug@drexelmed.edu>
- Date: Mon, 20 Aug 2007 18:18:13 -0400
- To: Matthew Pocock <matthew.pocock@ncl.ac.uk>
- Cc: "Ibach, Brandon L" <brandon.l.ibach@lmco.com>, public-owl-dev@w3.org
- Message-Id: <E0B14EF2-5835-45B2-923D-23DCF44772E2@drexelmed.edu>
Absolument, Matthew! My brain hurts as well. The URI "contract" issue is a major one that the biomedical ontology development community has yet to weigh in on. Right now, some projects tend to approach it whatever way they believe balances "good community behavior" against cost incurred by them. Other projects don't appear to have given as much thought to the issue. As to breaking satisfiability, clearly the current owl:DeprecatedClass axiom is designed to help avoid such breakage - though it relies on "consumers" of an ontology paying head to the warning and making an effort to invest in reviewing how loss of the soon to be lost set of axioms will impact their use of those axioms - and how they might proceed to migrate themselves forward. Hopefully the curating authority for the ontology including the DeprecatedClass has invested in providing some means for guiding users on this issue. Obviously this topic of ontology maintenance/evolution has been a major topic of study. Several of the tools out there - OWL or otherwise - have invested a bit in supporting this process. SWOOP has some support with a promise for more to come (keeping pace with the pending changes to OWL which should also help). KAON also has quite a bit to help with this task, though that functionality doesn't appear to me to be ready for use with OWL ontologies. There are many smaller research efforts that provide tools and strategies. My question is: What would be the best way to approach this pressing issue in a manner most likely to be commensurate with the way the variety of biomedical OWL ontologies are also handling this issue? I can't really fix on a clear answer to this question. The Kluge we are using for our BIRNLex OWL file (which is related to what is being done on the OBI project) is to follow the GO lead - e.g.: - re-assign the "deprecated" class to be of type _deprecated_class - remove the axioms, so they won't impact reasoning - use a set of AnnotationProperties to track some of these former axioms (e.g., former parent class, former child classes, etc.) - along with "deprecatied_date" so that the history can be tracked to some extent - cross your fingers, hope for the best, and take lots of prophylactic ibuprofen The other issue is as these "deprecated/retired" classes accumulate in your OWL file, they can begin to detrimentally effect processing of the OWL file, so it probably makes sense to move them to a separate OWL file, providing that file as needed to consumers of your ontology. I'm starting to get a headache right now. Better stop thinking about this issue. Cheers, Bill On Aug 20, 2007, at 5:55 PM, Matthew Pocock wrote: > Perhaps in future, we will need to produce syntax/semantics for > managing > change in ontologies? It's a shame that we have to remove the old > (possibly > broken) axioms when the new ones come along and especially a shame > that we > have to do URI hackery, which in some senses breaks the contract > between the > concept and the URI (assuming the new definition more correctly > identifies > the instances of a concept). > > Some combination of URI versioning, and reasoner support so that > 'past' axioms > don't trigger a full unsatisfiable ontology condition? Now my brain > hurts. > > C'est la vie. > > Matthew > > On Monday 20 August 2007, William Bug wrote: >> Thanks, Brandon. >> >> Yes - that makes the most sense, and as you say, is commensurate with >> the use of deprecation - as in Java - thus leaving it to an >> application to decide how to present this info to a user. For >> instance, Protege adds a dark red "D" superscript to deprecated >> classes - just as information to the user. This software development >> analogy is made in the OWL specs as well. >> >> Now I more fully understand why the biomedical ontology community >> associated with the OBO Foundry and Gene Ontology are not using >> owl:DeprecatedClass. They have the requirement of "retiring"/ >> deprecating a class when it was necessary to make changes that alter >> the semantic entailments of the class or its associated axioms. The >> recommended practice is to clone the old class - giving it a new >> unique rdf:ID. The older class is re-typed to a generic >> "_deprecated_class" and all its axioms are removed, so it will be >> opaque to reasoners - apart from the class axiom typing it as a >> "_deprecated_class". The newly made clone then is used to make the >> changes that alter the underlying entailments associated with that >> class. >> >> I was just trying to better understand how owl:DeprecatedClass >> relates to this practice. The answer appears to be - it doesn't. >> >> Thanks again. >> >> Cheers, >> Bill Bill Bug Senior Research Analyst/Ontological Engineer Laboratory for Bioimaging & Anatomical Informatics www.neuroterrain.org Department of Neurobiology & Anatomy Drexel University College of Medicine 2900 Queen Lane Philadelphia, PA 19129 215 991 8430 (ph) 610 457 0443 (mobile) 215 843 9367 (fax) Please Note: I now have a new email - William.Bug@DrexelMed.edu
Received on Monday, 20 August 2007 22:18:26 UTC