semantic wiki for travel and holidays using owl

26
SCHOOL OF COMPUTER SCIENCE Semantic Wiki for Travel and Holidays using OWL Project Initial Report COMP60990 Student Name: Joao Rafael Goncalves Student Number: 7387762 Supervisor(s): Prof. Alan Rector Dr. Robert Stevens Date: 27-Apr-2009

Upload: others

Post on 22-May-2022

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Semantic Wiki for Travel and Holidays using OWL

SCHOOL OF COMPUTER SCIENCE

Semantic Wiki for Travel and Holidays using OWL

Project Initial Report

COMP60990

Student Name: Joao Rafael Goncalves

Student Number: 7387762

Supervisor(s): Prof. Alan Rector

Dr. Robert Stevens

Date: 27-Apr-2009

wardr
Text Box
Page 2: Semantic Wiki for Travel and Holidays using OWL

2

Table Of Contents

Table Of Contents.................................................................................................2

1. Abstract ..........................................................................................................3

2. Introduction ...................................................................................................4

3. Background and related literature..............................................................6

3.1 Semantic Wiki approaches ......................................................................6

3.2 Wiki Architectures...................................................................................7

3.2.1 General structure of a Wiki ...................................................................... 7

3.2.2 General structure of a Semantic Wiki....................................................... 8

3.3 Types of Semantic Wikis.........................................................................8

3.4 Semantic Wiki implementations..............................................................9

3.4.1 Features Overview.................................................................................... 9

3.4.2 Semantic MediaWiki .............................................................................. 10

3.4.3 BOWiki................................................................................................... 11

3.4.4 IkeWiki ................................................................................................... 12

4. Research Methods .......................................................................................14

4.1 Project Overview ...................................................................................14

4.2 Objectives ..............................................................................................14

4.3 Project Plan ............................................................................................16

4.4 Tools and methodologies.......................................................................17

4.4.1 Project stages .......................................................................................... 17

4.4.2 Tools ....................................................................................................... 17

4.4.3 Implementation....................................................................................... 18

4.4.4 Testing .................................................................................................... 18

4.4.5 Extensions............................................................................................... 19

4.5 Summary................................................................................................20

5. References ....................................................................................................21

6. Appendices ...................................................................................................23

6.1 Appendix A – Wiki Matrix....................................................................23

Page 3: Semantic Wiki for Travel and Holidays using OWL

3

1. Abstract

This project aims at exploring the use of Semantic Wikis for authoring

and reasoning over an OWL-DL ontology in a collaborative

environment. A number of wiki implementations are here analysed

and compared to determine their suitability for extending to this

purpose. Semantic wikis allow users to add semantic annotations to

wiki content. These annotations provide conceptual or individual

information about a wiki page, and its relationships to other pages.

The expressivity of annotations varies in most wikis, however this

report focuses on OWL ontologies. Using an ontology provides the

wiki with an underlying model of its domain’s knowledge, in this case

‘Travel and Holidays’. It is also useful to classify and verify the

consistency of the data in the pages, which is done by means of a

reasoner. Automated reasoners classify and infer whether new wiki

entries are consistent with the knowledge base before storing them.

The implementation proposed in this report consists of enhancing and

adapting two semantic wikis to make better use of OWL and

reasoning; IkeWiki and BOWiki. The wikis’ functionality will be tested

in regards to adding and editing OWL individuals (ABox), as well as

concepts (TBox). Depending on this, either one or both wikis will be

adapted to use the Travel ontology, supplied by Dr. Robert Stevens.

The ‘Travel wiki’ will subsequently be tested in a collaborative

environment, where multiple users author wiki content. This is carried

out as outlined in example pages, and also a video demonstration of

wiki features. The project will draw conclusions on the usability of the

wiki as a collaborative authoring tool for OWL ontologies. The ability

to engineer the knowledge contained in an ontology from a semantic

wiki brings the added benefits of online collaboration combined with a

user-friendly web interface. Furthermore, querying and reasoning over

an ontology add powerful capabilities that allow a more advanced and

widespread use of wikis as support tools for authoring knowledge.

Page 4: Semantic Wiki for Travel and Holidays using OWL

4

2. Introduction

The purpose of this project is to develop a Semantic Wiki, based on a travel ontology

provided by Dr. Robert Stevens, which makes extensive use of reasoning both about

classes and individuals. The first part of the project, covered in this report, involves a

survey of existing semantic media wiki projects and software, in order to make

recommendations for the implementation in the subsequent part of the project. This

second part of the project entails the installation and testing of a wiki implementation,

so as to finally adapt it to make better use of OWL1 (Web Ontology Language) and

reasoning.

Over the initial phase of the project several wiki applications have been analysed and

compared. The most relevant wiki applications to this project’s goal will be discussed in

the Background section, more specifically these wikis should be reusable – so as to

extend it to the ontology domain of the project – and provide advanced reasoning

capabilities in OWL-DL. Furthermore, the intended wiki is meant to be intuitive and

user-friendly, to the point that collaborative authoring of the knowledge base is as

simple and straightforward as possible. If entering content in the wiki is made a

complex task, then adherence to a particular style may not be always possible. So in

terms of adding and editing entries, the best approach would be wizard or form-like

interfaces, in order to facilitate what is likely to be the most stressful part of knowledge-

authoring in wikis.

The first notion of a wiki came to be implemented in 1995 by Ward Cunningham, with

the launch of WikiWikiWeb2. It was then defined as an intelligible piece of software

that would provide a simple way to collaboratively describe, author, and collect

information [1]. Wikipedia3 is currently the most popular implementation of a wiki,

consisting of a multitude of articles in several languages, and a large online community

committed to its development. The notion of community-driven contributions is what

defines a wiki as a collaborative authoring tool; its pages are written through

contributions of not one but several people or organised groups worldwide. Wikipedia is

based on the MediaWiki4 wiki engine, which comprises several features to support

collaboration; such as recent changes in the wiki, revision history of pages, change

tracking, and list of contributions by specific users.

