CompositionalDietaryNutritionOntology / cdno

Compositional Dietary Nutrition Ontology
Creative Commons Zero v1.0 Universal
11 stars 3 forks source link

Reason cdno.owl #47

Open kaiiam opened 3 years ago

kaiiam commented 3 years ago

I was expecting that when we ran make prepare release that it would call a robot reasoning routine on the cdno.owl file and have a clean concentration hierarchy, akin to running elk locally in the ontology. However, it did not. looking more into it other ontologies such as ENVO have the same workflow and don't seem to have ELK run to make a nicer hierarchy. There is probably a way to fix this using robot's reason command.

example of the concentration hierarchy when reasoned:

image

Vs the un-reasoned version we currently have in cdno.owl (after running make prepare release)

image
kaiiam commented 3 years ago

Perhaps I should try https://robot.obolibrary.org/reduce

kaiiam commented 2 years ago

In our branch https://github.com/Southern-Cross-Plant-Science/cdno/pull/81 @LilyAndres and I have found a solution that makes a reasoned product from the chemical concentration terms using nutritional_components_framework to reason it and figure out the inferred subclass relationships. This gives the reasoned end product look of a clearer hierarchy which is much easier for non-ontologists such as data curators to look at.

image

Unfortunately the above process removed the equivalence class expressions (the equivalence classes) and replaced them with just the inferred class relationships as asserted subclass axioms. This explains why CDNO's chemical concentration terms look the way the do in OLS after reasoning. The "duplications" show up due to having multiple parents. For example concentration of catechin in material entity has two parents concentration of hydroxyflavan in material entity and concentration of the latter being inferred from the equivalence class during the release process (where we make the final cdno.owl file).

image

I don't' think it's possible to preserve the equivalence classes and also have the cleaner looking final hierarchy. I could be wrong but I don't think so. Assuming that's true then we have a decision to make. Do we either:

1) Maintain the status quo with the equivalence classes expressions that make for a less human friendly looking hierarchy (where duplicative parents all show up)?

Or 2) Ditch the equivalence classes expressions in favor of the asserted subclasses in the final cdno-edit file which makes for a cleaner looking hierarchy for humans to search through. Note we'd still using the equivalence classes expressions in the earlier steps to figure out the hierarchy, we'd just not be showing them in the final product. The very long tail downside to this is that it wouldn't be as easily mapped to other owl ontologies that use the same design pattern for the equivalence axioms using the predicate owl:equivalence. This isn't a concern now but in the future I could see that being possible.

@Graham-J-King @maweber-bia @ddooley @ramonawalls or others please let us know what you think.