Version 45 (modified by kiesel, 13 years ago) (diff)


Welcome to Kaukolu Wiki!

About Kaukolu

Kaukolu is a semantic wiki research prototype based on JSPWiki and is used as a testbed for alternative approaches of mapping wiki contents to a knowledge base. While most semantic wikis identify pages with (RDF) resources and links between pages with (RDF) predicates, Kaukolu implements an indirection layer between the wiki page model and the RDF model. RDF resources can get created (and may be 'attached' to sections of text), forming annotations. Users can navigate both in the standard wiki world and the layer formed by annotations, switching between both views as needed. This is particularly handy when dealing with existing texts (e.g., text migrated from normal wikis or texts imported from somewhere else).

An example: We import a software license text (for example the text of CC-by) to Kaukolu. We either have an ontology that models software licenses created in an external application and them imported or created this ontology in Kaukolu using its semantic wiki markup (see below). Then, we can select sections of this document, and create RDF modelling the facts expressed in this text. I.e., for each Definition (of a term) in the license, a corresponding RDF instance such as DefinitionOfDerivativeWorkOInstance1852 can be created.

Do this for several licenses. In the end, you can use Kaukolu's extended search to find licenses that match your requirements as well as see the exact text sections leading to this. No need for special syntax, no need to (re)create content with the wiki's semantic innards in mind, no need to change existing texts.

Creating annotations

Kaukolu allows to create annotations using its form-based editor. Users can select arbitrary parts of the current wiki page and create instances that annotate the corresponding section. Selection of the type of instance to create is done with an ontology class browser. This can be used to annotate page sections as tiny as single characters. Overlapping annotations are supported. Some 'context' such as user and time of annotation gets saved along with the actual annotation (instance).

Another way for creating RDF is adding arbitrary statements to wiki pages using an NTriple-like syntax. Instead of full URIs as subject/predicate/object, aliases can be used. Alias<->URI mapping has to be defined explicitely. An autocompletion feature simplifies adding triples. This feature can also make use of ontologies: Completion suggestions are based on whether you are typing a subject, predicate, or object then (e.g., if you already entered a subject and use the autocompletion feature at predicate position, only predicates matching the subject's rdf:type are suggested). Inference of the underlying store, Sesame, is used for these types of suggestions.

Displaying Annotations

Annotations created by the user have to be displayed in some way in order to be of any use. This happens by different means.

By default, all annotated passages on the current page are highlighted. Alternatively, the highlighting can be substituted by small icons that show up at the side of the paragraph instead. This makes the text more legible, but might still represent more information than the user is interested in. Kaukolu offers configurable filters at the top of a page that allow to restrict the set of displayed annotations matching specific parameters only, such as author. The filter definition was designed with respect to the Mymory Project and can thus be adapted to other application areas of Kaukolu. Also related to Mymory is the special handling of Eyetracker annotations which can be filtered out or change the presentation of the text completely.

The whole topic is described in detail on the dedicated page Annotation display.

Using annotations

Kaukolu features enhanced search and document summarization based on annotations. Users can build queries using a special user interface (no special query syntax needed). The way queries are built is inspired by faceted search and integrates annotation search with normal wiki page metadata (author, lastchanged) search and fulltext search. Granularity of search results is paragraph level. Search results can be used for creating new wiki pages automatically.

Other Features

For a more detailed list of Kaukolu's semantic features, see KaukoluWalkthrough.

Extensions to JSPWiki

While working on Kaukolu, we have developed several features that -- while not directly related to Kaukolu's semantic features -- go beyond the functionality offered by JSPWiki. Some of these are in use with standard JSPWiki installations.

Features compatible with standard JSPWiki:

  • LDAPUserDatabase - authorization using an LDAP server
  • EmailNotifier - flexible wiki change notification via e-mail
  • Versioned page rename/delete (requires lots of changes though)
  • Bulk import/export feature allowing to import page and attachment data to/from a ZIP archive, either in native JSPWiki syntax or in Wiki Interchange Format
  • "Remember me" button for the login page (cookie based login), which allows user sessions to outlive the server process


Kaukolu is a research prototype.

Kaukolu is part of the Mymory project. The idea is to annotate pages with attention information gathered by an eyetracker as well as adding user context information gathered by a context elicitation system to the wiki (these systems are not available as open source though). These annotations can then be used for enhancing search and new dynamic documents functionality.

Kaukolu was part of the NEPOMUK social semantic desktop project.


Do not get confused by the wiki you are currently looking at - this wiki implementation is part of the OpenDFKI infrastructure which is based on Trac, a project management software.

Currently, we have no public demo site for Kaukolu. Stay tuned.


Kaukolu is an open source project, you are welcome to contribute. For an introdcution to our development environment, see DocumentationForDeveloping.