The knowledge contained in a wiki is typically represented in HTML5 pages, comprised

of natural-language text and hyperlinks. Having no embedded formal definition of itself

or how it relates to other pages and resources, a wiki article has very little machine-

readable information that one can re-use. The querying capability of a regular wiki is an

example of this; searching pages in a wiki is done by entering article names (or

approximations thereof). It is possible to search Wikipedia for the entry of ‘Athens’ or

other city names, but unless such a page has been manually compiled it is not possible

to query Wikipedia for a ‘list of all Greek cities’. So despite the amount of information

gathered in a regular wiki, it is not structured in a way that allows for article retrieval in

this complex way.

1 http://www.w3.org/TR/owl-features/ [accessed on 10/02/09]

2 http://c2.com/cgi/wiki [accessed on 19/03/09]

3 http://en.wikipedia.org/wiki/Main_Page [accessed on 05/02/09]

4 http://www.mediawiki.org/wiki/MediaWiki [accessed on 05/02/09]

5 http://www.w3.org/TR/html401/ [access on 17/02/09]

Page 5: Semantic Wiki for Travel and Holidays using OWL

5

On this tone, a Semantic Wiki will be introduced as an extended version of a wiki, with

technologies developed by the Semantic Web community, and providing the ability to

describe resources in a formal language. The describing of resources, also known as

annotating, consists of associating metadata (information about information) with

resources in a wiki page. “By adding metadata to ordinary Wiki content, users get added

benefits such as improved retrieval, information exchange, and knowledge reuse” [2].

So unlike a regular Wiki, it is possible to author more than just text and links; semantic

wikis capture machine-readable information about the data in its pages, as well as the

relations between them [3]. This way, the knowledge in a semantic wiki can be queried

and exported as if it were a normal database, on the grounds that it holds an underlying

model of the knowledge contained within its the pages.

Typically, semantic wiki annotations are written in RDF6, but can also be supplied by

an ontology; a formal model of a shared understanding of a domain, which is interpreted

as a set of concepts and relations between these. In the context of the project, an OWL

ontology will be used to describe the ‘Travel and Holidays’ domain of the semantic

wiki. There are several benefits to using an ontological basis for a semantic wiki; the

ability to use automated reasoners, that check if new entries are consistent with the

knowledge base before physically storing them, and also powerful querying methods

that make use of the reasoner. Below is an example where the content of a wiki page is

annotated, using the Semantic MediaWiki7 Project Halo extension [4]; on the left

keywords can be selected, and annotated with further pop-up options, or from the right-

hand side toolbar.

Figure 1 - Annotation mode of Semantic MediaWiki Project Halo extension

8

Adapted from http://www.ontoprise.de/uploads/pics/SMWplus_AnnotationMode.png

6 http://www.w3.org/RDF/ [accessed on 09/03/09]

7 http://semantic-mediawiki.org/wiki/Semantic_MediaWiki [accessed on 05/02/09]

8 http://wiki.ontoprise.com/wiki/index.php/Faq/halo_extension [accessed on 19/03/09]

Page 6: Semantic Wiki for Travel and Holidays using OWL

6

3. Background and related literature

3.1 Semantic Wiki approaches

There are numerous semantic wiki implementations publicly available, serving

distinguished purposes and with varied functionality. The way in which the content of a

wiki is formally represented, annotated, and finally navigated, effectively determines

the capabilities of a wiki implementation. Semantic MediaWiki (SMW) [5] is an

extension of MediaWiki that provides the ability to annotate the current page. However,

it does not detach the page content and the metadata associated with it before storing,

thus not taking full advantage of the page annotations for advanced querying and

navigation. “The internal knowledge model of Semantic MediaWiki is closely related to

OWL DL, although just a small fragment of the expressive means of this language is

actually available within the wiki” [6]. Contrary to Semantic MediaWiki, IkeWiki9 [7,

8] stores the page contents and the annotations separately, and is built upon a

background ontology that verifies the consistency and relations of its pages. Similarly,

BOWiki10

employs a core ontology, by default a biological ontology, which provides

the background knowledge about types and relations [9]. It is however possible to use

an arbitrary core ontology, or access an external ontology from BOWiki’s special pages.

There have been successful attempts at automating the creation of wikis based solely on

the input ontology. WikiFactory11

[10] generates simple semantic wikis from

ontological descriptions in OWL; the wiki is automatically populated with pages

containing metadata derived from the ontology, as well as the relations among wiki

pages. However, in the latest implementation the final output does not provide the

complex reasoning and querying methods that other semantic wikis explore, and lacks

storage methods for page annotations.

SemperWiki12

attempts to combine the ease-of-use virtue of personal wikis with the

advanced retrieval and navigation that characterise semantic wikis [11], resulting in a

simple and effective personal information management tool. Another example, Powl13

was initially designed as a web-based ontology management tool, which allowed

“parsing, storing, querying, manipulating, versioning, serving and serializing RDF and

OWL knowledge bases for different target audiences” [12]. Later on Powl was used as

the basis for OntoWiki14

, a wiki-like tool that supports agile knowledge engineering in a

web-based environment. The purpose of OntoWiki is to facilitate the presentation and

retrieval of instance data from the knowledge base, by regarding it as an ‘information

map’. This allows the user to access ‘map-nodes’ using different views; if the selected

instance contains geographical data, OntoWiki perceives it as a location on the globe

and attempts to match it by calling upon the Google Maps API15

from within the wiki,

and displaying it in a Map View.

9 http://ikewiki.salzburgresearch.at/ [accessed on 11/03/09]

10 http://bowiki.net/wiki/index.php/Main_page [accessed on 11/03/09]

11 http://swe.web.cs.unibo.it/WikiFactory/WebHome [accessed on 17/03/09]

12 http://www.eyaloren.org/semperwiki.html [accessed on 14/03/09]

13 http://sourceforge.net/projects/powl [accessed on 15/03/09]

14 http://ontowiki.net/Projects/OntoWiki [accessed on 15/03/09]

