Notes should be atomic
In a personal knowledge graph that relies on notes, the notes should contain a single idea that makes one point. Having two points in the note makes the note confusing to link to.
Notes should be centered around concepts
We center a note on concepts, rather than an author, or a book, or something else.
Concepts are translated into content espoused by authors/books/websites. They are like "instances" of the general idea; they provide support/evidence that we can refer to inside a note. Authors in their writings usually espouse multiple atomic concepts (see: Notes should be atomic), which makes referencing the exact idea in a note on a book difficult too.
Building a great personal knowledge graph with Obsidian
Obsidian is a very unique product amongst personal knowledge management software. Over a recent two-week break that I took from work, I spent some time really digging into Obsidian and the broader idea of "personal knowledge graphs".
One particularly excellent example of how to build a personal knowledge graph is done by Andy Matuschak.
Some of my own notes on Obsidian:
How should notes be written to make an effective knowledge graph?
Paraphrasing Andy Matuschak:
And my own thoughts tacked on:
Now, what were the exact steps in building out the notes website?
Firstly, I used Obsidian to author the notes. The fact that it's a great IDE for linked thought helps a ton.
Secondly, I used an unpublished, install-from-source-only Python package, apparently developed by a Google engineer called Lettersmith to compile the markdown files into HTML files. I followed a baseline script by another GitHub user @kmcgillivray, who made obsidian-lettersmith
, which provided a starter script I used as a base. I used a Jinja template to populate each page.
Thirdly, I re-visited Bootstrap docs to get styling done in a Bootstrap-idiomatic style. Previously, I was completely unaware of the styling utilities available. This meant I was maintaining very poorly-documented CSS hacks to get styling done right. By using the Bootstrap 4 utilities, I was able to compose together styling in a fashion that was much, much easier to maintain.
Fourthly, I wanted hover previews, which meant hacking the Jinja template with some custom JavaScript. Not pretty, and a bit verbose in the compiled pages, but it worked :).
By this point, I was happy enough with the sort-of-replicated Andy site.
I continue to use Obsidian to author the notes. As an IDE for linked thought, the graph view helps me see which notes are still isolated to one another; this gives me a great visual hint as to where I could add more links. I also continue to hack on the notes UI. The source code is in a private repository at this point, as I have plans to separate out the code for building the site from the notes source.