Skip to content

Commit 811787b

Browse files
authored
Update fp-019-term-stability.md
1 parent d314795 commit 811787b

1 file changed

Lines changed: 16 additions & 11 deletions

File tree

principles/fp-019-term-stability.md

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,17 @@ GO TO: [Recommendations/Requirements](#recommendations-and-requirements) |
99
Summary
1010
-------
1111

12-
The definition of a term MUST always denote the same thing(s)--known as "referent(s)"--in reality. If a proposed change to the definition would change its referents, then a new term with new IRI and definition MUST instead be created.
12+
The definition of a term MUST always denote the same thing(s)--known as "referent(s)"--in reality. If a proposed change to the definition would substantially change its referents, then a new term with new IRI and definition MUST instead be created.
1313

1414
Purpose
1515
-------
1616

17-
Users of an ontology depend on the stability of its terms and their meanings. Therefore, changes to the definition of a term should never shift its meaning. Put another way, its set of referents MUST remain stable. That is, changes to a term definition should not cause that term to point to different entities than it denotes already.
17+
Users of an ontology depend on the stability of its terms and their meanings. Therefore, changes to the definition of a term should never substantially shift its meaning. Put another way, its set of referents MUST remain stable, within reason. That is, changes to a term definition should not cause that term to point to different entities than it denotes already.
1818

1919
Recommendations and Requirements
2020
-------
2121

22-
If changing a term definition would change its referent, then instead a new term MUST be created with a new IRI and the new definition. Minor changes to the definition for clarity, grammar, and/or proper punctuation that do not change the referent are permitted.
22+
If changing a term definition would change its referents, then instead a new term MUST be created with a new IRI and the new definition. Minor changes to the definition for clarity, grammar, and/or proper punctuation that do not change the referents are permitted. What is considered a 'minor change' will likely need to be considered on a case-by-case basis; it is left to the ontology developers to decide. However, any feedback from users MUST be taken into account.
2323

2424
Conditions under which a term must be deprecated according to this principle, or for which term deprecation should be considered, include:
2525

@@ -35,17 +35,18 @@ Detailed procedures for obsoleting a term are described on the OBO Academy page
3535

3636
<i><b>To obsolete a term, the ontology developer</b></i> MUST:
3737
1) Mark the term as obsolete
38-
- OWL format: Add an "owl:deprecated" annotation with value of "true^xsd:boolean"
39-
- OBO format: Add an "is_obsolete: true" declaration
40-
1) Prepend the string "obsolete " (including the space) to the term label
41-
1) Remove existing logical axioms from the term
42-
1) Remove or replace all usages of the term elsewhere in the ontology
38+
- OWL format: Add an "owl:deprecated" annotation property with value of "true^xsd:boolean"
39+
- OBO format: Add an "is_obsolete: true" tag
40+
2) Prepend the string "obsolete " (including the space) to the term label
41+
- NOTE: To be consistent with [Principle 12](https://obofoundry.org/principles/fp-012-naming-conventions.html) "Naming Conventions", the syntax/format MUST be precisely as given above. Thus, the following are disallowed: "Obsolete {label}", "obsolete_{label}", "OBSOLETE {label}" (and variations thereof).
42+
3) Remove all existing logical axioms from the term
43+
4) Remove or replace all usages of the term elsewhere in the ontology
4344

4445
<i><b>To obsolete a term, the ontology developer</b></i> SHOULD:
4546
1) Indicate any exact term replacement:
4647
- OWL: Use the "term replaced by" annotation property from OMO ([IAO:0100001](http://purl.obolibrary.org/obo/IAO_0100001)) with the value set to the IRI of the relevant term
4748
- OBO: Use the "replaced_by:" tag with the value set to the CURIE of the relevant term
48-
1) Indicate any inexact term replacements:
49+
2) Indicate any inexact term replacements:
4950
- OWL: Use the "oboInOwl:consider" annotation property with the value set either to the full IRI(s) or to the CURIE(s) of the relevant term(s)
5051
```
5152
IRI method: <oboInOwl:consider rdf:resource="http://purl.obolibrary.org/obo/OBI_0001544)>
@@ -56,8 +57,8 @@ Detailed procedures for obsoleting a term are described on the OBO Academy page
5657

5758
<i><b>To obsolete a term, the ontology developer</b></i> MAY:
5859

59-
1) Prepend the string "OBSOLETE. " (including the space) to the term definition
60-
1) Indicate the reason(s) for obsoleting:
60+
1) Prepend the string "OBSOLETE. " (this precise string, including the space) to the term definition. NOTE: This MUST be implemented consistently. That is, if applied at all, it has to be applied to every obsoleted term definition.
61+
2) Indicate the reason(s) for obsoleting:
6162
- OWL: Use the "has obsolescence reason" annotation property from OMO ([IAO:0000231](http://purl.obolibrary.org/obo/IAO_0000231])) with the value set to the IRI of one of the individuals of the "obsolescence reason specification" term [IAO:0000225](http://purl.obolibrary.org/obo/IAO_0000225)
6263
- OBO: ??
6364

@@ -97,6 +98,10 @@ Criteria for review
9798
-------
9899

99100
TBD
101+
to capture:
102+
- ROBOT will give an ERROR if any obsolete term (that is, a term with an "owl:deprecated" property or "is_obsolete: true" tag) does not also have 'obsolete ' prepended to the label.
103+
- If there is at least one term with 'OBSOLETE.' prepended to the definition, ROBOT will WARN if not all obsolete terms are treated consistently.
104+
-OTHERS?
100105

101106
Feedback and Discussion
102107
-------

0 commit comments

Comments
 (0)