snezsn7 / onstr

ONSTR: Ontology for Newborn Screening and Translational Research
0 stars 0 forks source link

Deprecation Policy #1

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
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