Version 5 (modified by pichota, 13 years ago) (diff)

creating drawings

Form Based Annotations

In Kaukolu, you can annotate arbitrary character sequences of a wiki page's body with an RDF class of your choice (the annotation's concept class). That way, not only the page itself gets enriched with semantics, but also arbitrary contents down to the granularity of a single character. Annotations are not only represented by their concept class, but also using additional information such as their author, their time of creation and an optional comment or description.

Usage Information

While annotations can be created programmatically, we have also created a dynamic HTML form that can be used to create annotations manually on a wiki page. Besides selecting the desired class from a tree containing all loaded ontologies, the process has been extended to restrict the selection complexity depending on previously created annotations.

Basic Usage

In order to create an annotation, select the text you want to annotate, press the right mouse button and select 'Create Annotation', as depicted here:

This will bring up the dialog which allows you to select the concept for the annotation and enter additional information such as the parameters used to instantiate the concept class as well as the optional comment. For demonstrating purposes, a license ontology used to describe software licenses has been loaded into the repository; these classes serve as possible annotation concepts here. However, any RDFS class in the underlying repository is a possible target for being used with an annotation. Click 'Create' to submit the form and create the annotation.

After the page has reloaded, you will see the list of annotations for the currently active page on the left hand side. Each box corresponds to one annotation, and selecting it will make the web browser scroll smoothly to the annotated part of the wiki page and highlight the respective character sequence. The selected concept has been automatically instantiated with the arguments you provided in the form, and appears as statements in the 'Relations' box.

Creating Drawings

The presented concept tree contains the class Drawing which is supposed to be the super class for drawing related annotation classes. The ability to create an SVG drawing is an inherent part of Kaukolu and considered throughout all annotation related aspects.

After selecting the class SVGDrawing form the concept tree, the right-hand side usually showing all properties of the selected class in order to be completed is replaced with a drawing pane. The user can create a free-hand drawing within this pane which is then stored as a standard conform SVG string in the backend along with automatically created properties such as author or creation date. When such an annotation is visualized at some place, a downsized version of the created drawing will be displayed along with before mentioned properties.

Technical Aspects

Some words on the technical aspects: The annotation form is realized using the DOJO JavaScript toolkit. The concept tree is not hard coded, but is built dynamically (and incrementally when expanding tree nodes), and served to the DOJO panel as a JSON object. The right hand side of the form is also being built dynamically. Whenever the user selects a concept from the tree, the repository is queried for the corresponding RDF class and its properties. This information is then used to create HTML form objects that take the input arguments. Requests are posed asynchronously, i.e. using AJAX-style interaction and are backed by Java servlets.


See the source code documentation for implementation details:

Attachments (7)

Download all attachments as: .zip