There are cases where you want to assign a symbol to a relation, but if you make the kozane stick to the edge, a circular reference to "the way the line is drawn depends on the position of the kozane" and "the position of the kozane depends on the way the line is drawn" occurs, which is not bad, but I thought it was subtle.
Since the relation is not a binary relation in the first place, but a general polynomial relation, it would be enough if the relation were attached to a binary relation.
What does "good enough" mean?
Edge labels = labels attached to edges, displaying the relationship between "edges" and "labels" by proximity
What the input UI should be is a difficult question.
This page is auto-translated from /nishio/辺ラベルは三項関係 using DeepL. If you looks something interesting but the auto-translated English is not good enough to understand it, feel free to let me know at @nishio_en. I'm very happy to spread my thought to non-Japanese readers.