obophenotype / cell-ontology

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

PR:000000001 and protein (CHEBI:36080) has cyclic dependency. #2284

Open gabbysantos opened 5 months ago

gabbysantos commented 5 months ago

CL term PR:000000001 and protein (CHEBI:36080) has cyclic dependency.

Suggested revision of class hierarchy Suggest removing the SubClass of relation

dosumis commented 5 months ago

@gabbysantos - many thanks for spotting and reporting this. It comes from an imported axiom that bridges between two terms for 'protein' in external ontologies. The original axiom is: protein (PR:000000001) EquivalentTo protein (CHEBI:36080). This gets relaxed to subClassOf relationships in both directions, which is formally correct, but I can understand why this would cause problems for some uses.

Can I ask, what are you using the ontology for? If you only need the cl hierarchy, you could just use the cl-simple.owl release product, which excludes imports (and therefore this axiom).

@anitacaron - Is there a plan to remove the these cycles? I think this may have been discussed (and implemented?) as an option for ROBOT relax?

janelomax commented 5 months ago

Hi David - we provide CL in CENtree our ontology platform and when you try and export it we get the cyclic error.

It's fine to relax with subClassOf relationships in both directions, but can you also remove the EquivalentTo if you're going to do that? We can remove it obviously, but then every time we do an update it comes back :-)

cheers

Jane

dosumis commented 5 months ago

Hi Jane,

The problem is that this axiom comes from our import pipeline, so the only way to delete it would be to add some custom code to the pipeline to remove it every time we run imports or a release. You may also find you get it back from other sources (I have a suspicion that this is an axiom I added to GO and that it does really useful work there).

If you only need relationships between CL terms - cl-simple.owl should be sufficient.

Cheers, David

janelomax commented 5 months ago

Yes we've seen it in other ontologies that import ChEBI too. Unfortunately we need the whole CL with imports. We use the OWL API so I don't understand why we're get that cyclic error but it still imports into Protege okay. We'll investigate our end.