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

Logical axioms from external relationships found in edit file #2453

Open
anitacaron opened this issue May 4, 2022 · 15 comments · May be fixed by #2519
Open

Logical axioms from external relationships found in edit file #2453

anitacaron opened this issue May 4, 2022 · 15 comments · May be fixed by #2519
Assignees

Comments

@anitacaron
Copy link
Collaborator

After I did cleansing in #2377, some logical axioms are only present in UBERON.

[Typedef]
id: capable_of
name: capable of
xref: RO:0002215
is_a: functionally_related_to ! functionally related to

[Typedef]
id: connected_to
name: connected to
xref: RO:0002170
is_a: transitively_connected_to ! transitively_connected to

[Typedef]
id: continuous_with
name: continuous with
xref: RO:0002150
is_symmetric: true

[Typedef]
id: develops_from
name: develops from
xref: RO:0002202
is_a: has_developmental_contribution_from ! has developmental contribution from

[Typedef]
id: drains
name: drains
xref: RO:0002179
domain: UBERON:0001638 ! vein

[Typedef]
id: has_branching_part
name: has branching part
xref: RO:0002569
is_transitive: true

[Typedef]
id: has_developmental_contribution_from
name: has developmental contribution from
xref: RO:0002254
is_transitive: true

[Typedef]
id: has_skeleton
name: has skeleton
xref: RO:0002551
domain: UBERON:0000475 ! organism subdivision
range: UBERON:0010912 ! subdivision of skeleton

[Typedef]
id: immediately_posterior_to
name: immediately posterior to
xref: BSPO:0015012
is_a: adjacent_to ! adjacent_to

[Typedef]
id: immediately_superficial_to
name: immediately superficial to
xref: BSPO:0015014
is_a: adjacent_to ! adjacent_to

[Typedef]
id: in_lateral_side_of
name: in lateral side of
xref: BSPO:0000126
disjoint_from: in_central_side_of ! in_central_side_of

[Typedef]
id: in_taxon
name: in taxon
xref: RO:0002162
holds_over_chain: attaches_to in_taxon
holds_over_chain: connected_to in_taxon
holds_over_chain: connects in_taxon
holds_over_chain: continuous_with in_taxon
holds_over_chain: developmentally_induced_by in_taxon
holds_over_chain: existence_ends_during in_taxon
holds_over_chain: existence_starts_during in_taxon
holds_over_chain: extends_fibers_into in_taxon
holds_over_chain: has_potential_to_develop_into in_taxon
holds_over_chain: innervated_by in_taxon
holds_over_chain: overlaps in_taxon
holds_over_chain: produced_by in_taxon
holds_over_chain: produces in_taxon
holds_over_chain: supplies in_taxon

[Typedef]
id: innervated_by
name: innervated_by
xref: RO:0002005
transitive_over: branching_part_of ! branching_part_of

[Typedef]
id: simultaneous_with
name: simultaneous with
xref: RO:0002082
is_a: ends ! ends
is_a: starts ! starts

[Typedef]
id: supplies
name: supplies
xref: RO:0002178
domain: UBERON:0001637 ! artery

@matentzn
Copy link
Contributor

matentzn commented May 5, 2022

Just to say it, fantastic work on the non-base axioms @anitacaron.

@cmungall @dosumis it is now up to you to decide which axioms should go in RO, and which ones should be discarded. Once we know (just edit @anitacaron comment to indicate if something is bad), just comment "ok to move the rest to RO" and we will take care of the rest

  • deleting the axioms from Uberon
  • adding them to RO/BSPO

Thank you!

@dosumis
Copy link
Contributor

dosumis commented May 5, 2022

[Typedef]
id: capable_of
name: capable of
xref: RO:0002215
is_a: functionally_related_to ! functionally related to

This is already in RO (indirectly)


transitively_connected_to is not in RO. Having a transitive superProperty of connected_to is dangerous for reasoning. It can make pre-reasoning of existentials blow up massively. So, I'd be reluctant to include it in RO. @cmungall ?

[Typedef]
id: connected_to
name: connected to
xref: RO:0002170
is_a: transitively_connected_to ! transitively_connected to


[Typedef]
id: continuous_with
name: continuous with
xref: RO:0002150
is_symmetric: true


[Typedef]
id: develops_from
name: develops from
xref: RO:0002202
is_a: has_developmental_contribution_from ! has developmental contribution from


[Typedef]
id: drains
name: drains
xref: RO:0002179
domain: UBERON:0001638 ! vein

[Typedef]
id: supplies
name: supplies
xref: RO:0002178
domain: UBERON:0001637 ! artery

  • Add to RO (OK with me to add to RO, or do we want this to be used more broadly? @cmungall) Edit: In discussion for another solution

[Typedef]
id: has_branching_part
name: has branching part
xref: RO:0002569
is_transitive: true

Looks reasonable, although potential for massive proliferation of trivial inferences.


[Typedef]
id: has_developmental_contribution_from
name: has developmental contribution from
xref: RO:0002254
is_transitive: true

Based on definition "x has developmental contribution from y iff x has some part z such that z develops from y"@en
This is wrong and so should not be in RO.


[Typedef]
id: has_skeleton
name: has skeleton
xref: RO:0002551
domain: UBERON:0000475 ! organism subdivision
range: UBERON:0010912 ! subdivision of skeleton

I think the domain maybe too strict. Doesn't my foot have a skeleton. Is a foot an organism subdivision?


