Is there any way to have org mode simulate a graph structure rather than always a (folding) hierarchy? You could say a hierarchy is a tree graph, and you could "link" or give a "jump" from one entry to another -- even in another org file. It seems plausible to call an entry a "node," and a node could have listed in its properties "edges" leading to other nodes. Has anyone else thought of this?
Without knowing anything about how org mode is really coded under the hood, I'm guessing (from reading the documentation) it is simply built on the emacs folding code, i.e., there is no real underlying hierarchy algorithm(s) that you could hack into in order to make org mode more database-like (tree, graph, or otherwise).
Some of these thoughts came from the simple examples given in "Land of Lisp" where a simple nodes and edges representation was given with a-lists:
(defparameter *nodes* '(living-room garden attic))
(defparameter *edges* '((living-room (garden west door)
(attic upstairs ladder))
(garden (living-room east door))
(attic (living-room downstairs ladder))))
The nodes are living-room, attic, and garden. And the edges are an a-list keyed on the nodes, e.g., living-room has two edges, one connected to the attic (upstairs by way of a ladder), the other to the garden (to the west by way of a door).
I guess this is beginning to sound like a weak graph database hack, but as I envisioned it, each node -- an org mode entry -- could be leveraging org mode's big strengths: literate programming and loose, do-it-yourself text data storage.
North Shore MN