You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: principles/fp-019-term-stability.md
+16-11Lines changed: 16 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,17 +9,17 @@ GO TO: [Recommendations/Requirements](#recommendations-and-requirements) |
9
9
Summary
10
10
-------
11
11
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.
13
13
14
14
Purpose
15
15
-------
16
16
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.
18
18
19
19
Recommendations and Requirements
20
20
-------
21
21
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.
23
23
24
24
Conditions under which a term must be deprecated according to this principle, or for which term deprecation should be considered, include:
25
25
@@ -35,17 +35,18 @@ Detailed procedures for obsoleting a term are described on the OBO Academy page
35
35
36
36
<i><b>To obsolete a term, the ontology developer</b></i> MUST:
37
37
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
43
44
44
45
<i><b>To obsolete a term, the ontology developer</b></i> SHOULD:
45
46
1) Indicate any exact term replacement:
46
47
- 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
47
48
- 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:
49
50
- 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)
50
51
```
51
52
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
56
57
57
58
<i><b>To obsolete a term, the ontology developer</b></i> MAY:
58
59
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:
61
62
- 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)
62
63
- OBO: ??
63
64
@@ -97,6 +98,10 @@ Criteria for review
97
98
-------
98
99
99
100
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.
0 commit comments