Ontologies, JavaBeans and Relational Databases for enabling semantic programming
31st Annual International Computer Software and Applications Conference Vol 2 COMPSAC 2007 (2007)
- ISSN: 07303157
- ISBN: 0769528708
- DOI: 10.1109/COMPSAC.2007.160
Available from ieeexplore.ieee.org
or
Abstract
Knowledge-based software engineering enables a programmer to integrate rich semantics in the software development process. In this work, we show how an OWL/RDF knowledge base can be integrated with conventional domain-centric data models (Enterprise Java Beans) and object-relational mapping toolkits (Hibernate). We present a pathway for the software developer to generate enterprise Java beans source code and hibernate objectrelational mappings starting from a domain ontology. This way, a semantic-rich enterprise development environment is specified that combines the benefits of using ontologies with software development standards.
Page 1
Ontologies, JavaBeans and Relational Databases for enabling semantic programming
Ontologies, JavaBeans and Relational Databases for enabling semantic
programming
Ioannis N. Athanasiadis
IDSIA/USI-SUPSI
Lugano, Switzerland
ioannis@idsia.ch
Ferdinando Villa
Univ. of Vermont
Burlington, VT, USA
fvilla@uvm.edu
Andrea-Emilio Rizzoli
IDSIA/USI-SUPSI
Lugano, Switzerland
andrea@idsia.ch
Abstract
Knowledge-based software engineering enables a pro-
grammer to integrate rich semantics in the software de-
velopment process. In this work, we show how an
OWL/RDF knowledge base can be integrated with conven-
tional domain-centric data models (Enterprise Java Beans)
and object-relational mapping toolkits (Hibernate). We
present a pathway for the software developer to generate
enterprise Java beans source code and hibernate object-
relational mappings starting from a domain ontology. This
way, a semantic-rich enterprise development environment is
specified that combines the benefits of using ontologies with
software development standards.
1 Introduction
Building semantic-rich applications requires the synthe-
sis of traditional AI concepts with every-day software en-
gineering practice. Domain-specific conceptualizations are
increasingly specified as formal ontologies, as part of ongo-
ing efforts for enabling the semantic web. However, experi-
ence has shown that semantic models and their incarnations
into OWL structures, though powerful for expressing com-
plex abstractions, remain difficult to utilize in conventional
software projects. One of the major issues raised is that us-
ing a semantic model to its full extent results in complex
software interfaces, with several degrees of freedom. For
example, existing programming toolkits handle OWL indi-
viduals in a triple-store approach. Though powerful, such a
practice is very unfamiliar to the conventional programmer,
who feels comfortable with standard domain models for
building domain applications. Similarly, common strategies
to archive individuals in RDF triple-stores or in uniform
“subject-predicate-object” relational database tables hardly
fit the notion of normalized relational databases.
In this paper we present how OWL semantic models can
be used to specify and build client-server enterprise appli-
cations. We present a three-layer framework that trans-
lates ontology constructs into Enterprise Java Beans, en-
abling easy software coding, and connects them to rela-
tional database persistence storage through the generation
of Hibernate object-relational mappings. In the context of
knowledge-based software engineering, the framework pre-
sented in this paper demonstrates how semantic models can
be coupled with standard programming practices for build-
ing semantic-rich applications.
The rest of the paper is structured as follows; Section 2
summarizes related work on both linking ontologies and
databases, and generating programmatic interfaces from on-
tologies. Based on these findings, we present in section 3 an
abstract architecture for semantic programming that com-
bines both generated programmatic interfaces with rela-
tional back-end storage of individuals. Section 4 shows how
a domain model specified using an ontology can be trans-
lated to both enterprise Java Beans and relational storage.
Themain findings of this paper are summarized in section 5.
2 Related work
Ontologies and database cross-disciplinary efforts have
so far focused in two directions: 1) persistent storage of
newly created knowledge bases, and 2) populating ontolo-
gies with instances initially stored in relational databases.
Various software tools and libraries exist to enable (1), e.g.
Jena [13], Prote´ge´ [8] and KAON [11]. All of these allow
storing OWL/RDF content in databases, making no differ-
ence between storage of OWL/RDF Classes and Individ-
uals. Both the conceptual specification (i.e. classes) and
the actual content (i.e. instances) of a semantic model are
made persistent following a native ‘triple-store’ approach
(i.e. in the form of subject-predicate-object tables). This
design choice is suitable for accessing and storing ontology-
specified content and is optimal for reasoning on the knowl-
edge base [20]. Yet, it is quite inefficient for accessing and
In Proc. of the 31th IEEE Annual International Computer Software and Applications Conference (COMP-
SAC), Beijing, China, IEEE, July 2007, pp.341-346.
programming
Ioannis N. Athanasiadis
IDSIA/USI-SUPSI
Lugano, Switzerland
ioannis@idsia.ch
Ferdinando Villa
Univ. of Vermont
Burlington, VT, USA
fvilla@uvm.edu
Andrea-Emilio Rizzoli
IDSIA/USI-SUPSI
Lugano, Switzerland
andrea@idsia.ch
Abstract
Knowledge-based software engineering enables a pro-
grammer to integrate rich semantics in the software de-
velopment process. In this work, we show how an
OWL/RDF knowledge base can be integrated with conven-
tional domain-centric data models (Enterprise Java Beans)
and object-relational mapping toolkits (Hibernate). We
present a pathway for the software developer to generate
enterprise Java beans source code and hibernate object-
relational mappings starting from a domain ontology. This
way, a semantic-rich enterprise development environment is
specified that combines the benefits of using ontologies with
software development standards.
1 Introduction
Building semantic-rich applications requires the synthe-
sis of traditional AI concepts with every-day software en-
gineering practice. Domain-specific conceptualizations are
increasingly specified as formal ontologies, as part of ongo-
ing efforts for enabling the semantic web. However, experi-
ence has shown that semantic models and their incarnations
into OWL structures, though powerful for expressing com-
plex abstractions, remain difficult to utilize in conventional
software projects. One of the major issues raised is that us-
ing a semantic model to its full extent results in complex
software interfaces, with several degrees of freedom. For
example, existing programming toolkits handle OWL indi-
viduals in a triple-store approach. Though powerful, such a
practice is very unfamiliar to the conventional programmer,
who feels comfortable with standard domain models for
building domain applications. Similarly, common strategies
to archive individuals in RDF triple-stores or in uniform
“subject-predicate-object” relational database tables hardly
fit the notion of normalized relational databases.
In this paper we present how OWL semantic models can
be used to specify and build client-server enterprise appli-
cations. We present a three-layer framework that trans-
lates ontology constructs into Enterprise Java Beans, en-
abling easy software coding, and connects them to rela-
tional database persistence storage through the generation
of Hibernate object-relational mappings. In the context of
knowledge-based software engineering, the framework pre-
sented in this paper demonstrates how semantic models can
be coupled with standard programming practices for build-
ing semantic-rich applications.
The rest of the paper is structured as follows; Section 2
summarizes related work on both linking ontologies and
databases, and generating programmatic interfaces from on-
tologies. Based on these findings, we present in section 3 an
abstract architecture for semantic programming that com-
bines both generated programmatic interfaces with rela-
tional back-end storage of individuals. Section 4 shows how
a domain model specified using an ontology can be trans-
lated to both enterprise Java Beans and relational storage.
Themain findings of this paper are summarized in section 5.
2 Related work
Ontologies and database cross-disciplinary efforts have
so far focused in two directions: 1) persistent storage of
newly created knowledge bases, and 2) populating ontolo-
gies with instances initially stored in relational databases.
Various software tools and libraries exist to enable (1), e.g.
Jena [13], Prote´ge´ [8] and KAON [11]. All of these allow
storing OWL/RDF content in databases, making no differ-
ence between storage of OWL/RDF Classes and Individ-
uals. Both the conceptual specification (i.e. classes) and
the actual content (i.e. instances) of a semantic model are
made persistent following a native ‘triple-store’ approach
(i.e. in the form of subject-predicate-object tables). This
design choice is suitable for accessing and storing ontology-
specified content and is optimal for reasoning on the knowl-
edge base [20]. Yet, it is quite inefficient for accessing and
In Proc. of the 31th IEEE Annual International Computer Software and Applications Conference (COMP-
SAC), Beijing, China, IEEE, July 2007, pp.341-346.
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
9 Readers on Mendeley
by Discipline
11% Psychology
11% Earth Sciences
by Academic Status
33% Ph.D. Student
22% Researcher (at an Academic Institution)
11% Student (Master)
by Country
22% Switzerland
11% New Zealand
11% China


