OBOFoundry / COB

An experimental ontology containing key terms from Open Biological and Biomedical Ontologies (OBO)
https://obofoundry.github.io/COB
Creative Commons Zero v1.0 Universal
39 stars 8 forks source link

COB Revised #288

Open jamesaoverton opened 1 month ago

jamesaoverton commented 1 month ago

This revision is based on the results of the September 2024 COB workshop.

Changes have not yet been vetted. We need to compare to the previously released cob.owl file and ensure that we aren't dropping any important terms.

The biggest change here is a src/ontology/cob-edit.tsv file, which is a ROBOT template that replaces cob-edit.owl. Given COB's small size and tight integration, I think that a template is a good choice for editing, but this needs discussion. I may have bent ODK conventions to the breaking point.

The src/scripts/split-cob-edit.py script splits the cob-edit.tsv into three "modules":

I think that the most controversial part of the current version is the 'REPLACED' and 'REPLACEMENT' object properties. I added temporary object properties such as 'has material part' with tight domains and ranges, and used these in the logical axioms of the terms in the sheet. The split-cob-edit.py script replaces these temporary object properties with existing object properties, such as RO 'has part'. The existing object properties may have domains and ranges that we were trying to leave out of COB, such as 'continuant'.

jamesaoverton commented 1 month ago

Looking at the diff, I already see some changes I want to make:

jamesaoverton commented 1 month ago

@cmungall I'd appreciate your feedback on the overall approach here.

cmungall commented 1 month ago

I'm afraid I only have time now for a cursory look.

Minor: cob-to-external is now subsumed into cob-edit. This makes sense (we should make sure to sync docs in this PR or closely after). It looks like not everything is accounted for. E.g. we had a lot of narrow classes e.g ZFA roots. Maybe these are of less importance but I think we should have a trail here, maybe leave behind a rump cob-to-external with the entries not in cob-edit

Domains and ranges: we still need to solve this problem (#213). This PR improves over the current release (which actually injects domains and ranges that are too strict).

jamesaoverton commented 3 weeks ago

I made a few improvements:

@sebastianduesing Can you please sanity check the cob.owl, cob-base.owl and cob-root.owl files for me?

sebastianduesing commented 3 weeks ago

I went through those three files to check for the following:

  1. All terms are in the right module(s).
  2. The new terms are in the right modules and placed correctly in the hierarchy.
  3. Expected metadata is present.

Everything looks good on points 1 and 2. While checking on point 3, I noticed a problem: cob-edit.tsv lists the ID of IAO:'definition' as IAO:0000015. This is actually the ID for IAO:'information carrier'. The correct ID for IAO:'definition' is IAO:0000115.

I think this mix-up started in the workshop Google Sheet; I've now fixed it there. Let me know if you'd like me to add a commit here to fix it in cob-edit.tsv. If there's anything else I should be checking for, just let me know of that too and I'll do another look-over.

jamesaoverton commented 2 weeks ago

Thanks @sebastianduesing! I think this is in good enough shape to share and discuss.

Still to do:

jamesaoverton commented 2 weeks ago

Direct links to download the OWL files: