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

Add local reflexivity axioms more mereological relations #151

Open
cmungall opened this issue Feb 6, 2017 · 15 comments
Open

Add local reflexivity axioms more mereological relations #151

cmungall opened this issue Feb 6, 2017 · 15 comments
Labels
anatomy rule Has something to do with rules or axioms

Comments

@cmungall
Copy link
Contributor

cmungall commented Feb 6, 2017

The BFO reference declares mereological relations as reflexive:

THEOREM: continuant_part_of is reflexive (every continuant entity is a continuant_part_of
itself). [111-002]
THEOREM: occurrent_part_of is reflexive (every occurrent entity is an occurrent_part_of itself). [113-002]

This is implicitly local_ reflexivity.

Additionally, every treatment of mereology treats the mereological relations as part-of. We may consider relations such as develops-from mereological in a 4D sense. One reason for this is simply mathematical elegance.

It may seem that we can have our cake and eat it. For every mereological relation R, we can have this be reflexive, and declare a second relation proper_R. However, while this is "free" in any FOL system, it comes with a cost in OWL due to expressivity constraints. We can express that R is reflexive, we can make proper_R a subproperty of R, but we cannot infer downwards.

If we don't inflate the number of relations, then we must choose an interpretation for our R - is it reflexive or proper?

Arguments for (local) reflexivity

Already considered reflexive

It's declared reflexive in the BFO reference, and in the original RO paper, and there has never been an formal retraction of the axiom, so we'd be changing the semantics by making it not reflexive.

Intuition

While on the one hand it may be counter-intuitive for an object to be part of itself, the proper-part-of relation is not intuitive either. E.g. 'John - 1 atom' proper-part-of John.

Logical validation

Local reflexivity is highly useful for error-checking, see these examples in uberon, obtained by adding reflexivity to part-of.

For example, consider the current version of uberon that has two classes:

  • roof plate
  • roof plate of neural tube

This is odd because all roof plates are in the neural tube (according to the model takes). The existence of two classes here is an unintended error. This has been lurking for some time, but was revealed when the reflexivity axiom was added:

image

The entailment of an equivalence is a bonus here for error checking, and has resulted in a ZFA ticket. It's likely the classes will be merged.

But errors of this sort are never revealed if PPO is not reflexive. This is because in all models RPNTs are RPs with one or more atoms removed. This is certainly not our intention! Yet these interpretations remain cryptically.

Another example from the same ticket:

image

The solution here was to merge

Filtering redundant axioms

If we feed the following into an OWL-based redundancy removal procedure, e.g. robot reduce

Class: P
SubClassOf: W
SubClassOf: part-of some W

there is no redundancy unless part-of is declared reflexive. We consider this problematic; the main point of reduction is to make a structure that is more user-friendly, and having multiply-labeled edges violates this (the OBO basic profile explicitly prohibits this). For this particular axiomatic structure the solution may simply be an ad-hoc rule to remove the part-of. This will not work for all cases however.

Why is this particularly important? It is very important if we move towards heavy use of GCIs to infer parthood. Examples of this can be seen in the OBA DP for inference of part-ofs.

Materialization of these part-of parents can be done via robot materialize. However, the basic materialization produces many redundant paths. If reduction is performed with reflexivity of part-of, everything works out of the box. Without this, we end up with a basic existential graph that is formally non-redundant (due to the one-atom distinction), yet massively redundant for user purposes. We can always implement standard transitive reduction over the resulting graph but this is unsatisfactory.

It could be argued that this is very application specific, but in fact it is a manifestation of the fact that proper-R is an abhorrence that admits counter-intuitive models

Related tickets

@dosumis
Copy link
Contributor

dosumis commented Feb 14, 2017

Well argued - although abhorrence is a bit strong & both options have potentially counter-intuitive aspects.

Issue to resolve if we make part_of reflexive:

  • What do you do with structures of a type where the essential elements and structural organisation of the type are held by both small and large portions of the structure, but where we can also define a maximal portion. Examples:

    • Membranes: The presynaptic membrane and the whole plasma membrane of a cell are both lipid bilayers with proteins in them.
    • cytosol/cytoplasm/cytoskeleton: Biologists commonly talk of presynaptic cytosol or axonal cytoplasm or cytoskeleton of the dendritic spine as well as sometimes using cytoplasm, cytosol and cytoskeleton to refer to the maximal extent of these structures in a cell.
  • Any region of integument in an insect has cuticle, epicuticle, epidermis etc. It is essential in insect anatomy to be able to refer to many such regions - they constitute a large number of the terms used by comparative morphologists. But is is also useful to be able to talk about the whole integument.

For any of these structures, there are many parts that are not regions - they do not share the basic structural organization of the whole.

The pattern I've been using in each of these cases (I haven't added all classes in every case, but could).

X
region of X: EquivalentTo X that part_of some X
whole X

If we move to reflexivity, we have 2 options:

  1. Drop the region of X class - all terms move to under the general class.
  2. Drop the general class