15 http://code.google.com/apis/maps/ [accessed on 16/03/09]

Page 7: Semantic Wiki for Travel and Holidays using OWL

7

3.2 Wiki Architectures

3.2.1 General structure of a Wiki

The typical architecture of a wiki follows the three-tier software design model, where

the presentation layer (user interface), application layer (process management services),

and data layer (data access and storage) are developed and maintained as independent

modules [13]. The interaction between these layers is exemplified in Figure 2.

The presentation layer gives the user access to the application; it presents the data to the

user and permits data manipulation and entry. This is the top level of the web

application, and in the case of Media Wiki – the Wiki engine behind Wikipedia – it

communicates with the application layer through HTML requests and dispatching PHP

commands.

The application layer contains most of the application logic; the presentation layer

presents data to and collects data from the user; the database layer stores and retrieves

the data. The application layer executes most of the remaining roles that tie the other

layers together; it processes input from the user, forming it into queries on the database

to read or write data; drives the structure and content of the data displayed to the user.

The data layer, or database access layer, interacts with persistent data stored in a

database. It can be accessed trough the application layer, and in some situations by the

presentation layer itself. This is where information is stored and retrieved; the

information is then passed on to the application layer for processing, and afterwards

redirected to the user via the presentation layer.

Figure 2 – Typical Wiki software architecture

Adapted from http://www.mediawiki.org/wiki/Manual:MediaWiki_architecture

[Accessed on 05/02/09]

Page 8: Semantic Wiki for Travel and Holidays using OWL

8

3.2.2 General structure of a Semantic Wiki

In comparison with a general wiki, a semantic wiki adds further components and

functionality to enable page annotating and storing. When a user edits or creates a new

page, the parser analyses the text (typically wiki-syntax) and extracts the metadata

which is then stored by the ‘page server’. The page server itself acts as a mediator

between the other components; namely it calls upon the Analyser to retrieve sets of

pages that are related to the current page, displaying it back to the user interface.

In the database layer, it is possible to distinguish between the page content (generally

XML content) and the metadata related to it. In this context, the page server is

responsible for combining page content with metadata and display as requested.

Figure 3 – Typical Semantic Wiki software architecture [13, 14]

3.3 Types of Semantic Wikis

In the analysis of wikis in Appendix A – Wiki Matrix, RDFS16

and OWL schemas are

often mentioned; in terms of knowledge representation, an OWL ontology is divided in

two parts: the assertion box (ABox), and the terminology box (TBox). “W3C

distinguishes between RDF for ABox knowledge and ontology languages like RDFS

and OWL for TBox knowledge” [15]. Most of the semantic wikis analysed only offer

support for knowledge representation in RDF, but in the interest of this project OWL

ABox and TBox authoring are the intended goals. TBox editing in a semantic wiki is

associated with functionality of ontology editors, and only a number of wikis offer this,

while ABox handling is more widely used. In a general context:

� TBox describes classes or concepts of a domain. It is formed by OWL or

RDFS17

, using an extended RDF syntax.

16

http://www.w3.org/TR/rdf-schema/ [accessed on 19/03/09] 17

The distinction should be made that OWL is not the same as RDFS; OWL allows all the same

expressivity as RDFS and more.

Page 9: Semantic Wiki for Travel and Holidays using OWL

9

� ABox describes instances and relationships between instances of concepts. It is

typically formed of RDF triples.

From a semantic wiki point of view, authoring a TBox would mean changes at the

conceptual level – altering the definition of, for example, Bird from ‘animal that flies’ to

‘animal that flies and has feathers’. This has consequences on the instances of these

concepts, if a duck was instantiated as an ‘animal that flies’ then the change implies that

when the knowledge base is classified, the duck is no longer regarded as a Bird.

Authoring an ABox in a semantic wiki means changing instances of concepts or the

relationships to other instances. From the example above, duck could be altered in order

to say that this duck ‘has feathers’, which would re-classify duck as an instance of Bird.

3.4 Semantic Wiki implementations

Taking into consideration the semantic wikis mentioned in the Background (and also in

Appendix A – Wiki Matrix), BOWiki, IkeWiki and Semantic MediaWiki have been

selected as the most relevant implementation approaches to the project. These three

wikis are here compared in terms of usability, functionality, and possible extensions.

The table below summarises the main features and information regarding these wikis.

3.4.1 Features Overview

Semantic

MediaWiki

BOWiki IkeWiki

Developers Markus Krötzsch,

Denny Vrandecic, and

others

Joshua Bacher, Michael

Backhaus, Alexandr

Uciteli, Robert

Hoehndorf

Sebastian Schaffert,

Salzburg Research

Purpose Annotating content in

RDF (OWL ABox)

Annotating knowledge

via OWL ABox / TBox

Ontology engineering

tool

Description A MediaWiki extension

that introduces simple

annotations to wiki

content, and adequate

querying and

navigation methods.

A Semantic Wiki for

collaborative editing of

biomedical ontologies

and gene data; it is built

upon an OWL

ontology, with support

for a DL reasoner

IkeWiki is an easy-to-

use semantic wiki,

with a sophisticated

user interface and

support for importing

ontologies and

reasoning

Knowledge

representation

OWL-DL ontology OWL-DL ontology OWL-RDFS, OWL-

DL (slower)

Implementation PHP PHP JSP

Webserver Apache HTTP Server Apache HTTP Server Tomcat

Wiki Database MySQL MySQL PostgreSQL

Metadata Store MySQL MySQL Jena RDF Store

Interaction Wiki-syntax, Forms,

Point and click

BOWiki-syntax,

Simple SemanticSearch

WYSIWYG, wiki-

syntax

License GNU General Public

License

GNU General Public

License

GNU General Public

License Table 1 - Comparison of wiki implementations

Page 10: Semantic Wiki for Travel and Holidays using OWL

10

3.4.2 Semantic MediaWiki

Semantic MediaWiki (SMW) was initially designed as a simple extension to MediaWiki

