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

UBERON:0007685 'region of nephron tubule' is both part of and subclass of 'nephron tubule' #2283

Closed
4 tasks
paolaroncaglia opened this issue Feb 4, 2022 · 13 comments
Assignees
Labels
autoclosed-unfixed This issue has been closed automatically. kidney Stale tech typo-bug

Comments

@paolaroncaglia
Copy link
Contributor

Uberon term
UBERON:0007685 'region of nephron tubule'

Bug description
Is both (asserted) part of nephron tubule and (inferred) subclass of nephron tubule
Explanation in screenshot attached:

Screenshot 2022-02-04 at 10 44 48

I came across this by chance.

  • Are Uberon classes allowed to be both subclass of and part of the same superclass?
  • If not, as I suspect, are there other instances in Uberon that may need fixing? And
  • Is there a post-reasoning check in place to flag such instances?
  • For this specific case, replace 'region of nephron tubule' subclass of 'epithelial tube' with subclass of 'organ part' (or a more granular term if anyone would like to suggest one). Thanks.
@paolaroncaglia
Copy link
Contributor Author

@matentzn could you please comment on the first 3 checkboxes or tag others as appropriate, and I'll address the 4th one (but I'll leave it as is for now in case it's useful to run checks). Thank you.

@matentzn
Copy link
Contributor

matentzn commented Feb 4, 2022

Are Uberon classes allowed to be both subclass of and part of the same superclass?

Definitely not

Is there a post-reasoning check in place to flag such instances?

Seems not! This is an important and quite advanced qc query for @anitacaron. Basically:

Look for

  • all UBERON ids
  • that have an existential restriction with a part-of property to some UBERON:A
  • and are children (whether direct or indirect, use *) of UBERON:A

@matentzn
Copy link
Contributor

matentzn commented Feb 4, 2022

One problem here is that we, again, have no access to the part of closure.. Maybe this can be solved with souffle rather than SPARQL?

@paolaroncaglia
Copy link
Contributor Author

paolaroncaglia commented Feb 4, 2022

Are Uberon classes allowed to be both subclass of and part of the same superclass?

Definitely not

Thought so ;-) thanks @matentzn and @anitacaron for addressing this.

@anitacaron
Copy link
Collaborator

One problem here is that we, again, have no access to the part of closure.. Maybe this can be solved with souffle rather than SPARQL?

Actually, it's relation-graph that materialise and infer the existential axioms

@matentzn
Copy link
Contributor

matentzn commented Feb 4, 2022

Its I think solvable with this: #2125

@balhoff
Copy link
Member

balhoff commented Feb 4, 2022

I might be misunderstanding the issue, but I think it would be quite common to be part of and also a subclass of certain classes, if you are including inferences in this. A bone is both part of an 'anatomical structure' and also is an 'anatomical structure'.

@matentzn
Copy link
Contributor

matentzn commented Feb 4, 2022

Hmmm you are right.. Sorry it was I who was too hasty here. You can indeed have the same parent and be part of it - its just not very often.. Sorry. Maybe there is, after all, no general check we can have that protects us here..

@paolaroncaglia
Copy link
Contributor Author

paolaroncaglia commented Feb 4, 2022

Hi @balhoff and @matentzn ,
I agree that at a high level all UBERON classes will be anatomical structures/entities via is_a as well as part_of.
Is there a way to have a check in place at some lower level in the ontology?
The example that spurred this ticket is just intuitively incorrect, a region of a tubule can't really be a type of tube. :-)

@matentzn
Copy link
Contributor

matentzn commented Feb 4, 2022

I think investigating this is worth it, but I have a hard time figuring out how to draw the line between "upper" and "lower" level. Can a limb be part of a limb? Very hard to be sure..

It is probably better to solve this with logic, i.e. you identify some mid level classes for which the above is definitely false, and then we add an axiom saying: limb disjoint with part of limb.

@ghost ghost added the kidney label Feb 18, 2022
@paolaroncaglia
Copy link
Contributor Author

This ticket is in the Todo list of the Tech board now, so I'll remove my assignment (won't edit the example I provided in case it's useful to run checks and also because a consensus hasn't been reached yet).

@paolaroncaglia paolaroncaglia removed their assignment Feb 24, 2022
@github-actions
Copy link

This issue has not seen any activity in the past 6 months; it will be closed automatically in one year from now if no action is taken.

@github-actions github-actions bot added the Stale label Aug 24, 2022
@github-actions
Copy link

This issue has been closed automatically because it has not been updated in 18 months. Please re-open if you still need this to be addressed.

@github-actions github-actions bot added the autoclosed-unfixed This issue has been closed automatically. label Aug 25, 2023
@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Aug 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
autoclosed-unfixed This issue has been closed automatically. kidney Stale tech typo-bug
Projects
None yet
Development

No branches or pull requests

4 participants