Spatial Graph Embeddings

I’ve been inspired by The Hyperfine Village (see also the related twitter thread). The basic insight is that some things are naturally organized not by keyword / tag / hierarchy, but by location in a 2D/3D space. To this end, Lisa organized her Roam into the spatial categories on this map:

Org Roam

I’d love to know the communities thoughts on this concept: might leveraging our spatial reasoning facilities help maintain large knowledge graphs / Zettlekasten systems? What would you use it for?

I’m keen to test this concept with Org Roam since it’s easily hackable and I already have thousands of nodes in it to test with.

Example Uses

  • Categorizing notes on projects into rooms like “Office”, “Lab”, “Attic”, “Studio” …
  • Visualizing notes with geographic context (e.g. from traveling) on a world map.
  • Organizing notes on books / papers in different sections of a “library” map. I imagine just pinning high-level tags (e.g. “complexity science”), and related notes would cluster around them.

Prototype Sketch

  • We could render a subset of the graph with nodes clustered around given 2D coordinates and background image.
  • This could be done with a new node tag specifying the map ID (image path) and the (x, y) attractor coordinate.
  • Nodes without such a spatial tag would use a standard layout algorithm, naturally constrained by any spatially embedded neighbors.
  • We’d likely want a way to hide nodes that are too many hops away from a spatially pinned node.

Future

I’ve had lots of fun brainstorming how far this idea could go. For example, imagine giving a virtual tour of your digital garden in something like https://gather.town/, where your interests, life projects, research passions, etc… are naturally embedded in the space. Sounds like more fun than a 1-page PDF resume!

3 Likes

Super quick response; have not thought about this deeply.

Pretty cool, but that latter part doesn’t make sense to me.

This is just a visual way to represent some logical data.

So the rendering should be configured in some place other than the actual notes, much like rendering of HTML pages pages is handled via separate CSS code.

I really like this concept: I have no technical input but have often considered what it would be like to have my org-roam notes displayed somehow in a 2D RPG-style space (think Pokemon or similar).
I haven’t read the linked twitter thread, but this reminds me of the memory palace concept.
I would personally love to give something like this a try, and think it has potential as a useful method of associating/recalling information.

I am afraid that stretches the limit of the org roam ecosystem. I think that Emacs is not suitable for interactively working w/ spatial representations. Everything where you will “translate” some kind of data into a map will work, of course. But to be a productive tool, one would have to arrange Zettel, or any other kind of item, on a plane.

This being said, I am also a huge fan of spatial thinking (“diagrammatic thinking)”. I think it is helpful for all kind of stuff, and it’s one of the intuitive appeals of the desktop metaphors of UI.

Yes, I don’t imagine rendering the map inside Emacs. I was thinking of an UI similar to org-roam-server, where the browser and Emacs have coordinated views.

I didn’t know that exists! That’s cool. It’s like synctex on steroids…

I really like this general idea too. Some kind of spatial overlay over PKM would be good for recall I think. I had started doing an interactive map through my wiki, but didn’t get that far - https://commonplace.doubleloop.net/interactive-journey.

I think the gather.town idea and sharing of your virtual garden would be great too. I’ve a few thoughts jotted down in my wiki at https://commonplace.doubleloop.net/collaborative-memory-palaces