@Jeff (5 Jan). A default TBX has 11 predefined link 'types' (see
here). You can customise these and add your own. The customisable parts:
- Label name (the default TB link type is special in having label at all).
- Label visibility.
- Link line colou - as seen on Maps.
Here's an example:

Note how the user has added a new link type called 'special' that uses yellow for its link lines.
If you find yourself wanting the same non-default custom additional links in all your TBXs then that's catered for too - look at trying
user configuration files.
Having taken the mechanics above onboard I'd see you creating new custom link types for each of the types of relationship you want to establish. Bear in mind the same notes can be linked more than once; using the same link type makes no sense but Amy might both link type 'sister' and 'competitor' to David. Where such multiple (parallel) links exist, in Map view remember that toggling visibilty (Link Types palette, setting global to
all links of selected type) can help keep your view clean.
Currently link creation is user-driven - i.e. manual - TB can't make TB links itself; past discussion indicates this
might change in the future (i.e. if some condition were met, then a link might be created/deleted, but as I say that's not in TB at present. On export, codes exist to allow hierarchically links and the like to be created. on export to mark-up.
One other thought. If you're spinning your wheels, do as others here have done and post a small TBX exemplifying your working environment. By all means sanitise personal data (e.g. names/numbers), but letting others see the sort of data you have will help with making better suggestions as to how TB can be used to improve it.
Another way to capture 'link' data can be in a user attribute. All David's friends could link to him via an 'associate' link but it
might be that you could simply have a Boolean user attribute
FriendOfDavid (default- false), ticked in the notes of his friends. In the latter method, to find all David's friends you use an agent to look for
$FriendOfDavid=true. You're just 'linking' in a different manner.