The viable solution may vary from case to case. In the case of integument we could probably do without the general class (not added + I'm not sure what it would be called).

In the case of membranes maybe we could lose the region class. This would leave regions classified as membrane: e.g. synaptic membrane is_a membrane, and we can still have a part relationship to plasma membrane even if we lose a term that groups plasma membrane regions. But there are a few cases where these terms are used in axioms:

image

image

cytosol/cytoskeleton/cytoplasm feels a bit more problematic. Maybe ditch the region class and use the general class and use this to classify regions and whole X of cell....

Also to note:

  • enrichment is not the only use case here. Also need to consider the effect on other projects (e.g. VFB)
  • Changing to reflexive part of will have implications for existing classification that uses part_of as a differentium: part_of some X will subsume all subclasses of X

@balhoff
Copy link
Member

balhoff commented Jun 26, 2017

Something else to consider: Representing Phenotypes in OWL presents inheres in as a functional property, although it isn't declared as such in RO. We have inheres in SubPropertyOf inheres in part of. It seems that the idea is that this follows from a reflexive part of.

I have had reflexive part of turned on in Phenoscape, and I'm beginning to realize this is probably the cause of some cryptic oddities, since some of the ontologies assume it is not reflexive.

@ramonawalls
Copy link

I came to RO to file a ticket asking why part of was not declared as reflexive and found this issue and #78. For what it is worth, I have been operating for years under the assumption that part of is reflexive. We have recently been defining classes in the Plant Phenology Ontology which depend on the reflexivity of has part, although we have been able to work around it without the axiom in RO.

I don't fully understand the local reflexivity axioms (I don't know what "SubClassOf: P Self" means), but I do get the argument for why full reflexivity can be problematic.

I appreciate the concern that was raised about changing the formal definition of part of. Seems like adding the local reflexivity axioms would necessitate a new ID for the relations it is added to, but I know that would cause some serious pain. On the other hand, since many of us have been using part of (and similar) as if it were reflexive, I also appreciate the argument that adding the axioms would be consistent with how is has been used. I agree with @cmungall that "an additional axiom as powerful as this one would have to approved by all ontologies using it".

@dosumis
Copy link
Contributor

dosumis commented Aug 11, 2017 via email

@ramonawalls
Copy link

ramonawalls commented Aug 11, 2017

I was afraid you'd ask that. :) I will provide some examples, but in general, I mean that in the PO, PPO, and other ontologies I have worked on, when I use a part of relation, I have assumed it is reflexive. Generally, I have not made highly axiomatized ontologies (e.g., in PO), so the consequences are few, but the thinking was always based on it being reflexive.

@balhoff
Copy link
Member

balhoff commented Aug 11, 2017

Like @ramonawalls I also operated for a long time assuming part of is reflexive. I included a reflexivity assertion in a file of axioms used in tbox reasoning for the Phenoscape KB, since it wasn't in RO. In application queries, if someone selected "include parts" in the UI, I swapped in "part_of some X" where I had "X" before. But then, as I said, recently I noticed some undesired inferences resulting from the interaction of reflexivity and some of the input ontologies. Since I removed the reflexivity assertion, in the application I now use "X or (part_of some X)". It hasn't been too big of a deal so far.

@nlharris
Copy link
Contributor

nlharris commented Nov 4, 2021

Can this be closed?

@cmungall
Copy link
Contributor Author

this has to remain open until there is clear resolution

@cmungall
Copy link
Contributor Author

cmungall commented Aug 25, 2022

Revisiting

I think on balance reflexivity simply causes too many problems

  • global reflexivity is usually inapplicable for OPs with D+Rs. That doesn't apply to part-of, but this would lead things like continuant-part-of in a strange state
  • local reflexivity is not in EL/Elk profile?
  • any kind of reflexivity goes against domain scientist intuitions

Above I make some arguments about why reflexivity makes certain axiomatization clearer but I think this is best handled another way. E.g. inheres_in_part_of can simply have a (FOL) definition that refers to an unnamed reflexive part-of or has a union condition.

So if we give up local reflexivity do we want to go one step further and assume it irreflexive/proper. This would undoubtedly cause some issues just now but it would be worth exploring these to see if they are cryptic incoherencies in some other way. If we decided this we would roll out very slowly.

So my summary of the choices

  1. globally reflexive: too strong
  2. locally reflexive: too confusing
  3. formally uncommitted (current state): confusing and potential traps ahead
  4. proper/irreflexive: to be investigated

@wdduncan
Copy link
Collaborator

Are the direct relations assumed not to be reflexive? It seems that the answer should/would be "yes".

@cmungall
Copy link
Contributor Author

cmungall commented Jul 24, 2023

Here are the 4 options again. For now let us restrict this to the part-of relation in RO (BFO:0000050)

  1. globally reflexive 👍
  2. locally reflexive ❤️
  3. formally uncommitted 👀
  4. irreflexive 🚀

Can advocates for each state their preference and some reasons for that preference?

Or if you are lazy just click the emoji

@matentzn
Copy link
Contributor

I doubt there are more than 3 people in all of OBO that understand this issue..

@ramonawalls
Copy link

I doubt there are more than 3 people in all of OBO that understand this issue..

I think you underestimate the OBO community, Nico. There is a difference between understanding and caring. :)

@ramonawalls
Copy link

Valid arguments in favor of each choice. Since I have managed to make things work with the way they are now (formally uncommitted) I can live with keeping it that way. My second choice would be locally reflexive, thus I added two reactions.

Basically, I am working with mostly working application ontologies these days, so I can make whatever you decide work for me.

Thanks for your continued work on this issue.

@wdduncan
Copy link
Collaborator

wdduncan commented Aug 1, 2023

Since I have managed to make things work with the way they are now (formally uncommitted) I can live with keeping it that way.

@ramonawalls I agree with your sentiment (above), and (like you) I would support local reflexivity as a second choice. I also added two reactions :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
anatomy rule Has something to do with rules or axioms
Projects
None yet
Development

No branches or pull requests

7 participants