This documents lines out a vision for a personal knowledge base.
- David Allen - Getting Things Done
- Lion Kimbro - How to Make a Complete Map of Every Thought you Think
- Niklas Luhmann - Zettelkasten
- Ted Nelson - Hypertext
- Semantic Note Taking System
I am interested in the Paper "A Plea for lean software." by Nicolas With. I have used the browser plugin to automatically download the paper and add it and some meta information to the system. I can view this information as a graph:
Next, I read through the paper in the included PDF viewer. I find an interesting quote: 'Software expands to fill the available memory.'. I can mark the quote in the viewer and the systems automatically adds it to the graph:
The system allows me to link to specific positions in PDFs, text files and images.
Next, we want to find all quotes from Nicolas Wirth and view them in a Table. For that I define a view called quotes_by_autor that finds all quotes by any author:
quotes_by_autor AUTOR := QOUTE 'source' DOCUMENT & AUTOR 'is author of' DOCUMENT
(made up syntax)
I can call this view with any autor as a parameter. The result is a table with all the matching entries. The system includes a table viewer.
The system automatically generates BibTeX files which can be used later to write papers in LaTeX.
The user interface is made up of a REPL, a graph viewer and a table viewer. The REPL is aware of the current state of the graph and can operate easily on the visible nodes. The interface is optimized for keyboard use.
The system is made up of a number of applications which can be categorized into three parts. The data is stored in an RDF database (Triplestore). The GUI implemented as a Desktop App in Rust. It is scriptable using LISP. Collectors can be written in any language and are adding data to the RDF store.
A core component of the system is a transformer that converts data from one format into another. These can be connected to add new information to the system or generate views on existing information.i
Like edges in a knowledge graph they connect different data formats and sources.
- word list
- english word -> definition (as structured data)
- definition -> flashcards
- all flashcards -> list of flashcards due for review