Browser + SPARQL Server = Wiki

PS. I’ve worked on the code a bit more and split it out into its own project at github, fuwiki.

For a bit of xmas play I’ve put together a minimal wiki that only uses (jQuery-rich) web pages and a SPARQL server. It’s only at the rough proof-of-concept stage (I just this minute got it working, rather pleased so decided to tell the world :). It lacks fairly essential things like user management/authentication and page locking, but even as it stands it should be useful as a personal wiki. The code is on github, only 3 HTML pages and a little JS within my very cluttered Seki repo (probably best to do a sparse checkout from around here, if you want to play). No docs yet apart from this post. Call it FuWiki.

I’ve built it against the Apache Jena Fuseki SPARQL server, though any other standard one that supports SPARQL Update should work as a substitute. Some kind of web (static file) server will be needed, conveniently Fuseki has one built in. Editing is done in Markdown format.

I decided to have a go after a couple of personal projects seemed to flow in the same direction. I want Seki to support Wiki-style authoring and have been playing with code for an Android-based personal wiki. Online storage for both will be provided by a SPARQL server. In both cases a recurrent annoyance is having to create data manually to bootstrap things. But it struck me that recent experiments with Remarkably straightforward (and shiny!) browser UIs for SPARQL store-based apps could be leveraged. That’s a way of setting up jQuery/Ajax stuff so SPARQL queries & updates can be specified directly in the HTML page Javascript. I’ve thrown in some very minimal templating (e.g. a placeholder like ${title} in the SPARQL will get replaced by the actual text of the title), and glued in a little markdown parser/renderer lib (marked). On top of that quite a bit of URL text rewriting was needed to hide what’s under the bonnet, plus the usual jQuery/HTML/CSS wrangling.

Loads more to do to make it nice, but I’d better get on with something to help pay the bills first.


1 Response

Leave a Reply

Your email address will not be published. Required fields are marked *

Post comment