This #graphology design is what I need. I pin my own edge meaning, as I'm overloading the edges with two flows (material and data) as well as using a single edge to signify two-way flow and single (like how you can use both/back/forward in DOT). So, edge (a,b) is the same as (b,a), but when I assign the source and target I want that information pinned, regardless, as I have an attribute for flow. #graphviz
https://graphology.github.io/design-choices.html#order-of-undirected-edge-extremities