Skip to content

Commit 2b1d5a4

Browse files
authored
Merge pull request #336 from materialdigital/281-adopt-good-practise-procedure-to-deprecate-and-obsolete-terms
281-adopt-good-practise-procedure-to-deprecate-and-obsolete-terms
2 parents 562ac50 + deb0291 commit 2b1d5a4

File tree

3 files changed

+65
-0
lines changed

3 files changed

+65
-0
lines changed

docs/obsolete ontology terms.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
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.

src/ontology/PMDco.yaml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
# place this file in the '..\conf\deprecation\' folder of your Protégé installation
3+
4+
name: Platform MaterialDigital core ontology (PMDco)
5+
6+
description: A profile for deprecation of OWL entities in the PMDco and derived Application Ontologies. Labels (rdfs:label), comments (rdfs:comment), term trackers (pmdco:PMD_0001032) and textual definitions (skos:definition) annotations are preserved and marked as being deprecated.
7+
8+
labelPrefix: OBSOLETE
9+
removeLogicalDefinition: true
10+
removeAnnotationAssertions: true
11+
preservedAnnotationAssertionPropertyIris:
12+
- rdfs:comment
13+
- skos:definition
14+
- https://w3id.org/pmd/co/PMD_0001032 # term tracker annotation
15+
annotationValuePrefix: OBSOLETE
16+
replacedByAnnotationPropertyIri: http://purl.obolibrary.org/obo/IAO_0100001 # replaced by
17+
alternateEntityAnnotationPropertyIri: http://www.geneontology.org/formats/oboInOwl#consider
18+
textualReasonAnnotationPropertyIri: rdfs:comment

src/ontology/imports/iao_terms.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,4 @@ http://purl.obolibrary.org/obo/IAO_0000233 # AnnotationProperty: term tracker it
6161
#http://purl.obolibrary.org/obo/IAO_0000601 # AnnotationProperty: has associated axiom(nl)
6262
#http://purl.obolibrary.org/obo/IAO_0000602 # AnnotationProperty: has associated axiom(fol)
6363
#http://purl.obolibrary.org/obo/IAO_0010000 # AnnotationProperty: has axiom label
64+
http://purl.obolibrary.org/obo/IAO_0100001 # AnnotationProperty: replaced by

0 commit comments

Comments
 (0)