Version 5 (modified by anonymous, 16 years ago) (diff)


Welcome to KaukoluWiki!

KaukoluWiki is a Java-JSP-based Wiki that manages its data by using Semantic Web tools. It can be called a “Semantic Wiki”.

The main reason for developing such a Semantic Wiki was the fact that most Web pages lack Semantics, i.e. means to include the “meaning” of a certain piece of data. This is the reason why manipulation of Web data is still a tough and cumbersome task.

A means was needed to create Web pages that semi-automatically include Semantic information. This was the main reason for creating KaukoluWiki. It is a Wiki that uses methods of the Semantic Web to bridge the gap between Semantics and the WWW.

Main Features

Data handling via Semantic statements, usually in the RDF/ N-TRIPLE notation.

“Semantic Annotations” creatable, that link a word of natural language to a resource, such as an URI. The intention of this is to create “keywords”, whose occurrence in the Structured Text of a Wiki page prompts KaukoluWiki to list up the URI it is linked to.

Possible to define synonym pages and to include existing texts into another Wiki page, cutting redundancy.

Allowing the user to view what actually links to a certain Wiki page.

Basic RDFS viewer, which is yet somewhat unconnected to the rest of the Wiki but would be integrated further in later versions.

Technical Details

Technically, KaukoluWiki is an upgrade of the existing JSPWiki by Janne Jalkanen ( Whereas JSPWiki uses text files as its backend, KaukoluWiki keeps its data using “Semantic Triples”, provided by the Semantic Web technologies RDF, RDFS and RDQL. Provenance is maintained by “Semantic Quads”.

The Triples are implemented by the Java framework Jena-2.2, and the Quads by the Java framework NG4J-0.4.

Improvement Proposals

First of all, the Provider (RDFProvider3) finds the ntriples.txt file (i.e. the file which contains all the Web page-related RDF statements, such as text) via a HARDLINK. Obviously, this is bad, but I have found so far no solution to circumvent this. WikiEngine.getBaseLink() does not seem to work for some reason I cannot comprehend.

Secondly, the data handling of Kaukolu is somewhat clumsily implemented. Actually, all the stuff which is meant to be rendered should be handled in Provider.getPageText(…) or Provider.putPageText(…) , but I put much of the work into the JSP files. The intention was to JSP-page-specifically extract RDF information (such as what to render exactly -the generic and the RDFS viewer renders different texts than regular pages - what class the page is, what properties it has etc.). Due to lack of time, I was not able to create a more elegant, Provider-only solution.

Further improvements would be to implement a very basic RDFS “editor”, to introduce onMouseOver or JS elements or to work with some other data structure than just Triples.


It is essential that the path to the repository files (ntriples.txt, trix.txt, rdfs.txt) is defined correctly in the Provider and in every JSP file (if applicable) is set correctly. Otherwise, there will be FileNotFoundExceptions thrown.

The path to the default page is <Wiki path>/Wiki.jsp?page=Main. Without a "page" parameter, there could be errors.