Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deprecate entity using GO profile is adding axioms into an imported file #1211

Open
anitacaron opened this issue May 21, 2024 · 1 comment
Open
Assignees
Labels
Status: Reproduced For issues that are (critical) bugs, denotes that the bug is reproduced, but no further action taken Type: Bug Indicates that Protege is not working as expected

Comments

@anitacaron
Copy link

I tested the functionality using CL Ontology.

As you can see in the screenshot below, the annotations added as part of the deprecation workflow are added to the cellxgene_subset instead of in the main file.

Screenshot 2024-05-21 at 15 43 08
@gouttegd gouttegd self-assigned this May 21, 2024
@gouttegd gouttegd added Type: Bug Indicates that Protege is not working as expected Status: Reproduced For issues that are (critical) bugs, denotes that the bug is reproduced, but no further action taken labels May 21, 2024
@gouttegd
Copy link
Collaborator

This is not specific to the GO profile. The same thing happens with other profiles as well.

This is because the cellxgene_subset component contains not only the oboInOwl:inSubset annotation axioms, but also declaration axioms for every concerned classes.

When deprecating an entity, to determine in which ontology the annotation axioms should be added, Protégé is looking for an ontology that:

  • contains the to-be-deprecated entity in its signature, and
  • contains a declaration axiom for the to-be-deprecated entity.

The first ontology that matches those criteria is used. But we don’t control the order in which the ontologies are tested (they are stored in a Set, which does not guarantee any particular iterating order), so if both the “main” ontology (in the present case cl-edit.owl) and one of its imports happen to contain declaration axioms for the to-be-deprecated entity, it may very well happen (as it indeed does happen here) that the import, rather than the main ontology, will be picked.

Not sure we can do anything about that. Apart from using the presence of declaration axioms, I can’t think of any foolproof heuristic that would be guaranteed to always identify the “correct” ontology in which the deprecation axioms should belong.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Reproduced For issues that are (critical) bugs, denotes that the bug is reproduced, but no further action taken Type: Bug Indicates that Protege is not working as expected
Projects
None yet
Development

No branches or pull requests

2 participants