As you’ve noted, Tinderbox links don’t have metadata (such as attributes). My recollection of the introduction of the broad type of link, the purple one in your screen grab above, was for visual display purposes rather than computational ones.
Some practical observations on what you can do at present
Action code can compute via links but that requires an attribute value to be held for any such link and such and approach might not scale well. Also in large well-interconnected maps the number of links will inevitably add a lot of noise.
A possible approach is to create a set of numbered link types and use the link type names to hold a value (e.g. ‘1’ through’9’). These links could hide their labels to keep the visible map clearer. Or, you might choose to use two links, one visible/styled/labelled and the other completely hidden for use with action code. On the visual side, if the set of values id low (e.g. 1-9 vs. 1-99) then you could set a varying tint of the same colour, perhaps from grey to bright red. You could make the ‘9’ type bold as well, or use normal lines for types 1-5 and broad style for types 6-9. Of these approaches only the colour variation is really giving you a form of scale
Although action code can filter by link type, it can’t read the link type back (i.e. you can’t return the link type label of a given link, only test its type). Assuming any two notes only had a single such ‘value’ link between them, action code could test something like
if(linkedFrom("some note","2")) which will only test positive if note ‘X’ links to the current note with a link type of ‘1’; if a positive result we know the weighting value of the link is 2 and can compute further based on that. Of course, you’d need to write nine discrete
if() tests - I’m not sure if iterating a list of numbers 1-9 (1;2;3…etc.) with
list.forEach(listloopvar) would work though you could try.
I suspect adding metadata to the links will be the smallest part of this proposal; coding the mechanisms to visualise and/or calculate on those criteria is likely a much more costly task. As that might mean this isn’t simple, I thus suggest the above possible workarounds. I hope that help in the interim.