A given pair of nodes can share multiple links between them. Currently, this is represented by blending the colors (links have an opacity of 0.2). However, only the last-rendered link's type will appear when the user hovers over the links. Additionally, it is quite difficult to even distinguish that there are multiple links overlapping. This is misleading and inconveniencing.
This is especially bad for the schema viewer, as one can not view all the connections between a pair of nodes. The most relevant example is the pair of "gene" and "chemical_substance." Over fifty links exist between just this pair alone, and with this many links not only is the opacity useless, but it's imperceivable that even 5 connections exist. Moreover, regardless of this, the user can only see what the first connection is, not the other 49+.
The most realistic solution would be to add curved links, so that any node pairs that have multiple links between them would have different curvatures and therefore not overlap. However, react-force-graph does not natively support adding width to curved links, and in its current state, curved links are essentially unusable. Perhaps there could be some way to add width to these curved links by rerendering the mesh of the link with a material that does support width. However, I'm unsure as to if this idea is viable or not.
A given pair of nodes can share multiple links between them. Currently, this is represented by blending the colors (links have an opacity of 0.2). However, only the last-rendered link's type will appear when the user hovers over the links. Additionally, it is quite difficult to even distinguish that there are multiple links overlapping. This is misleading and inconveniencing.
This is especially bad for the schema viewer, as one can not view all the connections between a pair of nodes. The most relevant example is the pair of "gene" and "chemical_substance." Over fifty links exist between just this pair alone, and with this many links not only is the opacity useless, but it's imperceivable that even 5 connections exist. Moreover, regardless of this, the user can only see what the first connection is, not the other 49+.
The most realistic solution would be to add curved links, so that any node pairs that have multiple links between them would have different curvatures and therefore not overlap. However, react-force-graph does not natively support adding width to curved links, and in its current state, curved links are essentially unusable. Perhaps there could be some way to add width to these curved links by rerendering the mesh of the link with a material that does support width. However, I'm unsure as to if this idea is viable or not.
No other viable solutions come to mind.