Hi all!
There are couple of classes (and/or relations) that most likely need to be
obsoleted (deprecated).
However, we never discussed the deprecation policy we are going to use for our
ontology.
We would need to make some decisions very soon.
Please carefully read the text below.
I propose for us to follow OBI's example of obsoleting the terms. (This is most
likely aligned with OBO recommendations too).
Following OBI deprecation policy, here is what we would need to do:
- Establish a separate .owl file to serve as dumping ground for all obsoleted
terms (e.g ONSTR_obsolete.owl)
- Within that file, create classes that will serve as superClasses for all the
obsoleted classes and relations. for example "ONSTR obsoleted class" and "ONSTR
obsoleted relation". Here I appended "ONSTR" to the class and relation
supeClasses' label, because OGMS also has a class called "ObsoleteClass", so
just to make the difference between these two.
- Import that file via owl:imports into ONSTR.owl, so that we can see which
classes/relations have been obsoleted.
- Whenever a class and/or relation needs to be obsoleted, move the code for
that class/relation from ONSTR.owl into ONSTR_obsolete.owl and put it under
"ONSTR obsolete class" or "ONSTR obsolete relation". This will have to be
followed by references update of course and special attention to be payed on
classes that have subClasses but need to be obsoleted etc.
- Add owl:deprecated annotation property, to make things easier on reasoners.
- Add rdfs:comment saying from where (what place in the hierarchy) we removed
the term, just in case we change our mind and want to un-obsolete it. You never
know.
- Add date of obsolence (in the rdfs:comment), maybe.
- Update the curration status for the given obsoleted class/relation
Related to the curration status, we would need to decide on obsolence reasons
too.
If we just say that "Curration status: obsolete", that may not be sufficient
enough, because after a while we may want to know why we obsoleted given
class/relation.
To capture this, but not to add any more annotation properties (because we
agreed that we would like to keep these minimal), we may have the following
obsolence reasons:
1. Curration status: obsolete-retired (this means, we just want to get rid of
the term)
2. Curration status: obsolete-replaced by "some ONSTRclass/relation name" (self
explanatory)
3. Curration status: obsolete-replaced by import "some imported term IRI
http://....." (self explanatory)
The above proposals for obsolence reasons annotation is kind of combination
between curration status and obsolence reason, but it seems ok, to me at least
(OBI has their own annotation properties (IAO metadata file) with separate
annotation properties for curation status and obsolence reason.
Please note, that there is *no* term deletion and *no* term number (i.e. local
part of the term IRI) altering. Once the ONSTR_number is assigned to a term, it
will stay as such until the end of the Semantic Web existence:-)
I would greatly appreciate if we could decide on this issue as soon as possible.
Thank you!
snez
Original issue reported on code.google.com by snez...@gmail.com on 11 Aug 2011 at 6:55
Original issue reported on code.google.com by
snez...@gmail.com
on 11 Aug 2011 at 6:55