How to best represent keyword links


I’ve been using org-roam for organizing my notes for some time now and I’m very happy with it, because it helps me to give notes useful structure and find them with less effort.

I mostly see my notes as a sort of personal wiki. Perhaps this does not exploit the “Zettelkasten” idea to its full extent (I’m glad to hear suggestions). I tend to have nodes on specific topics where I developed some understanding (e.g. “Hyperfocal distance”) and then more generic ones (e.g. “Photography”).

Now, I find it useful to link to more general concepts from the specific ones. So far I’m doing the following: at the top of a node, I add a org description list with a single item that holds the relevant keywords. For example, the top of a typical note file will look like this:

:ID: 20220821T223408.999966
#+title: Hyperfocal distance
- Categories :: [[id:20220825T125104.700838][Photography]]

I’m quite happy with this solution, but whenever I add a new note after some time, I have to remember how to exactly format the category list. It also feels like something that may deserve more explicit markup.

I wonder how others are handling this. Is there a better way in org-roam (or org) to represent category links?

From what I have seen on this forum, the way you represent categories with a normal ID link is considered one of the best practices – you should be able to find many, long discussions around tags and categories on this forum from the past. I don’t think there is a single best practice, but from what I can gather, yours is one of good ones. This way, the more generic note “automatically” becomes an index note with all the backlinks.

What exactly is the challenge? Do you type all the ID link syntax manually , and that’s the issue? If so, I suggest that you use org-roam-node-insert. If your issues is to remember what “categories” you have in your system, you could use #+filetags for your category notes to explicitly indicate that certain notes are “index” notes. This way, you can easily narrow the candidates in org-roam-node-insert to only index notes (by default, the tags can be show with “#” prefix in the candidate list).

You can extend this and create a small wrapper function to only show index notes when you insert a note, and then automatically add “- Categories ::” as a prefix.