semantic wiki for travel and holidays using owl
TRANSCRIPT
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
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
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.
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]
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]
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]
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]
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.
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
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.
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
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/
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]
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
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
16
4.3 Project Plan
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
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]
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
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/
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.
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.
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
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
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
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