in order to allow users to annotate the content in its page. The annotations in Semantic

MediaWiki are entered into the content of a page using a special mark-up, which is then

‘unambiguously’ mapped into the OWL-DL knowledge base [16]. According to the

documentation, the majority of the annotations are simple ABox statements in OWL

syntax, which in this context may describe or classify individuals, or annotate these with

data values. However Semantic MediaWiki is unable to handle schematic information

in the form of an OWL TBox, since it was not intended as an ontology editor.

In Semantic MediaWiki it is possible to import data from an OWL ABox, as well as

exporting formal descriptions of wiki pages in OWL/RDF format; which means the

whole ontology can be exported in the same way. The ability to import and export parts

of an ontology allows for reuse of the information in the wiki pages or the overall

domain represented. The content in Semantic MediaWiki can be queried using the same

syntax as for annotating; queries are done via a special page Special:Ask, or via inline

queries. Finally it is possible to save conceptual-queries in a wiki page, which act as

dynamic queries in the page content.

Figure 4 - Semantic MediaWiki Ontology browser,

Adapted from http://sourceforge.net/dbimage.php?id=162688 [accessed on 08/04/09]

On top of these aspects, Semantic MediaWiki has a number of issues that would

constrain the implementation of this project. In particular, it does not support a number

of ontology features: transitivity, inverse properties, domain and range restrictions,

number restrictions and functional properties. This poses a major restriction in terms of

ontological expressivity. Reasoning capabilities for OWL-DL in Semantic MediaWiki

have to be configured separately, but would be limited nonetheless. This is because the

wiki stores both the page content and its annotations together, with no formal

distinction. Such distinction would make reasoning over metadata possible, as well as

increasing the overall performance of page retrieval and querying; since the entire page

content and metadata have to be parsed and the relevant code retrieved for each request.

Page 11: Semantic Wiki for Travel and Holidays using OWL

11

3.4.3 BOWiki

The BOWiki is a collaborative editor that extends MediaWiki by using an ontology to

validate all the semantic information related to the wiki pages. Originally it was

intended as a biomedical wiki, particularly dedicated to gene functions. But in spite of

this, BOWiki allows importing an arbitrary OWL ontology to replace the original core

ontology. The wiki is comprised of four main components [17], which are also depicted

in Figure 7:

� The BOWiki software extension – the main application component, a

presentation layer addition to MediaWiki.

� BOWiki database extension – an enhancement of the MediaWiki data layer for

separate semantic data storage.

� BOWikiserver, based on the Jena 2 Semantic Web Framework [18] and the

Pellet reasoner [19] – classifies and reasons over the content of the wiki’s

knowledge base.

� OWL-DL ontology.

The BOWiki extension to the MediaWiki is responsible for processing the semantic

annotations entered in the wiki pages, which are then transferred to the BOWikiServer.

At this point the semantic data is checked for its consistency with the resident OWL

ontology (which has to be pre-loaded onto the wiki at installation time). This check is

carried out by the description logic reasoner, via the Jena 2 Semantic Web framework,

which will then commit the semantic data to storage if it is consistent.

The page content and its related annotations are stored separately; the page content is

stored in the MediaWiki database, while the annotations are stored in the BOWiki

database extension. This annotation database extension uses separate tables for storing

subjects, relations, roles, types and objects [21]. The database model of the wiki is

divided into two semantic store parts; the first is dedicated to classes - relations, roles

and types, and the second to instances - instances of relations, roles or objects.

Figure 5 - Introducing a new relation in BOWiki [20]

Figure 6 - Inconsistency detection entering data

Page 12: Semantic Wiki for Travel and Holidays using OWL

12

Figure 7 - BOWiki software architecture

adapted from http://onto.eva.mpg.de/pub/eswc-misc/ [accessed on 06/04/09]

3.4.4 IkeWiki

The development of IkeWiki started as a support tool for knowledge workers to

collaboratively formalise knowledge. Currently the wiki supports importing and

exporting of a knowledge base in RDFS and OWL. The basic user interface and

functionality of IkiWiki resembles MediaWiki, but it is an AJAX application based on

the Dojo Toolkit18

. Editing content is facilitated by a WYSIWYG editor, which includes

AJAX-based Link and Page Annotations. The architecture of IkeWiki, in Figure 8,

includes three main components; the Rendering Pipeline, RDF Store and Page Store.

Figure 8 - IkeWiki software architecture [7]

18

http://dojotoolkit.org/

Page 13: Semantic Wiki for Travel and Holidays using OWL

13

� Page Store; stores and retrieves the content of wiki pages from the database. The

page content is represented in Wiki Interchange Format (WIF).

� RDF Store; based on the Jena 2 Framework for representation of the knowledge

base, includes a SPARQL engine that enables querying of the KB.

� Rendering Pipeline; responsible for combining the page content, in the XML-

based WIF format, with the semantic data associated with it.

Despite the fact that IkeWiki supports OWL, the reasoning support is by default limited

to RDFS. In order to add an OWL-DL reasoner such as Pellet some changes need to be

done to the setup and code, which is part of the research to be ensued. Enabling OWL-

DL reasoning, however, could reportedly slow down the wiki performance to a certain

degree, which may be related to the processing and storage of the ontology.

Figure 9 - IkeWiki example page content and functionality [7]

Page 14: Semantic Wiki for Travel and Holidays using OWL

14

4. Research Methods

4.1 Project Overview

In the Background section several wiki systems were described in relevant detail, and

from their functionality there are two appropriate candidates to extend the initial

specification of the project:

� BOWiki due to its complex reasoning and querying capabilities

� IkeWiki for its advanced user interface, and similar functionality to BOWiki.

From the documentation available both wikis allow importing OWL ontologies as the

core ontology for the wiki pages, which is the main concern for extending an existing

implementation. Moreover the reasoning and querying tools used in these wikis are

adequately complex for the goals of this project; therefore it seems sensible to pursue

installing and adapting both systems concurrently, to evaluate their suitability in relation

