Kaukolu

Kaukolu Project Page
homepage:=http://kaukoluwiki.opendfki.de/

About
Updated for Kaukolu revision 737 (2007-10-30).

Kaukolu is a semantic wiki research prototype 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 annotation generator. 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, too. Alias<->URI mapping has to be defined explicitely. An Ajax-based 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.

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
Nonpublic experimental features include interfacing with an Eyetracker, using attention information gathered by it to enrich annotations on wiki pages. Another feature is interfacing with a context elicitation framework, allowing to use context information in search. In the end, queries such as Find sections I read multiple times when working on project X are possible with this technology.

Features

 * coded in::Java
 * based on::JSPWiki


 * Subject Attribution: SWikiFeat:SubjectAttribution:=any (any URI)
 * Subject Granularity: SWikiFeat:SubjectGranularity:=sentence (actually any URI/wiki page section)
 * Representation destinction: SWikiFeat:RepresentationDistinction:=true
 * Terminology reuse: SWikiFeat:TerminologyReuse:=true
 * Object type: SWikiFeat:ObjectType:=any
 * Context: SWikiFeat:Context:=true
 * Import RDF: SWikiFeat:ImportInstances:=true
 * Import RDFS: SWikiFeat:ImportTerminology:=true
 * Export RDF: SWikiFeat:Export:=true