Org-roam as filesystem

Just taking a short break off work. Excuse the brevity.

It is possible, but it’s not built-in and I haven’t seen done for all extensions in your file system (under org-roam-directory).

I have done it with my md-roam for Markdown file: GitHub - nobiot/md-roam: Use Org-roam with markdown files by adding Md-roam as a plug-in. Mix org and markdown files in a single Org-roam database..
From this experience, here are some points:

  1. Use org-roam-db.el as a reference only. Do not use any of the functions directly, because the underlying org-element will output warning if it is used in non-Org buffers.

  2. This would mean you’d need to create your custom functions to update database (the same database that you specify org-roam-db-location. This then should let org-roam-ui to take the data entries as they are with no changes

  3. See variable org-roam-db--table-schemata for the tables and their schema.

  4. You’d likely need to update 3 tables files, nodes, and links.

  5. For non-Org files, you will need to decide what constitute an ID for them. Consider file name prefix, for instance (like Denote does), for binary flles, including PDF documents, images, etc. For plain text files, such as Markdown, etc. you could read the file content, but it may be easier to have a consistent way.

Good luck. I need to go now…