User created rules can dramatically reduce the amount of work a user needs to put in their structure, allowing users to apply the same structure to all notes past or future that match a certain pattern. Generally, we propose that be done through Search as a primitive. For example, create a dynamic list of all notes with a question mark in the title, then apply a question tag. In Tana, “supertags” are tags that come with a dynamic template. So if you have a list of nodes tagged with person, and you added a field for where they work, it would add that to every node with the person supertag. While this form of structure in hindsight is not implemented through search as a primitive, it could be.
Each Supertag comes with a color, so when you tag a node, it changes the color of the node and reference. On this site, we do the same thing (claims are green, ideas are orange, etc.). If this were implemented within our overall framework, it would be as a smart default within a broader conditional formatting system. The user would write a search term to capture the data they want, and apply formatting to all of the results. People naturally try to enact typed distinctions in their notes, so creating a formatting rule automatically for each new Supertag makes sense. Since the user could write their own formatting rules, the smart default would be an example to learn from.
The user might also create rules such as “if X is indented underneath Y, then the two are related.” In Joel Chan’s Discourse Graph Plugin, one can even specify relationships such as “Any evidence note indented underneath a claim note informs the claim,” allowing him to query for claims informed by a specific piece of evidence. In Obsidian, X is related to Y if they are on the same page. We propose that the user should be able to declare rules about how their style of writing is translated into a data structure.
See also Enable composable queries to facilitate structure in hindsight