to the ‘travel and holiday’ domain.

In the initial implementation and testing stages of the project both wikis will be

compared simultaneously, and it is possible that only one will proceed to the following

implementation and testing stages. Since reasoning in IkeWiki is limited to RDFS by

default, the issue that arises is adapting the wiki to use the Pellet reasoner. In case the

tests carried out when reasoning over OWL-DL in IkeWiki are successful, then it would

be most suitable for the project’s purposes. Otherwise the remaining three objectives of

the project would apply only to BOWiki.

4.2 Objectives

Based on the analysis of previous approaches to semantic wikis and the purpose set

forth in the Introduction, the main objectives of the project are compiled in the table

below, along with the tasks involved. The assignment of tasks in relation to each major

objective is represented on the Gantt chart in the following section.

Main objectives Tasks

� Examine wikis functionality

with an OWL ontology

- Configure wiki to import OWL ontologies

- Employ an OWL-DL ontology as main knowledge

base

- Adapt reasoner to reason over the ontology

- Examine the generated articles in the wiki pages

� Test usability and

performance of both wikis

- Verify accurate classification of the ontology

- Identify if wiki pages are populated accordingly

- Evaluate which implementation provides a more

user-friendly interface

- Compare the wikis’ handling of ontology changes:

ABox and TBox

Page 15: Semantic Wiki for Travel and Holidays using OWL

15

� Implementation of the

Travel ontology wiki

- Determine if changes need be made to the ontology

- Import the travel ontology onto the wiki

- Verify accurate classification of the ontology

- Identify if wiki pages are populated accordingly

- Check that adding and editing wiki entries commits

the appropriate ontological changes

� Test wiki implementation in

collaborative environment

- Produce a script for entering data in wiki pages

- Produce a video demonstration of how to add and

annotate content

- Arrange for a number of users to submit any

number of entries, according to the script and video

- Ensure the validity of information entered by the

users in the wiki

- Verify the produced script is being adhered to

� Explore extensions to the

implementation (if

remaining project time

allows for this)

- Analyse user-interface extensions to facilitate

authoring; Forms, WYSIWYG

- Determine the usability of Google Maps within the

wiki (Semantic Google Maps extension)

� Final testing of the wiki - Ensure correct functionality of all components if

new extensions are added

- Verify accurate progress of the wiki ‘population’

Table 2 - Main goals and tasks involved in the project

Page 16: Semantic Wiki for Travel and Holidays using OWL

16

4.3 Project Plan

Page 17: Semantic Wiki for Travel and Holidays using OWL

17

4.4 Tools and methodologies

Following the objectives described before, the project will be implemented and tested

over five stages; at each major milestone seen in the Gantt chart there is a testing period,

to ensure correct functionality and accordance to the requirements before proceeding to

the next implementation or test stage. Aside from the final testing, the major test phase

is the collaborative editing of the wiki. At this point, several users will be engaged in

entering content in wiki pages following a pre-established approach, which will be

discussed in Testing Stages. The division of project stages derived from the project

objectives and the Gantt chart is summarised below.

4.4.1 Project stages

Stage Duration

1.1 Implementing wikis with imported ontology 2 weeks

1.2 Testing wiki implementations 2 weeks

2. Implementing wiki with Travel ontology 1 week

3. Collaborative testing of the wiki 3 weeks

4. Implementing extensions 1 week

5. Final testing 1 week

6. Dissertation writing 4 weeks

Table 3 - Stages of the project

4.4.2 Tools

The software tools required throughout the project include support for ontology editing,

programming in Java and in PHP. Table 4 illustrates the software that will be used.

Software Developers Usage

Protégé 4.019

CO-ODE OWL ontology editing

Eclipse IDE for Java EE Eclipse Foundation Java/JSP development

PDT 2.0 Eclipse plug-in20

Eclipse Foundation,

Zend Technologies

PHP development tools

framework

LAMP (Linux-Apache-

MySQL-PHP) server

Apache Foundation,

The PHP Group, Sun

Microsystems

HTTP web server, database

management system, and PHP

XVidCap21

Karl Beckers Screen casting software

Apache Tomcat Apache Software

Foundation

HTTP web server for Java

Servlets and JSP

Pellet reasoner22

Clark & Parsia OWL-DL reasoning

Table 4 - Software tools involved in the project

19

http://protege.stanford.edu/ 20

http://www.eclipse.org/pdt/ 21

http://xvidcap.sourceforge.net/ 22

http://clarkparsia.com/pellet

Page 18: Semantic Wiki for Travel and Holidays using OWL

18

4.4.3 Implementation

� Phase 1: Implementing wikis with imported ontology

At this stage, the intention is to compare the usability and performance of IkeWiki and

BOWiki with an arbitrary OWL ontology. The wikis need to be installed and

configured so that a test ontology can be imported and evaluated. From the

documentation and user manuals available BOWiki provides this functionality by

default. IkeWiki however, poses a bigger obstacle as its reasoning capabilities are not

suitable for OWL-DL. So the Pellet reasoner will be adapted to IkeWiki – which

according to the developer is possible23

and supported by the wiki. At the end of this

phase it is expected that both wikis will be making full use of reasoning over the test

ontology, so that conclusions can be drawn in regards to performance during the

testing stage (stage 1.2 of Table 3).

� Phase 2: Implementing wiki with Travel ontology

Based on the tests carried out with the initial ontology, the implementation of the

Travel wiki will proceed on either one or both wikis. The system that shows better

handling of OWL ABox and TBox is preferable for continuing the project.

The Travel and Holiday ontology will then be imported onto the wiki, and upon

classifying the new population will be generated from the knowledge base. At this

point, the performance of the wiki will be reviewed, with regards to reasoning and

interfacing within the wiki.

4.4.4 Testing

� Phase 1: Testing wiki implementations

- Verify accurate classification of the ontology; after importing the ontology onto the

wikis, these will be populated with new knowledge. In turn this must be checked for

correct ‘categorisation’ within the wiki pages.

