I'm using the attributes view and I don't see how to add columns for outgoing and incoming links?

If there isn’t an option, aren’t links an attribute, or in philosophical terms a property? Like, it can be seen as a property of an object? For example, “this object has the property of being linked to this other object” or “this object has the property, ‘linked to’ with the value being the other object”.

By ‘attributes view’ I assume you are referring to the Attributes Browser view? If so, adding extra columns is simple, as documented here.

The number of incoming or outgoing links are indeed available via read-only system attributes $InboundLinkCount and $OutboundLinkCount.

Other places you can see both in and outbound links are in the notes Roadmap or its the Links panel (letter is less helpful if there are a lot of links)

Tinderbox doesn’t have properties in the (coding?) sense you describe but notes are essentially a collection of ‘properties’ that in Tinderbox terminology are attributes, system (built-in) or user-defined. Some system attributes are calculated and so their values are read-only, such as the two above.

If there isn’t an attribute holding the value you need, in most cases you can calculate it via action code … and store the result in a user attribute for display in a table.

You might find it useful to take a minute or two to look at the System Attribute List and follow liks as pertinent from there to get a feel for what avialable out of the box. I’ve also made listing of sub-sets of attributes like those that are calculated (read-only): Calculated data attributes.

HTH

Though links are not exposed in the system attributes, you can use functions or agents to expose them in user attributes in various ways. (People want lots of different ways to do this; one size doesn’t fit all.)

For example, suppose you want each note to have a list of $LinkDestinations, representing all the notes linked to this note. You’d do something like this (untested):

$LinkDestinations=[];
eachlink(x){ $ListDestinations += x[destination]; }

What is the problem domain you are working on?

Yes, I’ve used these.

These are amazing!

Thank you. However, I would like to see the very links. :frowning: Like for example if I have a note named “The Lord of the Rings” and add the attribute of the link “is”, which would be an outgoing link for that note, that would be the column heading and I would see all the target notes, for example “film”, “franchise”, “story”, “book” as the values.

I’m right now on the 5th video of this playlist. I assume I’ll be able to test that script in the next 3 videos.

I’m writing a story. There’s are concepts in my head that I’m trying to articulate through the story. So I’m self-teaching myself philosophy. I’ve started reading “What does it all mean?” by Thomas Nagel. So I’m spending days thinking about the same concepts over and over, and I would like to just see that I’m not going in circles. I’m trying to set definitions of words and so I really need a database and some sort of semantic/concept map. I guess what I’m doing is I’m coming up with an ontology and creating models.

This plugin in tandem with Obisidian Canvas and Bases really gets close to what I’m looking for: GitHub - aarongilly/obsidian-semantic-canvas-plugin. It’s really fascinating (at least to me): Semantic Canvas 1.2 Demo video

This one as well in Trilium Notes: Relation map · TriliumNext/Trilium Wiki · GitHub

And really just the relation and rollups property in Notion: Relations & rollups – Notion Help Center. The problem is they don’t have canvas or mindmapping.

By the way, regarding prototype links, I see a way to use that as a “hard” representation for type-tokens or object-instances. I can expose prototype links as a user attribute, right? But what about if an object is a “token” (I don’t know the Tinderbox equivalent yet) of multiple “types” or prototypes? Like for example this MrBeast video: World’s Smartest Dog - YouTube https://www.youtube.com/shorts/YyNz4--6fro is a token of these hypothetical prototypes, “MrBeast content”, “short-form content”, “saved reference”, “content that made me smile”. I’m not asking for an answer here, by the way, I would just like to hear your thoughts. :slight_smile:

What about containers and aliases? I made an alias of a note and put it in 2 different containers. I added “Aliases” in the attributes column (thanks for the system attribute list page @mwra). I can now see the two aliases. But they’re just one line. It’s “[filepath of alias 1],[filepath of alias 2]” I kinda hoped that the row height for that note would adjust and would make a list of the two alias. Also I kinda wished that they were clickable :frowning: and would let me jump to those notes.

When aliases are created, do they automatically get a link just like prototypes? So I would see all aliases in the map using roadmap?

$Prototype exposes the name of this note’s prototype. Notes have only one prototype, though prototypes can have prototypes themselves. For the “tokens” you suggest, a list or set attribute might be ideal, either the system attribute $Tags or one or more user attributes added for this purpose.

Aliases can have their own links, so by default aliases are not linked just because the original note is. Again, actions can add shadow links, choosing your own policy for whether (for example) a link from A ➛ B is echoed as a link from A ➛ B alias or as A alias ➛ B alias.