SourceForge.net Logo

Juju

Personal/Collaborative Knowledge Management Engine

Juju is a personal/collaborative knowledge management engine combining principles of Wiki and the Semantic Web. The initial version is produced in Java with support for most common relational database engines (initial testing performed with MySQL.)

I created Juju initially as a personal information manager, out of the desire to house the many varied bits and pieces of data that I come across every day in a single data environment. I was dependent on too many specialized "silos" of information with limited or non-existent capability for interoperability and repurposing.

Initially, the Wiki concept had me. It's ease of use ultimately trumped all of the various content-management and knowledge-management alternatives, but Wiki implementations didn't have a formal system to capture the nature of the relationships modeled by the linking from page to page. A link from one page to another was just a link, lacking definition, and provided no way to model the resulting web as anything but a flat web.

What I really wanted was a way to describe a link. For example, lets say we had a page called "LukeSkywalker". On that page there might be a link to "DarthVader". I wanted a way to record a description of the relationship between Luke and Darth using some kind of easy in-line markup. I was aware of the Semantic Web, which uses RDF triples to define relationships, but the syntax was very non-Wiki and extraordinarily ugly-- far too complicated for the casual user (let alone a 20+ year computer programming veteran like myself!)

I decided to make my own Wiki which allowed entries to be descriptively linked. So on the "LukeSkywalker" page, our "DarthVader" link could be written like "DarthVader>>Father". This makes it possible to query the system for things like "?Who>>Father>>LukeSkywalker" and get an answer. With enough information, we could query the system to find out all of the fathers of Jedi Knights, "?Who>>Father>>?Jedi && JediKnight>>Occupation>>?Jedi".

The possibilities are actually quite extraordinary once you start playing with the concept. What's even weirder is that the technology to do it is not complicated and yet I haven't EVER seen it done in a simple and usable way (at least to my liking.) And I have tried hundreds of different software packages in the search for something like this.

So simply put, Juju aims at solving the "too-many information silos" problem by providing a simple Wiki-like database engine with powerful querying and summarization functions, to bring the data to life in a way that is useful for casual users and extraordinarily powerful for people who want to take the simple framework to the limit.

Juju is written in Java and was designed for a MySQL database, though it should support any common database engine through JDBC. It is designed to be usable as an engine to plug into other software and will ship with a simple desktop client GUI and (eventually) a Web Interface.

Juju draws its inspiration from many sources, most notably: Wiki, Semantic Web, RCS (Revision Control System), CVS (Concurrent Version System), Blogging Systems (such as Blogger, Livejournal, and MovableType), SQL (Structured Query Language), and THE/Archy (www.raskincenter.org).

More Information Coming Soon

If you are interested in this project, send me a message and I'll email you when I post the files. juju at brendanavery dot com