- Identify if wiki pages are populated accordingly; it is necessary to ensure that the

knowledge in the new pages is valid according to the ontology, and represented

appropriately.

- Evaluate which implementation provides a more user-friendly interface; compare both

wikis in terms of usability and practicality when navigating, querying, and annotating

wiki articles.

- Compare the wikis’ handling of ontology changes: ABox and TBox; each wiki will be

tested by adding OWL ABox and TBox entries, and compared in terms of response

time - when classifying and presenting a feedback message.

23

http://sourceforge.net/mailarchive/forum.php?thread_name=4682C52A.5020307%40salzburgresearch.at

&forum_name=ikewiki-users [accessed on 12/04/09]

Page 19: Semantic Wiki for Travel and Holidays using OWL

19

� Phase 2: Collaborative testing of the wiki

- Produce a script for entering data in wiki pages; examples will be prepared on how to

add OWL ABox and TBox statements in the wiki, including a vocabulary of wiki

syntax compared to OWL.

- Produce a video demonstration of how to add and annotate content; simple adding

operations will be recorded using screen-capturing software, which would be made

available in the wiki.

- Ensure the validity of information entered by the users in the wiki; supervise the

progress of the wiki and new additions to make sure that new information is accurate.

- Verify the produced script is being adhered to; ensuring the consistency of the

ontology and the domain it represents.

� Phase 3: Final testing

- Ensure correct functionality of all components if new extensions are added; mainly to

ensure interoperability between the wiki and any extensions applied.

- Verify accurate progress of the wiki ‘population’; ensure that all the information

entered up to this stage is consistent with the knowledge base, and is accurately

represented in the wiki pages.

4.4.5 Extensions

� Semantic Forms24

Semantic Forms is an extension for Semantic MediaWiki which allows for both wiki

users and developers to produce forms for adding and editing pages, based on the

metadata contained in each page. These forms are intended to facilitate the authoring of

wiki pages, by enabling auto-completion of fields. The adaptations needed for this

project are described next to the default functionality of Semantic Forms.

By default Adaptations needed

- Forms are generated based on categories

(Semantic MediaWiki’s approach to

concepts) of the page, which is extracted at

the time of adding or editing

- The original code of this extension

can be reused, by using the OWL

concept of the page in order to

retrieve the labels for the form.

- A template is formed from these labels,

which can be used on that page once

generated.

- Templates may be viable to generate

on request; depending on the wiki’s

handling of OWL TBoxes.

Table 5 - Adaptability of the Semantic Forms extension

24

http://www.mediawiki.org/wiki/Extension:Semantic_Forms

Page 20: Semantic Wiki for Travel and Holidays using OWL

20

� Semantic Google Maps25

This extension, originally designed for Semantic MediaWiki, uses the Google Maps

API26

to display geographic locations given such a type in the knowledge base, by:

- Mapping an entry of type ‘geographic co-ordinate’ and display on the page

- Displaying a set of points (locations) on the page, retrieved by a query

- Allowing the input of geographic locations using Semantic Forms

Unless Semantic Forms would also be adapted, entering geographical data in the wiki

would not rely on this last function. However the remaining functionality is adaptable to

both wikis, by having a geographic location field to carry out this mapping.

4.5 Summary

The implementation of this project will provide answers to the following questions;

1. Asserting the suitability of reasoning over an OWL-DL ontology in the

context of a wiki, for:

a. classifying concepts (OWL TBox) and

b. individuals (OWL ABox)

2. Providing an insight into the usage of semantic wikis as a collaborative tool

for authoring and sharing knowledge, with special focus on the evolution of

the core ontology employed.

The expected outcome of the project involves a functional semantic wiki based on the

Travel ontology, with OWL-DL reasoning using Pellet and appropriate population of

wiki content and pages.

The user interface of the wiki is of significant concern, since authoring knowledge in

adherence to a particular style is not as straightforward as one would expect. Therefore,

it is necessary to ensure that these operations have appropriate support and

documentation clearly available. The consistency of the knowledge base should be

ensured by the reasoner at every change in the wiki pages. And before these changes are

physically stored in the database, the semantic annotations are subject to a consistency

check; invalid metadata is refused with appropriate feedback message.

In summary, the project is set to explore the usability and efficiency of semantic wikis

using OWL ontologies, which have proven to be an important derivation of Semantic

Web technologies. The usage and adherence to semantic wikis by net-users is still

limited, but their relevance to the Web is unquestionable. The problem posed is that

most semantic wikis are too complex for a regular user to add and annotate content; if

the functionality of a semantic wiki would be close enough to that of a regular wiki,

then users would easily adapt. With this in mind, the project will draw some feedback

regarding the ease-of-use of semantic wikis based on the implementation outcomes.

25

http://www.mediawiki.org/wiki/Extension:Semantic_Google_Maps 26

http://code.google.com/apis/maps/

Page 21: Semantic Wiki for Travel and Holidays using OWL

21

5. References

[1] A. Ebersbach, M. Glaser, R. Heigl, and G. Dueck, Wiki : Web collaboration,

Berlin: Springer, 2006.

[2] E. Oren, R. Delbru, K. Moller, M. Volkel, and S. Handschuh, Annotation and

Navigation in Semantic Wikis, Forschungzentrum Informatik, Karlsruhe,

Germany, 2006.

[3] SemanticWeb.org. "Semantic Wiki," accessed on 03/04/09, last updated on

16/03/09; http://semanticweb.org/wiki/Semantic_wiki.

[4] N. Friedland, P. Allen, P. Matthews, M. Witbrock, D. Baxter, J. Curtis et al.,

Project Halo: Towards a Digital Aristotle, vol. 25, AI Magazine, 2004.

[5] M. Völkel, M. Krötzsch, D. Vrandecic, H. Haller, and R. Studer, Semantic

Wikipedia, In Proceedings of the 15th international conference on World Wide

Web, Karlsruhe, Germany, 2006.

[6] M. Krötzsch, S. Schaffert, and D. Vrandecic, Reasoning in Semantic Wikis, vol.

