This has come up before. The extreme case is to drop all relationships and their microcoded attributes about provenance, which vocabularies are connected, what concept classes are connected, etc. So, something like “Has dose form” indicates that we link to Dose Forms, which is evident from the Concept Class of concept_id_2.
Another problem is that we steal a lot of them, but we also keep tweaking the stolen relationships.
So, the extreme and tidy list of relationship is:
- “Horizontal non-hierarchical” - connects concepts without creating categorizations or contributing to the hierarhcy. An example would be “Has dose form”. “Maps to” would fall in this, but we still should consider keeping it separate. Same is true for “Concept replaced by”.
- “Horizontal hierarchical” - connects concepts without creating categorizations, but participating in the hierarchy construction. An example would be “ATC - RxNorm” connecting ingredients.
- "Vertical non-hierarchical - connects concepts by placing concept into a category, but without this being hierarchical. Drug to indication should be such a relationship, even though we currently have it as hierarchical.
- “Vertical hierarchical” - this is a synonym for “Isa”, which already is used in a standardized fashion across all vocabularies.
There was also the idea of having “Vertical” be only within a vocabulary, and horizontal and another categorical “Diagonal” between, but the value is not clear to me - I can see if a relationships connects between different vocabularies without that.
If we wanted to do this, things would become a lot easier. Also for ATLAS etc. However, it would be a big abdominal surgery, and tons of existing query code would have to change, including PALLAS (vocab construction engine). If we wanted to do that we’d probably want to wait till ATLAS is out of rehab, so we could actually quickly release a version that can utilize these relationships.