Domain object modeling with relational persistence for idiomatic OWL/RDF
Available from www.athanasiadis.info
Page 1
Domain object modeling with relational persistence for idiomatic OWL/RDF
Domain object modeling with relational
persistence for idiomatic OWL/RDF
Ioannis N. Athanasiadis and Andrea-Emilio Rizzoli
Dalle Molle Institute for Artificial Intelligence, USI—SUPSI, Lugano, Switzerland
ioannis,andrea@idsia.ch
Abstract. This paper investigates how to use an idiomatic OWL/RDF
model as a specification language for delivering Domain Object Model
with relational persistence. It presents a systematic translation of a
subset of OWL/RDF constructs to object structures with a relational
database back-end. The presented framework has been developed as a
plugin for the Prote´ge´ ontology editor, and it has been evaluated against
a benchmark of semantic repositories with promising results.
1 Introduction
The adoption of formal semantics for domain modeling has lately became very
popular. Semantic models, typically expressed using the Resource Description
Framework (RDF) or the Web Ontology Language (OWL), emerge for specify-
ing several domains including earth sciences, biology, medicine, or multimedia,
to name a few. Initially, semantic models were meant to be used as classifica-
tions or thesauri. Nowadays, they are the foundations for realizing Semantic
Web Applications, where data, services, and people interact seamlessly over the
open web. However, experience has shown that semantic models and their in-
carnations into OWL/RDF structures, though powerful for expressing complex
abstractions, remain difficult to utilize in conventional software projects.
A major challenge for knowledge-based software engineering is to take advan-
tage of the rich semantics expressed in OWL/RDF domain models. The goal of
providing benefits for the software development process requires aligning object-
oriented models (OO) with semantic models. However this linking is neither
straight-forward, nor trivial, as semantic modeling and object-oriented model-
ing employ different conceptualizations as their building blocks for expressing
domain models, as discussed in [1]. While in object models classes are consid-
ered as types for instances, classes in OWL are regarded as sets of individuals.
Obviously, there is a mismatch between semantic models and object models,
though they both serve similar purposes. The alignment across specification lan-
guages is a challenging task, and in this direction aims the recently published
as an OMG standard Ontology Definition Metamodel [2] that lays the base for
aligning UML models with RDF, OWL and topic maps.
This work investigates how a domain specification, expressed in OWL/RDF
can be used (and reused) in software engineering. This is a step to enable
In Workshop on Ontology-Driven Software Engineering at OOPSLA, Orlando, FL, USA, 2009.
persistence for idiomatic OWL/RDF
Ioannis N. Athanasiadis and Andrea-Emilio Rizzoli
Dalle Molle Institute for Artificial Intelligence, USI—SUPSI, Lugano, Switzerland
ioannis,andrea@idsia.ch
Abstract. This paper investigates how to use an idiomatic OWL/RDF
model as a specification language for delivering Domain Object Model
with relational persistence. It presents a systematic translation of a
subset of OWL/RDF constructs to object structures with a relational
database back-end. The presented framework has been developed as a
plugin for the Prote´ge´ ontology editor, and it has been evaluated against
a benchmark of semantic repositories with promising results.
1 Introduction
The adoption of formal semantics for domain modeling has lately became very
popular. Semantic models, typically expressed using the Resource Description
Framework (RDF) or the Web Ontology Language (OWL), emerge for specify-
ing several domains including earth sciences, biology, medicine, or multimedia,
to name a few. Initially, semantic models were meant to be used as classifica-
tions or thesauri. Nowadays, they are the foundations for realizing Semantic
Web Applications, where data, services, and people interact seamlessly over the
open web. However, experience has shown that semantic models and their in-
carnations into OWL/RDF structures, though powerful for expressing complex
abstractions, remain difficult to utilize in conventional software projects.
A major challenge for knowledge-based software engineering is to take advan-
tage of the rich semantics expressed in OWL/RDF domain models. The goal of
providing benefits for the software development process requires aligning object-
oriented models (OO) with semantic models. However this linking is neither
straight-forward, nor trivial, as semantic modeling and object-oriented model-
ing employ different conceptualizations as their building blocks for expressing
domain models, as discussed in [1]. While in object models classes are consid-
ered as types for instances, classes in OWL are regarded as sets of individuals.
Obviously, there is a mismatch between semantic models and object models,
though they both serve similar purposes. The alignment across specification lan-
guages is a challenging task, and in this direction aims the recently published
as an OMG standard Ontology Definition Metamodel [2] that lays the base for
aligning UML models with RDF, OWL and topic maps.
This work investigates how a domain specification, expressed in OWL/RDF
can be used (and reused) in software engineering. This is a step to enable
In Workshop on Ontology-Driven Software Engineering at OOPSLA, Orlando, FL, USA, 2009.
Page 2
2 Ioannis N. Athanasiadis and Andrea-Emilio Rizzoli
knowledge-based software engineering, where semantic models can serve as a
domain specification language, and builds upon our prior work [3, 4]. In the
following Section 2 we discuss the differences between semantic, object and rela-
tional models. Section 3 drafts a methodology for transliterating semantic models
to object models with relational persistence. Section 3.4 introduces an implemen-
tation of the presented method as a plugin for the Prote´ge´ knowledge editor1.
Finally in Section 4 we evaluate the efficiency of the proposed method in respond-
ing to queries using a benchmark for semantic repositories. The paper concludes
with a discussion and open issues for future research.
2 Semantic-object-relational model impedance mismatch
Object-relational impedance mismatch is the difference resulting from the fact
that relational theory is based in relationships between tuples that are queried,
whereas the object paradigm is based on relationships between objects that are
traversed [5]. Similarly, semantic-object impedance mismatch is the difference
resulting from the fact that the object paradigm is based on static definitions
of classes, whereas the semantic paradigm defines classes as a set of axioms
which are logically verified. There are certain incompatibilities between semantic
and object paradigms discussed in [6, 2] and between semantic and relational
paradigms, discussed in [7]. The key differences between the three paradigms
can be summarized as follows.
Open vs Close World Assumption: Semantic models adopt the open
world assumption, while Object and Relational models adopt the closed world
one. In OWL, the absence of a statement does not imply that the statement
is false. On the contrary, in OO languages and SQL, the absence of a state-
ment is considered as a false statement. For example in Java, the method call
professor.coursesTaught.contains(ECE123) will return false if the set con-
taining the courses taught by the object professor does not explicitly include
the course ECE123. The same operation in an OWL model will result with in-
formation that is inferred from the model, including statements not explicitly
assigned to the professor individual. As an example consider that there is an in-
verse property taughtBy that assigns ECE123 to have been taught by professor.
This statement is enough for an OWL model to derive the inverse relation, with-
out being directly assigned to the professor individial.
As Antoniou and van Harmelen (2004) pointed out “On the huge and only
partially knowably World Wide Web, the open world assumption is the correct
assumption... Nevertheless, a closed world assumption, (i.e. a statement is true
when its negation cannot be proven) is also useful in certain applications” [8].
Unique names assumption: Typical database applications assume that
individuals with different names are indeed different individuals [8]. This is also
the default behavior in OO classes, unless implemented differently. In the con-
trary, OWL does not make such an assumption, rather it is controlled through
specific constructs (owl:sameAs, owl:sameAs, owl:differentFrom).
1 http://protege.stanford.edu
knowledge-based software engineering, where semantic models can serve as a
domain specification language, and builds upon our prior work [3, 4]. In the
following Section 2 we discuss the differences between semantic, object and rela-
tional models. Section 3 drafts a methodology for transliterating semantic models
to object models with relational persistence. Section 3.4 introduces an implemen-
tation of the presented method as a plugin for the Prote´ge´ knowledge editor1.
Finally in Section 4 we evaluate the efficiency of the proposed method in respond-
ing to queries using a benchmark for semantic repositories. The paper concludes
with a discussion and open issues for future research.
2 Semantic-object-relational model impedance mismatch
Object-relational impedance mismatch is the difference resulting from the fact
that relational theory is based in relationships between tuples that are queried,
whereas the object paradigm is based on relationships between objects that are
traversed [5]. Similarly, semantic-object impedance mismatch is the difference
resulting from the fact that the object paradigm is based on static definitions
of classes, whereas the semantic paradigm defines classes as a set of axioms
which are logically verified. There are certain incompatibilities between semantic
and object paradigms discussed in [6, 2] and between semantic and relational
paradigms, discussed in [7]. The key differences between the three paradigms
can be summarized as follows.
Open vs Close World Assumption: Semantic models adopt the open
world assumption, while Object and Relational models adopt the closed world
one. In OWL, the absence of a statement does not imply that the statement
is false. On the contrary, in OO languages and SQL, the absence of a state-
ment is considered as a false statement. For example in Java, the method call
professor.coursesTaught.contains(ECE123) will return false if the set con-
taining the courses taught by the object professor does not explicitly include
the course ECE123. The same operation in an OWL model will result with in-
formation that is inferred from the model, including statements not explicitly
assigned to the professor individual. As an example consider that there is an in-
verse property taughtBy that assigns ECE123 to have been taught by professor.
This statement is enough for an OWL model to derive the inverse relation, with-
out being directly assigned to the professor individial.
As Antoniou and van Harmelen (2004) pointed out “On the huge and only
partially knowably World Wide Web, the open world assumption is the correct
assumption... Nevertheless, a closed world assumption, (i.e. a statement is true
when its negation cannot be proven) is also useful in certain applications” [8].
Unique names assumption: Typical database applications assume that
individuals with different names are indeed different individuals [8]. This is also
the default behavior in OO classes, unless implemented differently. In the con-
trary, OWL does not make such an assumption, rather it is controlled through
specific constructs (owl:sameAs, owl:sameAs, owl:differentFrom).
1 http://protege.stanford.edu
Sign up today - FREE
Mendeley saves you time finding and organizing research. Learn more
- All your research in one place
- Add and import papers easily
- Access it anywhere, anytime
Start using Mendeley in seconds!
Readership Statistics
3 Readers on Mendeley
by Discipline
33% Psychology
by Academic Status
33% Other Professional
33% Professor
33% Associate Professor
by Country
33% Switzerland
33% Turkey


