obophenotype / cell-ontology

An ontology of cell types
https://obophenotype.github.io/cell-ontology/
Creative Commons Attribution 4.0 International
146 stars 49 forks source link

Switch to Whelk reasoner #2722

Closed gouttegd closed 3 weeks ago

gouttegd commented 4 weeks ago

This PR makes CL use the Whelk reasoner for all its build and test pipelines.

closes #2717

gouttegd commented 4 weeks ago

@dosumis

Here’s a diff on “CL-base with ELK” (“left” ontology) versus “CL-base with WHELK” (“right” ontology):

2 axioms in left ontology but not in right ontology:
- SubClassOf(<http://purl.obolibrary.org/obo/CL_0000557> <http://purl.obolibrary.org/obo/CL_0011026>)
- SubClassOf(<http://purl.obolibrary.org/obo/CL_0001029> <http://purl.obolibrary.org/obo/CL_0000763>)

4 axioms in right ontology but not in left ontology:
+ SubClassOf(<http://purl.obolibrary.org/obo/CL_0000995> <http://purl.obolibrary.org/obo/CL_0011026>)
+ SubClassOf(<http://purl.obolibrary.org/obo/CL_0001012> <http://purl.obolibrary.org/obo/CL_0011026>)
+ SubClassOf(<http://purl.obolibrary.org/obo/CL_0001019> <http://purl.obolibrary.org/obo/CL_0000763>)
+ SubClassOf(<http://purl.obolibrary.org/obo/CL_0001030> <http://purl.obolibrary.org/obo/CL_0011026>)
dosumis commented 4 weeks ago

Hypothesis - WHELK is able to reason with disjunction and so can take advantage of equivalentClass Defs with OR. ELK is not. This is consistent with doc

image

Cautionary note - I'm seeing this error when running WHELK on CL in Protege

image

CC @balhoff - is this error a potential problem?

balhoff commented 3 weeks ago

@gouttegd that error is expected. I might ought to handle that a different way but it doesn't seem to bother Protege.