Open jamesaoverton opened 1 month ago
Looking at the diff, I already see some changes I want to make:
obo:COB_module
annotations from the OWL files@cmungall I'd appreciate your feedback on the overall approach here.
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).
I made a few improvements:
cob-edit.tsv
file@sebastianduesing Can you please sanity check the cob.owl
, cob-base.owl
and cob-root.owl
files for me?
I went through those three files to check for the following:
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.
Thanks @sebastianduesing! I think this is in good enough shape to share and discuss.
Still to do:
cob-edit.tsv
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 replacescob-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 thecob-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'.