OBOFoundry / COB

An experimental ontology containing key terms from Open Biological and Biomedical Ontologies (OBO)
https://obofoundry.github.io/COB
Creative Commons Zero v1.0 Universal
35 stars 8 forks source link

domains and ranges for has_participant and children #85

Open bpeters42 opened 4 years ago

bpeters42 commented 4 years ago

I was planning to add domains and ranges to the relations we have in COB, which should tighten up the reasoning checks, and could also identify missing classes and other problems. I wanted to start with has_participant and its two children has_specified_input and _output.

has_participant has_specified_input has_specified_output

The domain should be 'process' for has_participant, and 'planned process' for its two children. So far so good. The range is more problematic. It is 'continuant' in RO, and we know we want to cover material entities and information. So the options I see are: 1) Leave the range blank for now 2) Define the range as ('material entity' or 'information'), and see where that takes us. 3) Reference 'continuant' in some form, either by creating the class in COB, or by using Chris M's proposal of creating some 'has_continuant_characteristic' property.

I personally favor 2 for now; COB is an experiment after all. I would like to see what that breaks. But comments welcome before I start implementing.

alanruttenberg commented 4 years ago

BFO 2020 allows specific and generic dependents to participate. There are axioms that say their bearers do too.

On Monday, June 1, 2020, bpeters42 notifications@github.com wrote:

I was planning to add domains and ranges to the relations we have in COB, which should tighten up the reasoning checks, and could also identify missing classes and other problems. I wanted to start with has_participant and its two children has_specified_input and _output.

has_participant has_specified_input has_specified_output

The domain should be 'process' for has_participant, and 'planned process' for its two children. So far so good. The range is more problematic. It is 'continuant' in RO, and we know we want to cover material entities and information. So the options I see are:

Leave the range blank for now Define the range as ('material entity' or 'information'), and see where that takes us. Reference 'continuant' in some form, either by creating the class in COB, or by using Chris M's proposal of creating some 'has_continuant_characteristic' property.

I personally favor 2 for now; COB is an experiment after all. I would like to see what that breaks.

domains and ranges to

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

bpeters42 commented 4 years ago

Alan has a point, and given that information already is a GDC, excluding just the SDCs in COB (realizables and qualities) doesn't really make sense.

I would still want to recommend as a 'preferred OWL design pattern' to use material entities rather than their dependents in participant relationships, at least until someone can show me that the axioms Alan mentioned will work in OWL reasoners with large ontologies at acceptable speeds.

alanruttenberg commented 4 years ago

An example of where you might want a specifically dependent continuant is in a process in which a role is created, such as when someone is elected to a political position. A biological investigation example would the specimen role created during a specimen collection process. In these cases the specified output is the role.

To clarify, the axioms I mentioned are in the first order theory. They are not yet reflected in the OWL file. I have to think about whether they can be. Basically, it's an unsolved problem how to get the best approximation to a first order theory in a weaker logic such as OWL. For this reason, the OWL file is specified to be able to include any OWL axiom that can be proved from the first order theory. The actual OWL file at a given time is determined by the accumulated effort expended on various heuristics to find OWL axioms that can be so proved. The specification was made this way because the best solution is not known, and because we didn't want to force the authoritative version to be whatever we could figure out by time of the ISO publication.

Alan

On Tue, Jun 2, 2020 at 3:36 PM bpeters42 notifications@github.com wrote:

Alan has a point, and given that information already is a GDC, excluding just the SDCs in COB (realizables and qualities) doesn't really make sense.

I would still want to recommend as a 'preferred OWL design pattern' to use material entities rather than their dependents in participant relationships, at least until someone can show me that the axioms Alan mentioned will work in OWL reasoners with large ontologies at acceptable speeds.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/OBOFoundry/COB/issues/85#issuecomment-637630122, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAB3CDW5Q2IN2Q72ZIYUJC3RUUL7FANCNFSM4NQELWBA .

bpeters42 commented 4 years ago

As I am sure you are fully aware, the alternative to the examples you gave is to have as specified output the material entity that bears the specimen role, which is what the current OBI class does. Same for the elected person. I am not saying that I disagree with you, and that it might be natural to want to have roles as participants. But as of now, in OWL, we will get more consistent reasoning if we stick to the material entities being the participants and define the roles they carry. And I was trying to say that should be a 'preferred design pattern', rather than necessarily calling the alternatives incorrect. For example, in OBI, we want to say that all material entities that have gone through a 'material processing' step are considered 'processed materials'. We couldn't do that if people would switch back and forth between considering e.g. a 'labeling' process having as output the 'labeled' role, rather then 'material that is labeled'.

On Wed, Jun 3, 2020 at 9:51 PM Alan Ruttenberg notifications@github.com wrote:

An example of where you might want a specifically dependent continuant is in a process in which a role is created, such as when someone is elected to a political position. A biological investigation example would the specimen role created during a specimen collection process. In these cases the specified output is the role.

To clarify, the axioms I mentioned are in the first order theory. They are not yet reflected in the OWL file. I have to think about whether they can be. Basically, it's an unsolved problem how to get the best approximation to a first order theory in a weaker logic such as OWL. For this reason, the OWL file is specified to be able to include any OWL axiom that can be proved from the first order theory. The actual OWL file at a given time is determined by the accumulated effort expended on various heuristics to find OWL axioms that can be so proved. The specification was made this way because the best solution is not known, and because we didn't want to force the authoritative version to be whatever we could figure out by time of the ISO publication.

Alan

On Tue, Jun 2, 2020 at 3:36 PM bpeters42 notifications@github.com wrote:

Alan has a point, and given that information already is a GDC, excluding just the SDCs in COB (realizables and qualities) doesn't really make sense.

I would still want to recommend as a 'preferred OWL design pattern' to use material entities rather than their dependents in participant relationships, at least until someone can show me that the axioms Alan mentioned will work in OWL reasoners with large ontologies at acceptable speeds.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/OBOFoundry/COB/issues/85#issuecomment-637630122, or unsubscribe < https://github.com/notifications/unsubscribe-auth/AAB3CDW5Q2IN2Q72ZIYUJC3RUUL7FANCNFSM4NQELWBA

.

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/OBOFoundry/COB/issues/85#issuecomment-638600780, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADJX2ITNLRREKJGHXY66BHTRU4R3XANCNFSM4NQELWBA .

-- Bjoern Peters Professor La Jolla Institute for Allergy and Immunology 9420 Athena Circle La Jolla, CA 92037, USA Tel: 858/752-6914 Fax: 858/752-6987 http://www.liai.org/pages/faculty-peters

alanruttenberg commented 4 years ago

On Thu, Jun 4, 2020 at 9:15 AM bpeters42 notifications@github.com wrote:

As I am sure you are fully aware, the alternative to the examples you gave is to have as specified output the material entity that bears the specimen role, which is what the current OBI class does. Same for the elected person. I am not saying that I disagree with you, and that it might be natural to want to have roles as participants. But as of now, in OWL, we will get more consistent reasoning if we stick to the material entities being the participants and define the roles they carry. And I was trying to say that should be a 'preferred design pattern', rather than necessarily calling the alternatives incorrect. For example, in OBI, we want to say that all material entities that have gone through a 'material processing' step are considered 'processed materials'.

I think that's a reasonable approach. My note was intended by way of explanation and as an example of what the modeling could be.

We couldn't do that if people would switch back and forth between considering e.g. a 'labeling' process having as output the 'labeled' role, rather then 'material that is labeled'.

Not with the OWL as it is now. Might be the case if the OWL axioms can be expressive enough, and the query done in a system with expressive enough reasoning, or perhaps with pre-processing (like shortcuts). I'll think about it (as an exercise).

Best, Alan

On Wed, Jun 3, 2020 at 9:51 PM Alan Ruttenberg notifications@github.com wrote:

An example of where you might want a specifically dependent continuant is in a process in which a role is created, such as when someone is elected to a political position. A biological investigation example would the specimen role created during a specimen collection process. In these cases the specified output is the role.

To clarify, the axioms I mentioned are in the first order theory. They are not yet reflected in the OWL file. I have to think about whether they can be. Basically, it's an unsolved problem how to get the best approximation to a first order theory in a weaker logic such as OWL. For this reason, the OWL file is specified to be able to include any OWL axiom that can be proved from the first order theory. The actual OWL file at a given time is determined by the accumulated effort expended on various heuristics to find OWL axioms that can be so proved. The specification was made this way because the best solution is not known, and because we didn't want to force the authoritative version to be whatever we could figure out by time of the ISO publication.

Alan

On Tue, Jun 2, 2020 at 3:36 PM bpeters42 notifications@github.com wrote:

Alan has a point, and given that information already is a GDC, excluding just the SDCs in COB (realizables and qualities) doesn't really make sense.

I would still want to recommend as a 'preferred OWL design pattern' to use material entities rather than their dependents in participant relationships, at least until someone can show me that the axioms Alan mentioned will work in OWL reasoners with large ontologies at acceptable speeds.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/OBOFoundry/COB/issues/85#issuecomment-637630122, or unsubscribe <

https://github.com/notifications/unsubscribe-auth/AAB3CDW5Q2IN2Q72ZIYUJC3RUUL7FANCNFSM4NQELWBA