4636/2007, 2007.

[7] S. Schaffert, IkeWiki: A SemanticWiki for Collaborative Knowledge

Management, In Proceedings of 1st International Workshop on Semantic

Technologies in Collaborative Applications (STICA), Manchester, UK, 2006.

[8] S. Schaffert, R. Westenthaler, and A. Gruber, IkeWiki: A UserFriendly Semantic

Wiki, In Proceedings of 3rd European Semantic Web Conference (ESWC),

Budva, Montenegro, 2006.

[9] R. Hoehndorf, J. Bacher, M. Backhaus, S. Gregorio, F. Loebe, K. Prüfer et al.,

BOWiki: An ontology-based wiki for annotation of data and integration of

knowledge in biology, In Proceedings of the 11th Annual Bio-Ontologies

Meetings, Toronto, Canada, 2008.

[10] A. Di Iorio, M. Fabbri, V. Presutti, and F. Vitali, Automatic Deployment of

Semantic Wikis: a Prototype, In Proceedings of 1st Workshop: "SemWiki2006 -

From Wiki to Semantics", 2006.

[11] E. Oren, SemperWiki: a semantic personal Wiki, In Proceedings of the 1st

Workshop on The Semantic Desktop at the ISWC 2005 Conference, Galway,

Ireland, 2005.

[12] S. Auer, Powl – A Web Based Platform for Collaborative Semantic Web

Development, In Proceedings of the 1st Workshop Scripting for the Semantic

Web (SFSW), Hersonissos, Greece, 2005.

[13] A. Bonomi, A. Mosca, M. Palmonari, and G. Vizzari, Integrating a Wiki in an

Ontology Driven Web Site: Approach, Architecture and Application in the

Archaeological Domain, In Proceedings of the 3rd Semantic Wiki Workshop

(SemWiki) at the 5th European Semantic Web Conference (ESWC), Tenerife,

Spain, 2008.

[14] E. Oren, Semantic Wikis for Knowledge Workers, DERI, National University of

Ireland, Galway, 2005.

[15] C. Lange, SWiM – A Semantic Wiki for Mathematical Knowledge Management,

vol. Technical Report 5, Jacobs University Bremen, 2007.

[16] M. Krötzsch, M. Vrandečić, and M. Völkel, Semantic MediaWiki, In

Proceedings of the 5th International Semantic Web Conference (ISWC), Athens,

GA, USA, 2006.

[17] J. Bacher, R. Hoehndorf, and J. Kelso, BOWiki: Ontology-based Semantic Wiki

with ABox Reasoning, SemWiki, 2008.

Page 22: Semantic Wiki for Travel and Holidays using OWL

22

[18] J. Carroll, I. Dickinson, C. Dollin, D. Reynolds, A. Seaborne, and K. Wilkinson,

Jena: implementing the semantic web recommendations, In Proceedings of the

13th international World Wide Web conference on Alternate track papers &

posters, New York, NY, USA, 2004.

[19] B. Parsia, E. Sirin, B. Grau, A. Kalyanpur, and Y. Katz, Pellet: A practical

OWL-DL reasoner, Journal of Web Semantics, 2007.

[20] R. Hoehndorf, "BOWiki: Quality control for large-scale collaborative annotation

and knowledge acquisition."

[21] M. Backhaus, J. Kelso, J. Bacher, H. Herre, R. Hoehndorf, F. Loebe et al.,

BOWiki a collaborative annotation and ontology curation framework, In

Proceedings of the Workshop on Social and Collaborative Construction of

Structured Knowledge (CKC 2007) at the 16th International World Wide Web

Conference (WWW), Banff, Canada, 2007.

Page 23: Semantic Wiki for Travel and Holidays using OWL

23

6. Appendices

6.1 Appendix A – Wiki Matrix

Semantic Wiki

Developers Description Main features Knowledge

Representation Programming language

Interaction

AceWiki

Tobias Kuhn, Attempto group (University of Zurich)

AceWiki makes use of the controlled natural language ACE. In order to help the users to write correct ACE sentences, AceWiki provides a predictive authoring tool.

AceWiki shows the formal semantics in controlled English. These semantics are contained directly in the article texts. Ontological entities like individuals, concepts, and properties are mapped one-to-one to linguistic entities.

Controlled natural language: Attempto Controlled English (ACE)

Java Predictive Editor

Artificial Memory

Lars Ludwig

Artificial Memory is a semantic wiki and Personal Knowledge Management System. It tries to find a balance between schema-rigidity and usability, and implements advanced ontology management and ontology usage

Semantic Blogs, Wikipedia interaction / article to instances import, AJAX, real-time consistency checks, online semantic processing as simple as in online analytical processing

Personal Semantic Subdocument Knowledge Management (PS-KM)

C-Sharp WYSIWYG

BOWiki

Joshua Bacher, Michael Backhaus, Robert Hoehndorf and Alexandr Uciteli

BOWiki is a collaborative editor for biomedical knowledge, gene functions and annotations; it could be considered as a gene function wiki

The BOWiki not only supports the definition and instantiation of Individuals or the usage of Relations. It also provides an interface for directly communicating with the Reasoner. An interface called the Simple Semantic Search to perform queries easily

OWL-version of General Formal Ontology (GFO)

PHP

Wiki-syntax, Reasoner, Simple Semantic Search

COW

Jochen Fischer, Zeno Gantner, Steffen Rendle, Manuel Stritt

COW is a semantic wiki using KAON that supports collaborative evolution of ontologies by means of versioning, transactions, and management of modifications

In wiki pages, ontology information can be used to render dynamic content as well as answer user queries.

KAON Java Forms

Hypertext Knowledge Workbench

Max Voelkel, Konrad Voelkel, Werner Thiemann

The Hypertext Knowledge Workbench is an editor and browser for semantic personal knowledge models. The tool is designed to be used by a single person to manage personal notes

