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

How to deal with domain ontology grouping classes that are parents to CORE classes, e.g. PCO organismal entity #37

Open
cmungall opened this issue Jul 31, 2019 · 14 comments
Labels

Comments

@cmungall
Copy link
Contributor

PCO includes 'organismal entity' A material entity that is one or more organisms, viruses or viroids.

should this be in core? cc @ramonawalls

If not, then note that pco would not conform to guidelines in that it would contain classes that do not have superclasses in core. perhaps we could have a getout clause - e.g. domain ontologies can still contain grouping classes if they are equivalent to an expression (e.g. a union) all of whose member classes are subclasses of core classes?

@bpeters42
Copy link
Contributor

bpeters42 commented Jul 31, 2019 via email

@cmungall
Copy link
Contributor Author

cmungall commented Aug 2, 2019

Seems reasonable, but lets think this through.

If PCO deems this to be a useful grouping, and being the domain experts in this area, does this warrant further discussion (in this specific case, and the general case).

Furthermore, let's say others want to have this grouping in their own ontology. We are back to a complicate MIREOT situation. In fact it's a bit harder than before: if I want OE in my ontology, then I need to:

  1. import OBO CORE
  2. MIREOT or extract the OE class from PCO
  3. MIREOT or extract the two PCO subClassOf axioms, O is-a OE, PoO is-a OE

Note that 3 doesn't come for free with 2 due to the fact this is 'above' rather than 'below'.

I could instead MIREOT or extract the explicit subclasses from PCO, but this also gets awkward, and wouldn't work if we use a pco-base module and PCO uses core IDs for O and PoO.

All of this could be fixed with the right engineering, but it just seems a bad smell. I worry that putting classes 'above' core could have other side effects.

I don't know what the solution is. If we accept everyone's groupings, then CORE becomes very latticey and less minimalist.

it should be noted here also that mereological groupings are problematic for reasoning in ways class groupings are not.

I do think we want to limit above-CORE groupings as much as possible, although banning in domain ontologies would be too draconian. We could first start by obtaining a list of such groupings as an informative measure before making any recommendations

  • Uberon/CARO: anatomical entity (encompasses multiple scales, and both M/IM)
  • PCO: organismal entity
  • GO: cellular component [mereological grouping]
  • probably more...

@cmungall cmungall changed the title NTR: organismal entity How to deal with domain ontology grouping classes that are parents to CORE classes, e.g. PCO organismal entity Aug 2, 2019
@bpeters42
Copy link
Contributor

bpeters42 commented Aug 3, 2019 via email

@mellybelly
Copy link

Just a little history - the PCO grouping class was meant to align with the CARO upper union class - folks often need the union of the parent nodes in NCBI Taxon. I think in this context, it might make sense to have this grouping class in the CORE as a superclass of what we've decided for Organism? see #6

We don't want to end up with multiple ontologies creating this same class, especially since its been there all along.

We could also try to get NCBI to make a union parent class?

@cmungall
Copy link
Contributor Author

cmungall commented Aug 4, 2019 via email

@bpeters42
Copy link
Contributor

bpeters42 commented Aug 4, 2019 via email

@bpeters42
Copy link
Contributor

bpeters42 commented Aug 4, 2019 via email

@hoganwr
Copy link

hoganwr commented Aug 4, 2019 via email

@cmungall
Copy link
Contributor Author

cmungall commented Aug 4, 2019 via email

@bpeters42
Copy link
Contributor

bpeters42 commented Aug 4, 2019 via email

@cmungall
Copy link
Contributor Author

cmungall commented Aug 4, 2019 via email

@bpeters42
Copy link
Contributor

bpeters42 commented Aug 4, 2019 via email

@cmungall
Copy link
Contributor Author

@ukemi also notes that this holds for GO cellular component

@ramonawalls
Copy link

Sorry to be late to the game here. Perhaps some clarification of the history and use of this term will be helpful.

  1. Organismal entity (OE) is just a union class in PCO. You will see this in the editors file (https://raw.githubusercontent.com/PopulationAndCommunityOntology/pco/master/src/ontology/pco-edit.owl). Of course, when we run the reasoner for release, it asserts the subclass axioms. I guess this is the case for most grouping classes in OBO ontologies. Does this provide a potential solution? Could PCO just import organism and collection of organisms from CORE and create the union class? I'm not sure how much that solves.

  2. OE is not the union of organism, virus, or viroid and population of organisms, but rather the union of organism, virus, or viroid and collection of organisms. I want us to get in the habit of not referring to general collections as populations, because they aren't, either in the statistical or biological sense.

  3. OE was first created as a parent class for household, which might be one person or multiple people. There are many use cases that need to refer to single organism or multiple organisms, and it is really convenient for us to keep this union class. Sure, we could just include the union statement in every definition, but who wants to do that.

  4. Darwin Core has a class "Organism" which is defined as "A particular organism or defined group of organisms considered to be taxonomically homogeneous." As mush as I dislike the DwC class, it has a purpose. BCO needs to deal with the DwC class, and OE makes the perfect parent class for it.

  5. Regarding the discussion about sets and whether they can have only one element, I don't have a philosophical position on it. I just need to be able to talk about three types of entities: those that are one organism, those that are collections of two or more organisms, and those that can be either.

I don't have a strong opinion on whether or not OE should go into the core, as long as we can keep it in PCO and continue to use it BCO.

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

No branches or pull requests

5 participants