Org roam leverages orgmode's id generation, which supports:
uuid - Use org_id_uuid_program to generate the id
ts - Generate id from current timestamp using format org_id_ts_format
org - Generate a random 12 digit number and prepend org_id_prefix
An id that doesn't exist is Luhmann-ID, which was the original and incorporated sequencing into notes.
Rather than have ids conform to include ordering, my thought is to have an additional property that contains the id of the predecessor of the note (if any).
:PROPERTIES:
:ID: 5678
:ROAM_ORIGIN: 1234
:END:
Some note that I created while I was within node 1234.
When capturing or inserting, this would be injected automatically if we are within a node at the time.
Alongside ROAM_ORIGIN, we'd want something like org-roam-insert-origin and org-roam-remove-origin to add/update an origin (open the select dialog) or remove the origin.
From there, we would add a field to org-roam.core.file.Node that represents the origin and index on it so we can quickly find origins tied to a node.
Lastly, we'd want to update the roam buffer to show the origin if the current node has one.
In Zettelkasten, not only are links between index cards a core feature, there is also the concept of partial ordering of ideas incorporated into the ids of nodes. Known as Folgezettel, it's debated quite a lot.
Org roam leverages orgmode's id generation, which supports:
uuid
- Useorg_id_uuid_program
to generate the idts
- Generate id from current timestamp using formatorg_id_ts_format
org
- Generate a random 12 digit number and prependorg_id_prefix
An id that doesn't exist is
Luhmann-ID
, which was the original and incorporated sequencing into notes.Rather than have ids conform to include ordering, my thought is to have an additional property that contains the id of the predecessor of the note (if any).
Alongside
ROAM_ORIGIN
, we'd want something likeorg-roam-insert-origin
andorg-roam-remove-origin
to add/update an origin (open the select dialog) or remove the origin.From there, we would add a field to
org-roam.core.file.Node
that represents the origin and index on it so we can quickly find origins tied to a node.Lastly, we'd want to update the roam buffer to show the origin if the current node has one.