HKW is backed by a more flexible data model than semantic wikis, it allows to create and change formal statements easily, and integrates authoring, structuring and formalisation

Conceptual Data Structures (CDS)

Java, GWT Wiki-syntax

Page 24: Semantic Wiki for Travel and Holidays using OWL

24

IkeWiki

Sebastian Schaffert, Salzburg Research

The purpose of IkeWiki is to be an easy to use, collaborative tool that guides knowledge engineers in the process from unstructured informal texts to knowledge represented in an ontology

Some AJAX features, editing of resource and link types, editing of metadata annotations, WYSIWIG editor, wiki-syntax. Navigation Support: Wiki links, overview over incoming and outgoing RDF edges, context-dependent visualisations

RDFS and OWL schemas

JSP WYSIWYG, Wiki-syntax

Internet Business Logic

Reengineering LLC

Internet Business Logic is an advanced technology Wiki for knowledge in open vocabulary, executable English.

The system automatically generates and executes SQL queries and transactions over networked databases. The system can give business level English explanations of the query results

RDF Java Executable English

JSPWiki

Janne Jalkanen (now Apache Software Foundation)

JSPWiki is wiki software built around the standard J2EE components of Java, servlets and JSP. It is used for company intranets and has an active developer community

WikiMarkup/Structured text, File attachments, Forms, Templates support, Data storage, easy plugin support, UTF-8 support, RSS, Access control, support for multiple Wikis

See PhpWiki Java EE Wiki-syntax

KiWi Salzburg Research

KiWi is a Java EE and JBoss Seam based semantic wiki engine. KiWi is the successor project of IkeWiki. The KiWi system allows social software developers to easily build and adapt new services as they are required

Representation of many different content formats (text, images, etc). Easy linking between content items, versioning and change tracking of content items. Annotation of content with meta-data, rating and commenting of content by users, integration of diff

RDF Java EE Wiki-syntax

OntoWiki

Martin Hepp, Daniel Bachlechner, Katharina Siorpaes

OntoWiki is a free, open-source semantic wiki application, meant to serve as an ontology editor and a knowledge acquisition system. OntoWiki is form-based rather than syntax-based

OntoWiki facilitates the visual presentation of a knowledge base as an information map, with different views on instance data. It enables intuitive authoring of semantic content, with an inline editing mode for editing RDF content, similar to WYSIWIG

RDF PHP Forms

PlatypusWiki

Paolo Castagna, Stefano Campanini, Roberto Tazzoli

PlatypusWiki offers a simple user interface to create wiki pages with metadata based on W3C standards. It uses RDF, RDF Schema and OWL (Web Ontology Language) to create ontologies and manage metadata.

Namespace:pagename links, XHTML for content, every wiki page has metadata in RDF. RDF properties used to build navigation menus. Full text search and metadata search. Shared content and metadata can be reused

RDF, RDFS, OWL Java Separate text area

Page 25: Semantic Wiki for Travel and Holidays using OWL

25

POWL Sören Auer

POWL is an opensource, web-based semantic web develop-ment platform for PHP. It may be used as a foundational framework for seman-tic web applications

Powl allows parsing, storing, querying, manipulating, ver-sioning, serving and serializing RDF-S and OWL knowledge bases in a collaborative web enabled environment.

RDF, RDFS, OWL PHP WYSIWYG

Project Halo

ontoprise GmbH

The SMW Project Halo Extension is an extension to the Semantic MediaWiki. It has been developed as a part of Project Halo in order to facilitate the use of Semantic Wikis for a large community of users

Ontology browser, autocompletion, toolbar to introduce semantic markup, query interface, ontology enhanced search page, inconsistency-detection

See Semantic MediaWiki [35]

PHP

Wiki-syntax, Forms, Point and click

Semantic MediaWiki

The SMW Project: Markus Krötzsch, Denny Vrandecic, and others

SMW is an extension of MediaWiki that helps to search, organise, tag, browse, evaluate, and share the wiki's content

Significant speedups, more expressive querying, new translations, unified semantics under the term "Property", simpler datatypes

OWL DL ontology PHP

Wiki-syntax, Forms, Point and click

SemperWiki

Eyal Oren

This semantic personal Wiki serves as a personal information system. It is extremely easy to use and provides instant gratification for adding semantic annotations.

Authoring: Wiki syntax

(for text layout), instant save (annihilating the need for explicit saving), full undo, global keybindings, and application integration. Retrieval: full-text

search, simple, powerful, and embedded queries, and logical inference

RDF Ruby Wiki-syntax

SWiM Christoph Lange

SWiM, designed for Mathematical Knowledge Management, currently in a prototype stage, coded in Java and XSLT as a fork of IkeWiki.

The pages are stored in OMDoc or OpenMath, both semantic mathematical markup languages. For reasoning and querying, the Krextor RDF extractor is used to extract RDF from that markup.

RDF Java, XSLT WYSIWYG

SWOOKI

Pascal Molli, Hala Skaf-Molli, Julien maire

SWOOKI is a peer to peer Semantic Wiki that enables users to add semantic data to wiki pages. This data can then be used for better searching, browsing, and exchanging of information. The Peer to peer architecure provides fault-tolerance, scalability and

SWOOKI users can perform transactional changes on semantic wiki pages thank to the replication algorithm that forces commutativity of operations. This editing mode is particularly useful in semantic wikis where consistent change often requires changing ma

RDF Java Wiki-syntax

Page 26: Semantic Wiki for Travel and Holidays using OWL

26

TaOPis Markus Schatten

TaOPis is an open source community project hosting system with an integrated semantic wiki component based on F-logic. It's reasoning engine is FLORA-2 but it is mostly implemented in Python and PHP. PostgreSQL acts mainly as an interaction layer between

TaOPis' semantic wiki is based on a fully object oriented framework - any wiki page, any forum post, any blog entry, any user etc. is considered to be a generic object that can be specialized using attribute value tags. Special tags like class or subclass

OWL

FLORA-2, Python, PostgreSQL, PHP

Markup syntax, Forms, Point and click