In Obsidian, I can link a normal head with[[]].
In org-roam, I must org-id-get-create
to give the headline a ID first, then org-roam-node-insert
link it in other org file. It’s not so convenient.
I hope When I want to link to a headline, roam list all headlines with or without ID, then org-roam create a ID on the headline i chose automatically.
And why org-roam create a ID drawer to identify a node? I think all the files and headlines could be cached as a node. org-roam use sqlite, it can process large data for a person.
One important benefit of an ID for a node is that you can move it around in different files and Org mode (not just Org-roam) can still keep track of the node – links to it will still work.
If you look up in the forum, there are people who want to create a new file from a heading in an original file, while keeping the network of ideas intact (no need to change existing links to it) – IDs can let you do this.
If you would like to know why Jethro (the author of Org-roam) has decided to use IDs, you can read his own account on his blog post. For instance, this part:
The key difference between v1 and v2 is that v2 makes no distinction between a file note and a headline note. In v2, Org-roam views notes in terms of nodes, where a node is any headline or top-level file with an ID . This means that IDs are now compulsory.
This one requirement reduces a lot of overhead. We no longer need special hooks maintaining the validity offile:
links, and no longer have to treat headline and file notes differently. Org-roam v2 removes 7000 lines of code while only re-adding about 4000, and even ships with a few more features than Org-roam v1.
Yes, some people achieve effectively the same thing by generating an ID for each and every file and headline in org-roam-directory
. I personally don’t use this approach, but that’s something you can try and see if you like for yourself.