-
Notifications
You must be signed in to change notification settings - Fork 206
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DRAFT: New Principle 19 - for OBO Operations Review #2668
base: master
Are you sure you want to change the base?
Conversation
- OBO format: Add an "is_obsolete: true" tag | ||
2) Prepend the string "obsolete " (including the space) to the term label | ||
- 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 (that is, the exact string as shown, lowercase and space included, with no other punctuation before or after). Thus, the following are disallowed: "Obsolete {label}", "obsolete_{label}", "OBSOLETE {label}" (and variations thereof). | ||
3) Remove all existing logical axioms from the term |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be: all logical axioms referencing the term (including logical axioms about the term).
Can also add an example:
For example, if an ontology has A part-of B, B part-of C, and if B is obsoleted, then there should be no part-of edges incoming or outgoing from B. Edge axioms should be rewired, e.g. making A part-of C.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is your suggestion different from the one below, in (4)? Is the lack of the word 'logical' in point (4) the problem?
OWL: | ||
``` | ||
<owl:Class rdf:about="http://purl.obolibrary.org/obo/OBI_0001574"> | ||
<obo:IAO_0000111>obsolete cell lysate MHC competitive binding assay using radioactivity detection</obo:IAO_0000111> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There should be guidance specific to "editor preferred term". None of the ontologies I work on use this, it seems that it is often redundant? I would just remove it altogether it's not clear why an obsolete concept would need both this and a label, but as I say I don't use it...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point. Will discuss with those who do use that field.
is_obsolete: true | ||
replaced_by: OBI:0001544 | ||
``` | ||
For OBO format, there are multiple alternatives: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this has anything directly to do with OBO format. GO, Uberon, CL, all phenotype ontologies all use the same simple data model e.g. making use of comments because this is what browsers show more prominently, because it's simpler and more consistent. Nothing to do with format. OBO Format can represent annotation assertions at exactly the same level of expressivity as OWL
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These alternatives are listed for OBO format because they are used 'in the field' so to speak. That is, unlike ontologies in OWL format--which all seem to use the same deprecation methods--OBO formatted ontologies have been using different means. I've confirmed that either way is fine, so we say all this to acknowledge these alternatives.
principles/fp-019-term-stability.md
Outdated
[Typedef] | ||
id: has_obsolescence_reason | ||
name: has obsolescence reason | ||
xref: IAO:0000233 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
wrong ID
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oops, thanks! Fixed.
principles/fp-019-term-stability.md
Outdated
The OBO Dashboard will show: | ||
- 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 ' (that exact string, lowercase and space included, with no other punctuation) prepended to the label | ||
- An ERROR if any obsolete term (as indicated by term label or definition) lacks an "owl:deprecated" property or "is_obsolete: true" tag | ||
- An ERROR if an obsolete term has any associated logical axioms (including any subClassOf/is_a declarations) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is "associated with" the same as "referencing"?
(best to use precise terms, we generally follow the owlapi vocabulary e.g "about" "referencing")
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, that's half the intent. Revising.
|
||
The PRO term "phosphoprotein" (PR:000037070) is defined as "A protein that includes at least one phosphorylated residue." A study finds 2000 more examples than was previously known. In this case, no new term needs to be made (nor the original deleted) because (1) the term definition did not change; and (2) the referent--proteins with a phophoresidue--did not change (that is, the newly-discovered phosphoproteins are just additional examples of that referent). | ||
|
||
Criteria for review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
presumably this is criteria for dashboard review?
The earlier text lays out criteria about definitions changing in meaning. This could easily be checked by LLM using KGCL, but the dashboard doesn't support this yet
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The heading 'Criteria for review' intends to capture all possible types of review. Here we list what we can reasonably check. If the future adds more powerful checks, those checks will be added.
|
||
<i><b>To obsolete a term, the ontology developer</b></i> SHOULD: | ||
1) Indicate any exact term replacement: | ||
- 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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I recommend backticks over double quotes in markdown when referring to controlled terms, curies, etc
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm, I think we've not been terribly consistent over all the principles. I'll put this on our to-do list (that is, I'll make an issue). #2669
Implementation | ||
------- | ||
|
||
Detailed procedures for obsoleting a term are described on the OBO Academy page [Obsoleting an Existing Ontology Term](https://oboacademy.github.io/obook/howto/obsolete-term/). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See also kgcl:NodeObsoletion for a taxonomy of kinds of obsoletion
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See comments, some minor. Overall I recommend not mixing up orthogonal file syntax issues with OMO profiles
No description provided.