334 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART C:APPLICATIONS AND REVIEWS, VOL. 42, NO. 3, MAY2012
Ontology-Driven Information System Design
Petr Kˇ remen and Zdenˇ ek Kouba
Abstract—Conventional information systems are built on top of
a relational database that requires its data model to be stable. This
lack of adaptability is very restrictive for systems that manipulate
evolving or heterogenous knowledge. The authors of this paper
faced this issue at the time of the development of an information
system of structural failures. As knowledge on structural failures
is very heterogeneous and dynamic, it is practically impossible
to define a stable database schema ahead. The widely accepted
alternative to relational databases are semantic web ontologies.
However, software developers miss adequate frameworks and de-
sign methodologies in this area. This paper tries to fill the gap by
proposing a methodology for designing ontology-backed software
applications that make the ontology possible to evolve while be-
ing exploited by one or more applications at the same time. The
methodology relies on a contract between the ontology and the
application that is formally expressed in terms of integrity con-
straints. Violation of the contract means either that the ontology
evolved in a way that is incompatible with the particular appli-
cation or the application produced invalid data. In the first case,
the ontology change must either be rolled back, or the application
needs to be upgraded. In the second case, the user has to modify
entered data to fulfill the contract. Furthermore, this paper elab-
orates an object ontological mapping, transaction management,
and efficient querying API. A reference Java implementation of
the methodology and the proof-of-concept application in the civil
engineering domain is introduced at the end of the paper.
Index Terms—Information system, ontology, Web Ontology
Language.
I. INTRODUCTION
D
ATABASE applications can manipulate large and dynam-
ically changing data, but the flexibility of their data model
is limited. Even a small change (e.g., attribute addition/removal)
of the data model requires significant work of an application de-
signer. Furthermore, a data model is not able to capture complex
relationships between objects such as relation composition (e.g.,
“being someone’s uncle means being a brother of his/her par-
ent”), cardinality restrictions (e.g., “each person has exactly two
arms”), logical negation (e.g., “every person not being a man
must be a woman”), etc.
We faced these problems when designing an information sys-
tem that was aimed at management of structural failure records
Manuscript received November 26, 2010; revised April 13, 2011; accepted
July 20, 2011. Date of publication September 6, 2011; date of current ver-
sion April 11, 2012. This work was supported partially under Grant MSM
6840770038 “Decision Making and Control for Manufacturing III” of the Min-
istry of Education, Youth and Sports of the Czech Republic and partially by the
FP7 project Integrated European Industrial Risk Reduction System (IRIS) under
Grant FP7-NMP-2007-LARGE-1, co-funded by the project of Czech Ministry
of Education, Youth and Sport under Grant 7E09078. This paper was recom-
mended by Associate Editor Z. Zdrahal.
The authors are with the Department of Cybernetics, Faculty of Electrical
Engineering, Czech Technical University in Prague, 16000 Prague, Czech Re-
public (e-mail: petr.kremen@fel.cvut.cz; kouba@fel.cvut.cz).
Digital Object Identifier 10.1109/TSMCC.2011.2163934
(for details see Section VI). As the domain knowledge is evolv-
ing (e.g., new material characteristics, construction technolo-
gies and intervention procedures are introduced on the fly) and
complex (e.g., transitive part-of relationships on structures, tax-
onomies of failure/structure types), its implementation by the
usage of relational database technology would be difficult and
hard-to-maintain. This motivated us to represent the domain
knowledge by means of semantic web ontologies and thus fol-
low the modern approach to desig information systems that need
to manipulate complex and evolving knowledge. This need has
also been identified independently in [1]–[3].
Unlike generic ontology editors (e.g., Prot´ eg´ e [4]), design of
which must be independent of the particular knowledge domain,
requirements on information systems are different. They need
to be tailored to domain-dependent user scenarios (e.g., user-
interface for authoring of failure records in the example earlier)
and hence require business logic that depends on the ontology.
As a result of ontology evolution, the ontological data might
violate the original assumptions (called consistency of the ontol-
ogy and the dependent application in [1]) of the business logic
designer (e.g., incomplete ontological data with respect to ap-
plication data structures) at some point. If these assumptions are
not formally expressed, then it is impossible to guarantee cor-
rect functionality of the business logic if the ontology evolves.
Thus, on the one hand, ontology changes might cause improper
behavior or failure of the application. On the other hand, the
application might damage the ontology by the production of
ontological
1
data that cause its inconsistency.
In this paper, we offer a technique that solves the problems
identified in the last paragraph for OWL 2 ontologies [5]. The
technique introduces 1) a formal contract that captures de-
signer’s assumptions he/she made about an ontology during
development of the business logic; 2) process of its validation;
and 3) transactional support aimed at keeping the ontology con-
sistent and optimizing the access to the ontology. Furthermore,
our approach allows competencies to be clearly distinguished
in the application development process. Ontology and formal
contract maintenance is the responsibility of the knowledge en-
gineer educated in ontologies, but not necessarily having suf-
ficient programming skills. On the other hand, the application
developer(s) need not to be educated in ontological reasoning
and knowledge engineering. Hence, this approach tends to sig-
nificantly reduce the application development costs.
Section II discusses current ontology technologies that can be
used by information systems to access ontological knowledge
and relates them to our approach. Section III introduces back-
ground of ontologies and integrity constraints that are necessary
to understand our proposal for a persistence layer between an
1
Because of the lack of space, we will relate our approach only to data models
of relational databases, the main-stream technology for data modeling.
1094-6977/$26.00 © 2011 IEEE