OBOFoundry / OBOFoundry.github.io

Metadata and website for the Open Bio Ontologies Foundry Ontology Registry
http://obofoundry.org
Other
161 stars 201 forks source link

Make definitions required for all terms in new ontologies #2457

Closed cthoyt closed 6 months ago

cthoyt commented 11 months ago

It's problematic to retroactively add principles, but I think it makes sense to start requiring all terms in new ontologies to include definitions for all terms.

This can be checked in the NOR dashboard but not the full OBO Dashboard and operationalized with a relatively simple SPARQL query.

Then, this text can be updated:

https://github.com/OBOFoundry/OBOFoundry.github.io/blob/4619413ee124f5225e3b93a3c56eb12f0dc35025/.github/ISSUE_TEMPLATE/new-ontology.yml?plain=1#L271

matentzn commented 11 months ago

This is a big lift but it does make some sense.. I am leaning towards supporting this suggestion, leaving a potential loophole for classes that really do not need a definition, like a Gene.

nataled commented 11 months ago

Note that this suggestion will require a re-discussion of Principle 6, which currently states "The ontology has textual definitions for the majority of its classes and for top level terms in particular." It also notes that "In lieu of textual definitions, there can be elucidations when the term can not be rigorously defined." There is thus a recognition that this will not always possible (not to mention some known cases where definitions will not necessarily be textual). Note that this principle has been extensively discussed in the past by the Ops committee and EWG; I don't anticipate a change from further discussion.

That being said, we suggest revising the sentence of interest from:

- label: I understand that term definitions, while not mandatory, are key to understanding the intentions of a term especially when the ontology is used in curation. I made sure that a reasonable majority of terms in my ontology have definitions, in English, using the [IAO:0000115](https://ontobee.org/ontology/IAO?iri=http://purl.obolibrary.org/obo/IAO_0000115) property.
  to
- label: I understand that term definitions are key to understanding the intentions of a term especially when the ontology is used in curation. I made sure that a reasonable majority of terms in my ontology--and all top level terms--have definitions, in English, using the [IAO:0000115](https://ontobee.org/ontology/IAO?iri=http://purl.obolibrary.org/obo/IAO_0000115) property.

The indicated change will serve to (1) not minimize the need for definitions (by removing the 'while not mandatory' clause) and (2) make the directive conformant to what the principle actually says.

nataled commented 7 months ago

Adding a note here to indicate that the change indicated in my comment above was made some time ago.

Astghik-S commented 6 months ago

It is sometimes crutial and full of contradictions. When the term is not defined it is really challenging to guess whether one should reuse the class because it may happen that the term does not have the same meaning.

I am also curious to know how to deal in cases when either definition does not fit or there is no definition? Does it make sense to define the term newly? Self-referential definitions may need spetial annotation property which is not specified anywhere. Do you have any suggestion?

Btw thank you for your hard work!!!

matentzn commented 6 months ago

@Astghik-S, thank you for reaching out. Here is my practical 2 cents on the matter, but more than half of OBO does not agree with me I think.

  1. Many (not all) human readable definitions are generally full of imprecisions. There are guides to do well (see @cmungall post here, but no matter what you do, natural language can only be so precise, as we all understand even the individual words a bit different.
  2. Deciding whether a term is intended to refer to a concept in your mind is an act of cognitive inference. Say you have a term in your mind, "Alzheimer's disease". You check the ontology. You consume all the information (axioms, human readable definition and label). You try to infer from that the "conceptual model" that was the basis to whatever the ontology developers thought of when making the term. Then you mentally try to answer "are these the same"? If yes, you use the term. If no, you make a new one or move on. (I tried to express this idea in a totally different context, mappings, maybe you find it interesting ("Are these two entities the same? A guide.").

Practically, I do not think that the absence of a definition automatically should result in a negative re-use decision. We need to apply our judgement, use all contextual information available. There is no silver bullet - just hard, human, expert context inference, judgement and a bit of "courage" to accept that your mental model, and the mental model of the ontology developer, may be slightly misaligned.

Astghik-S commented 6 months ago

@matentzn Thanks for the quite good explanations. Would adding a definition in the imported class violate somehow the OBO principles? For instancec, in OMIT case the definitions mostly are found on MESH. It is handy to integrate those.

matentzn commented 6 months ago

There is a bit of disagreement on this, but in my view this should not be done. It's not quite axiom injection, but to fulfill the spirit of OBO you should always add the definition to the ontology the id belongs to.. maybe create a table with definitions and reach out on their issue tracker? Feel free to come back here and report your experience!

nataled commented 6 months ago

This issue was discussed within the OBO Operations meeting 2024-03-05. It was agreed that the wording change already implemented is satisfactory and that we do not want to revise the rules for new ontologies.