The OP is "How do you build a personal knowledge base?" I have used over years many tools. For me I need a tool that can handle: (a) "easy, unstructured data entry"; (b)"help find emergent pattern in data entered at (a)."
TiddlyWiki (https://https://tiddlywiki.com/) is a very interesting and useful tool that matches my two criteria above very well.
Its usable immediately. Just click to create a "Tiddler" and type. Later you can manipulate/present the "Tiddlers" you created in numerous ways.
The basic version is a single HTML file that self-modifies (for interested programmers its a rare example of a pure "Quine"). It works in any browser.
Browser extensions are available for it so that it can overwrite save, rather than download save.
It will work with the cloud if you need that. Interfaces with Google Docs. Free publishing from local TiddlyWiki to online publishing is built-in for http://tiddlyspot.com. And more I can't list. See main site for info.
It has its own scripting language that includes string matching, maths and complex filters. In particular its "filter" mechanisms, that are largely list oreientated, allow complex interrogation and presentation of content.
It supports JavaScript modules allowing full integration of good existing tools.
There are also other versions of TW that are node based. Of the more interesting branches are "Bob" (https://github.com/OokTech/TW5-Bob) that provides all of TW's base functionality plus interaction with the OS on all major desktop platforms. Another is TiddlyServer (https://github.com/Arlen22/TiddlyServer).
IMO its a very sophisticated and very effective tool for recording unstructured data in any form.
The real plus in it is that you can then, if you need, begin to structure that data in innumerable ways.
An upside is you can learn the basics very quickly. A downside is that it can take some time to fully understand all you can do in it and how to do it.
One thing I forgot to mention was the power #TiddlyWiki has for Transclusion. Much software uses it but in an inexplicit way that users don't fully control.
In Tiddlywiki it's an outstanding central, user documented, feature of huge utility ... some basics ...
TiddlyWiki (https://https://tiddlywiki.com/) is a very interesting and useful tool that matches my two criteria above very well.
Its usable immediately. Just click to create a "Tiddler" and type. Later you can manipulate/present the "Tiddlers" you created in numerous ways.
The basic version is a single HTML file that self-modifies (for interested programmers its a rare example of a pure "Quine"). It works in any browser.
Browser extensions are available for it so that it can overwrite save, rather than download save.
It will work with the cloud if you need that. Interfaces with Google Docs. Free publishing from local TiddlyWiki to online publishing is built-in for http://tiddlyspot.com. And more I can't list. See main site for info.
It has its own scripting language that includes string matching, maths and complex filters. In particular its "filter" mechanisms, that are largely list oreientated, allow complex interrogation and presentation of content.
It supports JavaScript modules allowing full integration of good existing tools.
There are libraries of plugins--both official (https://tiddlywiki.com/#%24%3A%2Fcore%2Fui%2FControlPanel%2F...) and unofficial (https://dynalist.io/d/zUP-nIWu2FFoXH-oM7L7d9DM -- hundreds) that extend function in many ways.
There are also other versions of TW that are node based. Of the more interesting branches are "Bob" (https://github.com/OokTech/TW5-Bob) that provides all of TW's base functionality plus interaction with the OS on all major desktop platforms. Another is TiddlyServer (https://github.com/Arlen22/TiddlyServer).
IMO its a very sophisticated and very effective tool for recording unstructured data in any form.
The real plus in it is that you can then, if you need, begin to structure that data in innumerable ways.
An upside is you can learn the basics very quickly. A downside is that it can take some time to fully understand all you can do in it and how to do it.
For developers its Github gives insight into how it works and current developoments (https://github.com/Jermolene/TiddlyWiki5).
It has a useful, friendly, discussion group (https://groups.google.com/forum/#!forum/tiddlywiki).
Its a kind of "Swiss Army Knife" of information tools.