OBOFoundry.github.io icon indicating copy to clipboard operation
OBOFoundry.github.io copied to clipboard

Suggested new rule for OBO Foundry ontologies: classification within a single model without unsatisfiable classes

Open leechuck opened this issue 8 years ago • 9 comments

The OBO Foundry ontologies are not currently mutually interoperable as there are several thousand unsatisfiable classes when all the ontologies are classified within a single model (see https://github.com/bio-ontology-research-group/oboconsistencytest).

We ( @bill-baumgartner @pbuttigieg and I) would suggest to have a new rule for OBO Foundry (not OBO Library) ontologies: classification within a single model without unsatisfiable classes (at least using ELK).

The main way to enforce this constraint would be to incorporate it into the integration checks for OBO Foundry ontologies, i.e., don't perform classification of the ontology and its imports alone, but import it together with all Foundry ontologies (the full ontologies including all their axioms, not a subset thereof).

Is there any reason why this would not be sensible?

leechuck avatar Sep 14 '17 14:09 leechuck

My main concern is that our ENVO assertions may be breaking things in other resources I can't see in our local build process. I'll have to investigate the explanations that will be generated by @leechuck 's code once more compute is available to be able to comment more .

pbuttigieg avatar Sep 14 '17 15:09 pbuttigieg

@leechuck I agree and I think we need access to a release of each ontology which includes all axioms, but does not include any pre-reasoned inferences. Many of the release versions of ontologies include a precomputed class hierarchy, which depends on particular versions of imports from external ontologies.

I suggested making available such an artifact for Uberon: https://github.com/obophenotype/uberon/issues/1363

It would also be nice if there were an OBO convention for how to get the full, "raw", version of a given ontology. E.g. for Uberon I suggested the IRI http://purl.obolibrary.org/obo/uberon/raw/uberon.owl.

balhoff avatar Sep 14 '17 15:09 balhoff

+1 on reasoning on foundry ontologies taken as a whole, and on suggestion by @balhoff that we add purl conventions for some kinds of artifacts. Even better: Have each version of ontology include annotations referring to other available artifacts, so the information is explicit. Added by the build process, of course.

alanruttenberg avatar Sep 20 '17 15:09 alanruttenberg

In practice, we do now import other ontologies and classify our ontologies with them. I think this is a good step forward; I would suggest a slightly reduced proposal here:

  1. Every ontology SHOULD provide a base
  2. Every ontology primary release MUST be consistent and coherent
  3. Every ontology MUST be coherent when classified together with RO, BFO, and COB
  4. Every ontology SHOULD be coherent when classified together with all its base-dependencies

What do you think?

matentzn avatar Mar 09 '21 22:03 matentzn

Discussed during Ops call 2025-08-05:

The following are being considered for--at least--inclusion on a list of standard recommendations (in progress). "NS" below refers to the namespace of the ontology.

"Every ontology SHOULD provide a base"

  • [x] Q: “Base” ontology is not defined (link is dead) A: new link: https://oboacademy.github.io/obook/reference/base-specification/?h=base

“Every ontology primary release MUST be consistent and coherent”

  • [x] Q: What does 'consistent' refer to here? That is, what makes an ontology ‘consistent’?

  • [x] Q: Presumably 'coherent' means logical coherency? As in "won't make a reasoner complain"?

“Every ontology MUST be coherent when classified together with RO, BFO, and COB”

  • [x] Q: It is not spelled out as to what this really means: NS with RO, plus NS with BFO, plus NS with COB, each pair tested separately? Or NS with RO with BFO with COB (all four at once)?

“Every ontology SHOULD be coherent when classified together with all its base-dependencies”

  • [x] Q: What does "base-dependencies" mean? Import terms only? The entire ontology from which one or more imported terms derive?

nataled avatar Aug 05 '25 17:08 nataled

Base docs are here: https://oboacademy.github.io/obook/reference/base-specification/?h=base

matentzn avatar Aug 07 '25 18:08 matentzn

Thanks, @matentzn! So, condensing all that down, I surmise that an ontology base:

  • Contains ONLY terms that are owned by the ontology, which include (a) terms using that ontology's prefix; and (b) any terms with a different prefix that are now maintained by that ontology. It does not contain any imports.
  • Retains any references to external ontologies within axioms that are needed for definitions and reasoning (I believe such references, when displayed in Protege, will appear as identifiers only; that is, without labels)
  • Has had reasoning applied

I know I'm missing things like metadata and annotations, but just keeping it simple for now. Let me know if I got anything wrong.

nataled avatar Aug 07 '25 19:08 nataled

For an executive summary this is correct! Note that there is a fairly complex way to distinguish sentences about a term and sentences mentioning a term. For example MY:123 subclass BFO:123 is a base axiom ONLY in MY ontology, not in BFO.

matentzn avatar Aug 09 '25 10:08 matentzn

“Consistent and coherent” is redundant

Coherent = no unsats + no inconsistencies

But these should all be qualified with OWL since an ontology can be an unaxiomatized incoherent muddle

On Tue, Aug 5, 2025 at 10:39 AM Darren A. Natale @.***> wrote:

nataled left a comment (OBOFoundry/OBOFoundry.github.io#482) https://github.com/OBOFoundry/OBOFoundry.github.io/issues/482#issuecomment-3156033047

Discussed during Ops call 2025-08-05:

The following are being considered for--at least--inclusion on a list of standard recommendations (in progress). "NS" below refers to the namespace of the ontology.

"Every ontology SHOULD provide a base https://github.com/INCATools/ontology-development-kit/blob/master/docs/ReleaseArtefacts.md#release-artefact-1-base-required " Q: “Base” ontology is not defined (link is dead)

“Every ontology primary release MUST be consistent and coherent” Q: What does 'consistent' refer to here? That is, what makes an ontology ‘consistent’? Q: Presumably 'coherent' means logical coherency? As in "won't make a reasoner complain"?

“Every ontology MUST be coherent when classified together with RO, BFO, and COB” Q: It is not spelled out as to what this really means: NS with RO, plus NS with BFO, plus NS with COB, each pair tested separately? Or NS with RO with BFO with COB (all four at once)?

“Every ontology SHOULD be coherent when classified together with all its base-dependencies” Q: What does "base-dependencies" mean? Import terms only? The entire ontology from which one or more imported terms derive?

— Reply to this email directly, view it on GitHub https://github.com/OBOFoundry/OBOFoundry.github.io/issues/482#issuecomment-3156033047, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAMMOK3S2XGIMUQ5CLPOM33MDT5LAVCNFSM6AAAAACDFUJEBOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTCNJWGAZTGMBUG4 . You are receiving this because you are subscribed to this thread.Message ID: @.***>

cmungall avatar Aug 11 '25 15:08 cmungall