Managing link attributes to document strength of relationship between notes

I’ve just started several weeks ago with Tinderbox and have discovered a new world of functions between ideas and text which is helping me a lot in my work.

This post builds on a previous post and discussion found under http://forum.eastgate.com/t/link-title-not-link-type/1195/3 which focuses on a particular users wish to label the links independently from link type. The discussion that follows show that this (over time) is essentially akin to treating links as notes of their own with attributes etc… and many associated challenges to display the information.

I have a similar challenge in that I would like to show (and be able to set programmatically based on for instance note attributes) the strength of a relationship between particular notes. I include an example of what I mean below.

Ideally line thickness or colour scale could be set to illustrate how strong the relationship is and quickly provide a graphical view of the relationship strengths between notes. This has deep implications regarding how you treat links conceptually as I’ve found out.

If there are other ways of showing how strong the link between two notes is in Tinderbox I would love to hear about them.

To provide a little applications context my field of expertise is satellite mission design at the European Space Agency. What I’m trying to do with TB is to assemble and structure all the - sometimes conflicting or imprecise - user requirements from one community concerned with applications and science, and translate these into guidelines regarding the design of a future mission. For some applications (for example sea ice mapping from space) the link to a particular mission design parameter such as resolution is strong and a design driver, for others is much weaker. In essence I’m trying to capture this is the best way possible with TB.

1 Like

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.

Many thanks for the concrete suggestions. I’ll put them into practice in the coming days as a trace the user requirements. If successful I’ll try and report back under this thread on the result.

I would say that for this particular application adding metadata to the links and the ability to query as per notes would be very useful even without a visual display (which is a whole new kettle of fish as you’ve underlined).

1 Like