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

membrane region design pattern results in incoherency when valid reflexivity axioms added #12926

Open
cmungall opened this issue Jan 17, 2017 · 6 comments

Comments

@cmungall
Copy link
Member

cmungall commented Jan 17, 2017

we have

  1. WM SubClassOf M
  2. MR = M and part_of some M
  3. WM DisjointWith MR

If we add reflexivity of po we get unsats:

image

Note: I am using global reflexivity here because laziness and Elk doesn't support local reflexivity. Although there are issues with global reflexivity, as described here: https://github.com/oborel/obo-relations/wiki/ROGuide#local-reflexivity this is in fact unrelated to the issue at hand.

Why does this matter? Why not just treat part-of as proper part-of? I argue that part-of should be (locally) reflexive. The argument is partly from intuition (only an atom separates the two) but mostly from practicality. The practicality arises from situations where we want to use DOSDP GCIs to materialize non-redundant super class expressions. See for example obophenotype/bio-attribute-ontology#17

@dosumis
Copy link
Contributor

dosumis commented Jan 17, 2017

Hmmmm.

I'm fond of this pattern. I think it's pretty useful. Most biologists are happy to call membrane regions membranes (e.g. presynaptic membrane). Regions can have sub-regions that are still membranes (presynaptic active zone). It is logically sound to say that any membrane that is a proper part of a membrane must be a membrane region.

Reflexive part of may be better for inference in some cases, but I think we need to be v.careful about making such a big change to semantics so late in the game. Are you sure you want all subclasses of X to be inferred to be part_of some X? Obvious test to do: Is everyone happy with the new inferences we see if we make the switch experimentally in the editor's file?

If the main problem is double-labelled edges in public-facing (pre-reasoned) releases, can't we just fix that with a simple rule-based system for stripping axioms (e.g. if both edges are asserted, retain only is_a)?

@dosumis
Copy link
Contributor

dosumis commented Jan 18, 2017

valid reflexivity axioms added

Valid only under the interpretation that we haven't been using proper part of for years...

@cmungall
Copy link
Member Author

cmungall commented Jan 24, 2017 via email

@cmungall
Copy link
Member Author

cmungall commented Jan 24, 2017 via email

@dosumis
Copy link
Contributor

dosumis commented Jan 31, 2017

I added with the assumption of proper parthood - so wouldn't expect resilience. Just a matter of documenting modeling choices clearly.

As for advantages, the framework for handling redundancy becomes much
simpler. This will be a big advantage when we start using GCIs in DPs in
anger.

Need more examples and some discussion.

we could keep the pattern without any commitment to reflexivity - just
have WM be a subclass of MR, and do away with the need for the MR
complement of WM.

I'd rather just do away with the 'whole membrane' terms. But then if you add reflexivity, you'll still have 'membrane region' equivalentTo membrane.

@cmungall
Copy link
Member Author

cmungall commented Feb 6, 2017

What about this one:

cytoplasmic region = cytoplasm and part-of some cytoplasm

We should at least put this in goantislim_grouping. But I'm struggling to see a use case for it.

we have one assertion to it:

id: GO:0032838
name: cell projection cytoplasm
namespace: cellular_component
def: "All of the contents of a cell projection, excluding the plasma membrane surrounding the projection." [GOC:mah]
is_a: GO:0044444 ! cytoplasmic part
is_a: GO:0044463 ! cell projection part
is_a: GO:0099568 ! cytoplasmic region
intersection_of: GO:0005737 ! cytoplasm
intersection_of: part_of GO:0042995 ! cell projection

looks like all of the assertions should be inferred

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

3 participants