Fully Automated Luxury Lightweight Semantic Engine

I started this project to bring my web site up to date and make it easier for me to put things up on there. Neither of those required me to go back to hand cranking a web framework—a bit of responsive CSS and a git hook would have been enough for that—but I also wanted to bring in some of the ideas I've been working with in the day job.

Include the world

A Web site can be more than a personal portfolio.

My "knowledge graph" should be just as likely to contain entities created by others as by me. An earlier web thing I had, goblin , attempted to address similar questions where it allowed people to respond to your posts, not as comments on your web site, but on their own, the idea being that everyone retained control of their content—but that made rendering the post with all its comments really tedious. When your comment is a bit of Markdown on IPFS, however, all we need to agree on is facts like "this comment is by you" and "this is commenting on that other content by me". Which facts we decide to believe is up to us.

Rich descriptions

Think of the knowledge graph as more than just a description of a Web site.

My web site is a slice through that graph consisting of those ideas I want to (and am allowed to) make public. But I don't want the question of what goes on my web site to be tangled up in the question of what I want to capture. I want to be able to put some RDF in any folder, and express what facts I care to about the stuff in that folder, and for the Web site aspect of it to just happen.


Use IPFS for all files.

IPFS and RDF go together very well: RDF lets me use global, persistent IDs to state facts about my files, while IPFS gives the files themselves a global, persistent ID, which doesn't depend on where I decide to put them, or whether I put them on my web site at all.


Define everything in Turtle.

Just as I future-proofed my content with Jekyll by writing it in Markdown and moving the HTML away into templates, RDF lets me do the same thing with structure. I can reorganize the entire website, privilege some relationships over others, whatever, without touching the basic facts. Turtle is pretty easy to hand-crank, and I can hope that someday there will be a decent editor for it.

IDs for everything

Give actual concepts IDs and work with them, rather than making web pages out of page templates.

Jekyll is fine for moving chunks of HTML around, but it's only "blog-aware": I want to be able to talk about places, people, projects, directly on the site, rather than wrapping all that meaning into undifferentiated "blog posts".

Lots of features

FALSE already has more features than it really needs: contexts could have been done through templates.

Beautiful code

FALSE tries to outsource its own goals as much as possible. The actual code is a proof of concept and I'm trying to limit its scope.