Monday, May 11, 2015

A data lock free local file format for a concept map or mind map application

It occurred to me, probably not for the first time, that there’s a natural local file store data lock free ‘file format’ for a concept map or mind map application.

Treat each node as a file system directory (folder) and make the node name the name of the folder. Treat hierarchical relationships between nodes as container relationships in the file system. Represent other arcs as hard links (unix) or soft links/shortcuts/alias contained with a folder. (Would be good to be able to distinguish Aliases that represent relationships between nodes from Aliases to system files that are properties of the node, such as an nvAlt/Simplenote text file.)

Treat other contents of a folder as properties of the node, such as notes (plain text, RTF, etc). 

And so on.

That’s the file “format”, the UI can be any variant of current Mindmap/concept map. User interactions turn into file system calls.

I’m sure someone has done this somewhere. Anyone know of a reference?


Charlie Stross said...

That's almost exactly how Scrivener's internal file format works. It's a bit more opaque - metadata files for tags and suchlike, directory names are numbers - but that's basically it.

JGF said...

Wow. Had no idea. Validating to reinvent it. Makes me interested in Scrivener.