KiWi Release 0.8

Due to an active development process of features, natural chaos regarding organizational issues (e.g. Kenai was closed for public access) and a lot of urgent deadlines for proposals and papers, it has been a long time since we published a KiWi release. The last KiWi release 0.7 was announced in December 2009, as you can read on Sebastian Schafferts Blog. Last friday, however, we found some time to fix the last major bugs, test the newest features, provide some minor aesthetic surgeries and release the new prototype version 0.8. We are glad to present the new features of KiWi:

Configuration Wizard:

Mihai Radulescu implemented the configuration wizard that allows to easily deploy a fresh version of KiWi. With the wizards help one can chose the preferred database (standard for testing is h2 DB, alternatives are PostgreSQL and MySQL), the working path to store indexes and triples, and the extensions that should be installed. To run the wizard you should have a look at the installation HOWTO, where the basic step is to insert http://localhost:8080/kiwi.web.setup/wizard_database.seam in your local browser and follow the instructions.

Semantic Forms:

The Semantic Forms feature has been implemented by Rolf Sint. It allows to define forms by annotating form fields with RDFa, therefore providing the ability to store form data in a semi-structure format. Semantic Forms can be created in the Wiki-Editor by clicking on the ‘+’ sign at the top of the editor and choosing a pre-defined Semantic Form template. After defining the values of the Semantic Form it can either be stored as a modification to the current ContentItem or as a new ContentItem. Semantic Forms are a currently evolving technology that supports a lot of UseCases in the field of Semantic Web, for example in project, risk or idea management.


As announced in the KiWi 0.7 release blog entry, TagIT2 had a usability stress test in January 2010 at the Salzburger Nachrichten Agentur (local newspaper for Salzburg, AT) under the lead of Thomas Kurz. It went very well and the results are very satisfying. Besides the existing TagIT2 functionality, KiWi 0.8 introduces the features for defining and importing routes (gpx-import) in TagIT2.

Identitiy & Permission Management:

The identity management hast been refactored to build a basis for the permission management. JBoss Seam’s identity management is still in use, but an identity is either a registered user or the pre-defined anonymous user, but never undefined. This allows us to assign and to withdraw roles and permissions for users that are signed-in and for those who are not.

KiWi 0.8 introduces global and individual permission management for single users and groups of users that is (hopefully) easy to maintain. Global permissions are defined in the admin extension under ‘manage permissions’, where users or groups can be assigned to read, write and admin roles. Individual permissions can be defined in the ‘individual permissions’ action in the Wiki view for each ContentItem. Identity and Permission Management were my contribution to KiWi 0.8.

Information Extraction

Marek Schmidt updated the information extraction service prototype with two major new features: Extractlets and Annotation Editor.

Extractlets are a new simple API which allows developers to easily write custom information extraction components to produce various kinds of suggestions (including links, tags, fragments and nested items), taking advantage of the natural language processing pipeline provided by GATE plugins.

The prototype of the annotation editor is now able to display information extraction suggestions and enables seamless annotation with all kinds of metadata supported by the KiWi system (links, tags, fragments, nested items).


The Reasoner experienced a refactoring by Jakub Kotowski mainly to clean up the code, to make it nicer, more general and to prepare it for further features. The highlight is that a subset of OWL2 RL can be expressed in sKWRL and processed by the reasoner. The Explanation Service deals correctly with multiple derivations and detects cycles. Another interesting improvement is the partly separate TBox/ABox reasoning which is now mainly to speed up reasoning by firing only rules which can be satisfied with respect to the TBox.

Personalized Search

The KiWi users are now able to get their search result personalized based on their tagging activity.  The idea is to promote the returned items closer to user preferences at the first positions. Technically, we re-rank the regular search results by measuring the similarity of tags assigned to the content items retrieved in the search with a set of tags which denote user preferences. Fred Durao lead the Personalized Search improvement and the development of Social Capital Recommendations.

Social Capital Recommendations

The tag-based recommendations are now powered by a social capital factor, which considers the summation of collaborative work behind WiKi pages. The goal is to use the energy employed on the development of pages for increasing the performance of the recommendations. In addition to the collaborative work, the social capital factor is weighted by user expertise and the interactivity between social ties. The user expertise is calculated by the amount of contributions (i.e. tagging, editing, commenting, rating) an individual performs for the whole community, whereas the interactivity is accounted as the amount of activities a single user performs on the pages created by his/her social ties.

VMT 2.0:

The intern Arpad Borsos, who has been employed at Salzburg Research for the last 3 months, extended the vocabulary management tool (VMT), which evolved out of Rolf Sint’s Diploma Thesis, by means of user interaction and user interface. VMT 2.0 is now based on Smart GWT and uses the new SKOS standard. Furthermore, SKOS concept merging is now possible with VMT 2.0.

Ideator, Alpha-Version:

Rolf Sint and Thomas Kurz started a new use case scenario, the Ideator, which is implemented as an extension to KiWi. The main idea behind that use case is an application for collaborative idea management. Currently, the ideator enables the creation and categorization of ideas and impresses its users with a beautiful user interface.

Ideator Screenshot

Community Equity (CEQ):

Mihai Radulescu improved the CEQ feature by applying different ageing functions depending on the action type (e.g. the equity points gained with a comment action will deprecate faster than the one gained with an edit action).

There is a set of default ageing functions (one per action), which can be changed according with the user needs. For the moment this functionality is only provided on the service layer.
The current implementation provides support  for postgreSQL and h2 databases, MySQL and Oracle  will be supported in the next version.
There is a very basic UI for the CEQ functionality (Inspector -> Inspect CEQ values).

All in all, we are happy that we have found some time to bring KiWi 0.8 to the public and we’ll try to adapt to the “release early, release often” attitude, again. The code can now be found on the google code repository Have fun trying it out and see you next time with (hopefully) more features and less bugs 🙂

The reasoning refactoring was mainly to clean up the code (to make it
nicer, more general and to prepare it for further features (e.g. the
parser now can parse a lot more than the reasoner is able to process, the
abstract syntax tree classes are changed accordingly, etc.)), I tried to
improve efficiency but the difference is not significant. The highlight is
that a subset of OWL 2 RL can be expressed in sKWRL and processed by the
reasoner. Explanation is finally "fixed" and deals correctly with multiple
derivations and detects cycles (well, at least some of them...I did not
have the time to implement a complete detection). And for some it may be
interesting that there is a partly separate TBox/ABox reasoning which is
now mainly to speed up reasoning by firing only rules which can be
satisfied with respect to the TBox. Reason maintenance can be incorrect in
some cases - I have to improve the reasoner a bit to deal with it

About stexx

Junior Researcher and Software Developer at Salzburg Research; just graduated from the University of Applied Sciences in Salzburg and now studies at the University of Salzburg in the faculty of Applied Informatics; loves industrial music and progressive rock (Nine Inch Nails, Tool, A Perfect Circle, Cocoon, etc) and is mostly harmless.
This entry was posted in Java Enterprise Edition, Software Development and tagged , , , , . Bookmark the permalink.

One Response to KiWi Release 0.8

  1. Henry Story says:

    Very nice. Just missing a good foaf+ssl implementation 🙂

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s