|
| 1 | +# Tools and Resources |
| 2 | +<!--@Document_indicator: Text,links --> |
| 3 | + |
| 4 | +## Obsoleting and deprecating ontology terms |
| 5 | +Ontologies evolve, terms are revised, split into more detailed terms or deprecated. For proper reusablity of the ontology and traceability of the reason why it was deleted and what is a possible replacement term that should be used instead, the following steps should be adopted. |
| 6 | +*(These steps are largely based on the [GO](https://wiki.geneontology.org/index.php/Obsoleting_an_Existing_Ontology_Term) and [ODK](https://ontology-development-kit.readthedocs.io/en/latest/ObsoleteTerm.html) pages for term obsoletion but adjusted for the PMDco.)* |
| 7 | + |
| 8 | +## Check for the PMDco deprecation profile |
| 9 | +1. Navigate to your Protégé installation folder and further to '..\conf\deprecation\' |
| 10 | +2. Check whether the file 'PMDco.yaml' is present |
| 11 | + - if not, download it from [here](https://raw.githubusercontent.com/materialdigital/core-ontology/refs/heads/main/PMDco.yaml) and move it into the Protégé installation folder |
| 12 | + |
| 13 | +%% In the future this should be done without the need for users to manually copy files on their machines. The PMDco deprecation profile may be added to the official protege release or be moved into the respective folder when editing the core or application ontologies. For now this shoould suffice.%% |
| 14 | + |
| 15 | + |
| 16 | +## Check the usage of the term |
| 17 | +1. Check where in the ontology the term is used |
| 18 | + - In Protégé, navigate to the term you want to obsolete, go to the ‘Usage’ tab to see if that ID is used elsewhere. |
| 19 | + - If the term is a parent term or used in logical definitions, **create a substitute term** that replaces the obsolete term. |
| 20 | + - Is the obsolete term itself is the replacement or in consideration for other obsoleted terms, update these (with a substitute term) or delete them. |
| 21 | +2. Navigate to the term you want to obsolete agin |
| 22 | +3. Right-click on the term and select 'Deprecate...' **or** click the 'Edit'-Tab -> 'Deprecrate entity...' |
| 23 | +4. Choose the PMDco deprecation profile -> continue |
| 24 | +5. Give a reason for deprecation from the list below -> continue |
| 25 | +6. (If applicable) Search the substitute term you created earlier, else continue |
| 26 | +7. If no substitute term was defined, give one or more terms that can be used as an alternative when possible (if applicable) -> continue -> finish |
| 27 | + |
| 28 | +## Reasons for deprecation |
| 29 | + |
| 30 | +- original meaning has split and more specific terms were created |
| 31 | +- outside of the scope of the ontology |
| 32 | +- an equivalent term was adopted from a different ontology |
| 33 | +- term was moved to a different ontology |
| 34 | +- unnecessary grouping term |
| 35 | +- vague meaning or unclear definition |
| 36 | +- overly specific term |
| 37 | +- such an entity does not exist |
| 38 | +- added in error |
| 39 | +- not used |
| 40 | + |
| 41 | +## Reasons when no deprecation procedure is needed |
| 42 | +- terms created for testing purposes, confined to local machine (not pushed to github) |
| 43 | +- terms created in the development version (and pushed to github), that only saw limited use by the creators of the term, so that consensus between the contributors over deprecation can be easily reached/assumed |
| 44 | + |
| 45 | +> [!Attention] |
| 46 | +> Once a term is part of a release, the proper deprecation procedure **must** be followed. |
0 commit comments