[Typedef]
id: immediately_posterior_to
name: immediately posterior to
xref: BSPO:0015012
is_a: adjacent_to ! adjacent_to

[Typedef]
id: immediately_superficial_to
name: immediately superficial to
xref: BSPO:0015014
is_a: adjacent_to ! adjacent_to

[Typedef]
id: in_lateral_side_of
name: in lateral side of
xref: BSPO:0000126
disjoint_from: in_central_side_of ! in_central_side_of


[Typedef]
id: in_taxon
name: in taxon
xref: RO:0002162
holds_over_chain: attaches_to in_taxon
holds_over_chain: connected_to in_taxon
holds_over_chain: connects in_taxon
holds_over_chain: continuous_with in_taxon
holds_over_chain: developmentally_induced_by in_taxon
holds_over_chain: existence_ends_during in_taxon
holds_over_chain: existence_starts_during in_taxon
holds_over_chain: extends_fibers_into in_taxon
holds_over_chain: has_potential_to_develop_into in_taxon
holds_over_chain: innervated_by in_taxon
holds_over_chain: overlaps in_taxon
holds_over_chain: produced_by in_taxon
holds_over_chain: produces in_taxon
holds_over_chain: supplies in_taxon

These are used to extend taxon inference (and therefore are useful in the generation of taxon slims). The general principle seems to be that anything with a relationship to a term with a taxon restriction will inherit that restriction. On the one hand, it seems like this could expand in RO to cover many more relationships given that in_taxon is used in so many different contexts. Based on usage I'd say domain & range = 'biological entity' where that could be continuant or occurrent. But there is also some danger of these chains causing bleed through to contexts where they shouldn't apply e.g. if part_of links an individual to a population ?

See geneontology/go-ontology#23012 (comment) for a script-based solution to specifying chains over in_taxon


[Typedef]
id: simultaneous_with
name: simultaneous with
xref: RO:0002082
is_a: ends ! ends
is_a: starts ! starts

@anitacaron anitacaron added the tech label May 9, 2022
@anitacaron
Copy link
Collaborator Author

[Typedef]
id: develops_from
name: develops from
xref: RO:0002202
is_a: has_developmental_contribution_from ! has developmental contribution from

seems reasonable to add to RO

has_developmental_contribution_from is already a sibling of develops_from.

Should it still be added to RO?

@anitacaron anitacaron self-assigned this Jun 6, 2022
@anitacaron anitacaron linked a pull request Jun 6, 2022 that will close this issue
@matentzn
Copy link
Contributor

matentzn commented Jun 7, 2022

Yes add for now and see what happens.

@cmungall
Copy link
Member

cmungall commented Jun 7, 2022

I agree with all @dosumis comments

happy to drop transitively_connected_to, it's useful and safe for certain shapes of TBox but queries can always inject this where needed

I think adding uberon domains/ranges for supplies/drains is too restricted for RO. We could either (1) rename to a more specific relation (2) add the domains/ranges back as universal restrictions (obv not ideal for Elk)

has_skeleton domain: this may be a case of a domain trying to do the closed-world work of a DP. Although I am not sure it's particularly problematic either - foots/autopods are organism subdivisions

I am not so sure has-developmental-contribution transitivity is wrong but happy to go with this for now and take anything involving development RO axioms to a dedicated issue

@github-actions
Copy link

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

@anitacaron
Copy link
Collaborator Author

anitacaron commented Jan 16, 2023

From Chris' comment #2453 (comment)

I think adding uberon domains/ranges for supplies/drains is too restricted for RO. We could either (1) rename to a more specific relation (2) add the domains/ranges back as universal restrictions (obv not ideal for Elk)

[Typedef]
id: drains
name: drains
xref: RO:0002179
domain: UBERON:0001638 ! vein

[Typedef]
id: supplies
name: supplies
xref: RO:0002178
domain: UBERON:0001637 ! artery

@dosumis what do you think? Which option could we take?

Related to the has_skeleton domain:

has_skeleton domain: this may be a case of a domain trying to do the closed-world work of a DP. Although I am not sure it's particularly problematic either - foots/autopods are organism subdivisions

[Typedef]
id: has_skeleton
name: has skeleton
xref: RO:0002551
domain: UBERON:0000475 ! organism subdivision
range: UBERON:0010912 ! subdivision of skeleton

@dosumis:

  • Remove the axiom in UBERON?
  • Add to RO?

@dosumis
Copy link
Contributor

dosumis commented Feb 27, 2023

Please retain - moving to Uberon. These are highly likely to be doing useful work in Uberon. Removing or broadening would require looking at & carefully considering the modelling consequences, which should be done int he context of work on the vasculature/skeleton.

@matentzn
Copy link
Contributor

If @cmungall thinks the domains and ranges are too restrictive for RO, the proper path would be to create new object properties and have them be subclasses of their RO counterparts.. We should never inject axioms like this into our ontologies - they will definitely leak!

@matentzn
Copy link
Contributor

Suggestion from pattern call:

Create specific relationships and transfer the semantics to these.

@anitacaron
Copy link
Collaborator Author

What would be the name of these specific relations?

@matentzn
Copy link
Contributor

Lets say

"supplies artery"
"drains artery"

or

"supplies vessel"
"drains vessel"

@cmungall
Copy link
Member

cmungall commented Mar 20, 2023 via email

@dosumis
Copy link
Contributor

dosumis commented Mar 21, 2023

oborel/obo-relations#699

Copy link

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

@github-actions github-actions bot added the Stale label Jan 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants