Closed bdionne closed 3 years ago
Investigate computing role filler type checks during the stated phase. If errors found, abort classification and report in inference panel to allow modelers to edit and repair.
How to reproduce (I think) Open Entities tab and go to Object Properties Select an Object Property - example "R123 Chemotherapy Regimen Has Component" On the right Select "Edit" on the Ranges Using the Class hierarchy, change the range to something completely different - example "C61092 Archae" Classify You will get the (very terse and undetailed) error "Issues with role domains and ranges". Check the protege log and you will see lots of lines saying "Role X has domain foo and can't be used in class Y" and similar
Note: changing the range back to the original will still result in tons of errors on roles that were never touched, so maybe this isn't the best test.
Example error: 2021-07-07 18:16:39.807 [Classification Thread] INFO RolesVisitor Role: R173 has domain C2950 and can't be used on class C99418
C99418 is a great-grandchild of C2950 so this should be a valid domain. It is a false positive.
2021-07-07 18:16:39.576 [Classification Thread] INFO RolesVisitor Role: R108 has range C7057 and can't be used with filler C54635 on class: http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#C4979
R108 has range of C7057, but C54635 belongs to the disjoint root of C20181 so this is a true violation.
@bdionne : Hi, initializing 'Inference Results' Tab is causing Protege to hang everytime ?
I'll look at this example. If you totally mess the ontology up and there are a lot of issues I can see where that panel would take a lot of time coming up
ok, so part of this is a null pointer error in the new additions to the inferred panel, and part of this is more substantive. My understanding of domains/ranges was that they would be root nodes. We can discuss at status.
Curator currently does not check this, assuming that the typing was controlled by edit checks. Recently (#470) modelers retree a class incorrectly which created thousands of inconsistencies. These errors will be now caught at edit time by the new curator checks (#474) but the checks shold also additionally be performed during classification and any errors logged.