Knowledge-Graph-Hub / universalizer

The KG-Hub Universalizer provides functions for knowledge graph cleanup and identifier normalization.
BSD 3-Clause "New" or "Revised" License
3 stars 2 forks source link

Check for existence of conflicting category assignments #7

Open caufieldjh opened 1 year ago

caufieldjh commented 1 year ago

A graph may be assigned multiple Biolink (or other) categories, but these should adhere to a model. Including both a child and a parent category is not a violation of the model. Including two or more categories exclusive of each other (like biolink:Disease|biolink:Device) would be a violation. But how do we define this? At minimum, the category should be the same as that of the type entity. If a type entity isn't available, we should be able to find a path between the two categories without involving a root.

matentzn commented 1 year ago

I would be curious to understand what the biolink vision for this is.

cmungall commented 1 year ago

Note that some people in Translator actively want conflation between e.g. a gene, the corresponding reference protein, and the corresponding OMIM mendelian disease entry, which are often all in 1:1. I don't think this is good, but biolink is currently quite lenient when it comes to formal disjointness declarations.

For our purposes, we want to treat the main is-a hierarchy as pairwise disjoint.

of course, something can be both a pathway and a mixin like OntologyClass

even in cases where we do want to conflate e.g gene to refP, we should pick one, so we should treat the is-a hierarchy as pairwise disjoint