.

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/OBOFoundry/COB/issues/85#issuecomment-638600780, or unsubscribe < https://github.com/notifications/unsubscribe-auth/ADJX2ITNLRREKJGHXY66BHTRU4R3XANCNFSM4NQELWBA

.

-- Bjoern Peters Professor La Jolla Institute for Allergy and Immunology 9420 Athena Circle La Jolla, CA 92037, USA Tel: 858/752-6914 Fax: 858/752-6987 http://www.liai.org/pages/faculty-peters

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/OBOFoundry/COB/issues/85#issuecomment-638839535, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAB3CDTB6CE27EMCEF7IC6LRU6M6TANCNFSM4NQELWBA .

cmungall commented 4 years ago

I'm usually strongly anti-disjunction. IMO They are usually a smell indicating issues with your ontology, e.g. lack of sensible groupings. But I think 2 iis a perfectly reasonable and straightforward thing to do for now, we can always explore other approaches later.

On Mon, Jun 1, 2020 at 1:58 PM bpeters42 notifications@github.com wrote:

I was planning to add domains and ranges to the relations we have in COB, which should tighten up the reasoning checks, and could also identify missing classes and other problems. I wanted to start with has_participant and its two children has_specified_input and _output.

has_participant has_specified_input has_specified_output

The domain should be 'process' for has_participant, and 'planned process' for its two children. So far so good. The range is more problematic. It is 'continuant' in RO, and we know we want to cover material entities and information. So the options I see are:

  1. Leave the range blank for now
  2. Define the range as ('material entity' or 'information'), and see where that takes us.
  3. Reference 'continuant' in some form, either by creating the class in COB, or by using Chris M's proposal of creating some 'has_continuant_characteristic' property.

I personally favor 2 for now; COB is an experiment after all. I would like to see what that breaks.

domains and ranges to

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/OBOFoundry/COB/issues/85, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAMMOJPCP6KVYTDHKJ26ILRUQI6TANCNFSM4NQELWBA .

alanruttenberg commented 4 years ago

I think if you are accepting information as participant then you ought to also include SDCs, in order to remain aligned with BFO. Alan

On Thu, Jun 4, 2020 at 11:02 AM Chris Mungall notifications@github.com wrote:

I'm usually strongly anti-disjunction. IMO They are usually a smell indicating issues with your ontology, e.g. lack of sensible groupings. But I think 2 iis a perfectly reasonable and straightforward thing to do for now, we can always explore other approaches later.

On Mon, Jun 1, 2020 at 1:58 PM bpeters42 notifications@github.com wrote:

I was planning to add domains and ranges to the relations we have in COB, which should tighten up the reasoning checks, and could also identify missing classes and other problems. I wanted to start with has_participant and its two children has_specified_input and _output.

has_participant has_specified_input has_specified_output

The domain should be 'process' for has_participant, and 'planned process' for its two children. So far so good. The range is more problematic. It is 'continuant' in RO, and we know we want to cover material entities and information. So the options I see are:

  1. Leave the range blank for now
  2. Define the range as ('material entity' or 'information'), and see where that takes us.
  3. Reference 'continuant' in some form, either by creating the class in COB, or by using Chris M's proposal of creating some 'has_continuant_characteristic' property.

I personally favor 2 for now; COB is an experiment after all. I would like to see what that breaks.

domains and ranges to

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/OBOFoundry/COB/issues/85, or unsubscribe < https://github.com/notifications/unsubscribe-auth/AAAMMOJPCP6KVYTDHKJ26ILRUQI6TANCNFSM4NQELWBA

.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/OBOFoundry/COB/issues/85#issuecomment-638907304, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAB3CDRPFDC3RD2HSEBE7YDRU6ZPBANCNFSM4NQELWBA .

wdduncan commented 3 years ago

@bpeters42 Is there any more input to this? I agree with you that this would be nice, but do have specific examples of errors that you want to catch? What is the cost of implementing this versus the benefit gained? Without specific examples of how not having this has caused issues in the past, it is difficult to asses the benefit.

To reiterate, I agree that this would be nice, but so would lots of things ... we need to asses how high of a priority it should be.

bpeters42 commented 3 years ago

@wdduncan - I am not sure how to proceed with this from your comment. I am sure you are very aware that using domain and range information adds more detail to a relation. You ask for specific examples: if we state that 'has participant' has the domain 'process', it is clear that saying 'virus' 'has participant' some X will always be a problem. Is that the kind of example you are asking for?

wdduncan commented 3 years ago

@bpeters42 I should not have submitted the comment. I was trying to prioritize in my head what to concentrate on. The thread has some difficult use cases, and I was trying to gauge how much energy to spend thinking about them.

My mistake.