A RDF/OWL add-on for Emacs Planner Mode.

The Emacs Planner Mode is a simple, but very flexible PIM, working inside the famous Emacs editing environment. Its main publishing interface is HTML. planner-rdf provides an additional publishing interface, and exports task and note data to RDF format.

Exporting to RDF has the adavantage that it makes the data available in a structured format, which can be processed by a variety of tools. planner-rdf was created because I needed a way to re-use the task planning information and the accompanying notes in other environments, too. Another requirement was the need for a more fine-grained control over the publishing process (who gets to see what, in what form...).

Getting planner-rdf

planner-rdf 0.1 is available as a tar.gz archive: planner.tar.gz. Contents:

Installing planner-rdf

Put planner-rdf.el in a directory that is in your Emacs load-path and the following into your ~/.emacs file:

(require 'planner-rdf)

Publishing with planner-rdf

Planner-rdf is now included in the normal Planner publishing process. Pressing C-p will create a .owl and a .rdf file for every planner file. Additionally it creates an index, index.rdf.

By default all generated files will be stored in the normal Planner publishing directory, where the HTML files end up. If you would ike to change that, set the variable planner-rdf-directory to the desired location.

The generated files:

To get an idea what and how the data is provided please look at the planner-rdf.owl file, at the generated HTML documentation, or at this overview image:

Besides the factual information, e.g. the task status or description, planner-rdf extracts links (in the format [[...][...]] or [[...]]) and tags ({{...:...}}) from tasks and notes (including the notes text). Links and tags provide context for the plan elements and so are stored and linked with the containing elements.

Links point to locations that can be used to enrich the information in the Planner pages (e.g, by retrieving data from them and adding it), tags -- like the one for the task ids {{Tasks:198}} -- can be used to express abstract qualities. Some examples:

What tags to use is up to the user. Planner-rdf makes no assumptions about them, it just extracts and stores them. Only the applications using the data know what to do with them.

Usage examples

Some expamples how to use the generated RDF data.

Report generation with OpenOffice

The Perl file creates a simple report for the current week. The script extracts task and note information from the generated OWL files and inserts it into a simple OpenOffice Writer document. Nothing fancy, just a proof of concept, to show how planner-rdf can be used to integrate Planner Mode with other applications.

Besides Perl and OpenOffice you'll need the Redland RDF Application Framework. It is used to process the RDF data. Redland is small, but powerful, and available for many platforms and languages.

As an example the application loads the RDF data each time it is run. In the real world you probably would use Redland to store the Planner data in a database, to save the loading step each time you access the data.

Importing Planner data into Protégé

Protégé is a popular ontology editor and knowledge management application. A simple way to import data into it, is to provide a OWL file that contains the data as well as the schema. To do this:

Not the most straightforward process, but it works. The resulting file, here planner2.owl, can then be loaded into Protégé. A screenshots how that looks like:

Working with Emacs Planner Mode information in Protégé