
Ontology Representation and Data Integration (ORDI) Framework
Deliverable 2.3 - Prototype Fact Sheet, 10 Feb 2006
- This version:
- http://www.ontotext.com/ordi/v0.3/FactSheet.html
- Latest version:
- http://www.ontotext.com/ordi/v0.3/FactSheet.html
- Previous version:
- http://www.omwg.org/tools/ordi/v0.21/FactSheet.html
- Authors:
- Damyan Ognyanov, Atanas Kiryakov
- Editors:
- Atanas Kiryakov
Copyright © 2006 Ontotext Lab of Sirma. All Rights
Reserved.
Version: 0.3, 10 February 2006.
Download: http://www.ontotext.com/ordi/ordi-0.3.zip;
the home page of ORDI is http://www.ontotext.com/ordi/
Source control: Available as ORDI module from the
CVS repository of the DOME SourceForge project.
Contact person: Damyan Ognyanov, damyan_at_sirma.bg
Ontology Representation and Data Integration (ORDI) Framework is developed after
the analysis and design guidelines of [ORDI-Design]
- a conceptual framework, presented in deliverable D2.2 of the DIP project.
The major objectives of ORDI are:
- Ontology language neutrality;
- Integration of databases and other structured data-sources;
- Support for heterogeneous reasoners and data-sources;
- RDF-to-WSML interoperability is a major objective;
it is implemented through the support of WSML-Triples representation, based on the WSML-RDF syntax.
Instead of developing a new language-independent representation, the implementation
of ORDI adapts WSML Core ([WSML0.21]) as a formal data-
and knowledge representation model. This decision was taken due to the following
reasons:
- WSML Core is rather close to the model defined in
[ORDI-Design]. WSML Core is crafted after the same
objectives - as a minimal but sufficient basic model, which can
serve as a ground and/or be aligned to the models used under the
most popular knowledge representation and conceptual modelling paradigms.
- WSML provides a model also for web services (WS), which allows for smooth
integration between ontology management (OM) and WS software infrastructure.
ORDI, as a package, contains the following modules:
- ORDI API - all the APIs necessary to work with ORDI, at present it is a tiny extension of the WSMO API, see below.
- ORDI Implementation - an implementation of the interfaces with the following major parts:
- A default repository implementation, based on
Sesame,
OWLIM, and
TRREE. It uses the WSMO Tripliser, see below;
- An RDF/XML Parser implementation for WSMO-RDF, see below;
The source code of few sample applications, using ORDI as a library, is also included in package, see the Usage section.
ORDI and wsmo4j were designed to
complement each other in the following way:
- wsmo4j includes a WSMO representation and management API coupled with
a reference implementation. wsmo4j defines APIs for management of the
WSMO elements as well as basic in-memory implementations. It also
defines few functional interfaces: Parser (parsing and serialization),
DataStore (storage and retrieval), Locator (mapping of logical to physical addresses).
wsmo4j includes a parser for the WSML Human Readable syntax (abbreviated as WSML-HR).
- ORDI defines interfaces for more advanced repository (storage, query, maintenance)
functionality. It is meant to serve as ontology middleware which mediates between a wide
range of ontology management tools and applications on the one hand and
different sorts of ontology servers and reasoners on the other. ORDI also takes care of
interoperability with other (non-WSMx) representation formats and syntaxes.
- ORDI takes care of RDF triples related WSML infrastructure (one way to described ORDI is
wsml4triples). This includes:
- WSML-triples Java representation, see below;
- The TripleRepository class, which implements wsmo4j's Datastore and WSMORepository interfaces on top of an RDF repository with wrapper implementing the TripleStore interface.
- ORDI is an extension of wsmo4j, while the latter is self-sufficient. The major
dependency between the two is the
www.omwg.ontology package, which defines
the ontology primitives of WSMO.
Figure 1 depicts
the major relationships between wsmo4j and ORDI and their positioning wrt WS- and OM-tools.
(Those should be further elaborated.)

Figure 1. wsmo4j and ORDI
Starting from version 0.3, the OWL-to-WSML Import is not part of ORDI;
it has been moved to the wsmo4j code-base. This module allows import of OWL through
parsing of the most popular RDF/XML syntax and transformation into WSMO-In-Memory format (see below).
There are numerous file formats related to ORDI. Those will be introduced here,
the specific tasks related to them are discussed in a latter sub-section.
- A WSML document in either WSML XML syntax (abbreviated as WSML-XML) or
WSML Human Readable syntax (WSML-HR);
- OWL-RDF: the standard RDF XML syntax [RDF/XML].
RDF syntaxes different than
XML (e.g. NTriples and N3) will also be supported (through the existing RDF parsers).
An RDFS subset, which is a proper sub-language of OWL DLP, is considered as an
import format.
- WSMO-RDF: a WSMO/WSML document serialized according to the
WSMO RDF Schema. The latter is an ORDI-specific RDFS/OWL ontology
(meta-schema) derived from the WSML mapping to OWL [WSML0.21].
In a way, it has the same role as the RDFS schema for OWL. This format shall comply
with [WSML_RDF] when it gets finalized.
It is important to be mentioned that the immediate plans do not foresee export of WSML
into OWL-RDF. The main WSML format, compliant with the Semantic Web standards, is
WSMO-RDF.
There are a couple of datamodels (with corresponding Java interfaces and implementations)
relevant to ORDI.
- WSMO-In-Memory:
a WSMO-API/wsmo4j compliant model (e.g. the reference implementation within wsmo4j).
This is an object-oriented representation, which is not specific for ORDI;
- WSMO-Triples:
a representation of WSMO elements as RDF triples according to the
WSMO RDF Schema. This is an internal representation allowing ORDI to store
WSMO entities (and other data) into an RDF triple repository for the sake of
efficient query and management of huge amounts of data. The WSMO-RDF syntax is a
serialization of this representation.
Here follows a diagram which represents the transformations (as gray arrorws) between the different
formats (depicted by yellow ellipses) and models (depicted by orange rouded rectangles). Next by the arrows one can see the modules which
take care of the transformation (depicted by the rectangles).

Figure 2. ORDI-related Formats and Representations
The current version 0.3 of ORDI is updated against the latest release of wsmo4j, ver. 0.5.1.
ORDI uses the OWLIM semantic repository (v2.8.1) as a default repository, in order to provide high performance and scalability.
OWLIM is a storage and inference layer (SAIL) for Sesame (v1.3), based on Ontotext's
Triple Reasoning and Rule Entailment Engine (TRREE). OWLIM is
proven to scale to tens of millioins of statements on desktop hardware; according to the Lehigh University Benchmark (LUBM) it is the fastest
and most scalable OWL repository in the world. Within ORDI, OWLIM is pre-configured to serve as plain
RDF repository without reasoning. The usage pattern currently is that ORDI uses Sesame, which uses OWLIM, which uses TRREE.
It is planned that in the future ORDI will directly use TRREE.
The other significant change against v. 0.21 is that the import from OWL (RDF/XML syntax) was moved to wsmo4j codebase.
The major functionality of ORDI (as added value on top of wsmo4j) is:
- the more scalable repository implementation through TRREE;
- the WSMO-RDF parser. It currently supports only serialization (i.e. export)
- the parsing (import) functionality is straightforward to implement, but still missing
in this version.
Probably the best way to understand what is missing in the current version is to check
the Future Plans section below.
Nature: A Java library without user interface.
Interfaces (API, Web Services): a Java API.
Platform: JDK 1.4.2 and 1.5.
Supported standards:
- ORDI's native data-model is the WSMO-in-memory representaiton of wsmo4j, which implements
[WSMO1.2] as a conceptual model and
[WSML0.21] as knowledge representation language.
- ORDI supports export in [RDF], more precisely
the [RDF/XML] syntax, which is supported
through Sesame.
Required Libraries (OMWG, SDK Cluster, WSMO-related):
- wsmo4j is an API and a reference
implementation for building Semantic Web Services applications compliant with the
Web Service Modeling Ontology (WSMO).
The version of wsmo4j used in the current version of ORDI is 0.5.1 from 31/01/2006.
Required Libraries (others):
- Sesame –
Sesame is an open source Java framework for storing, querying and reasoning
with RDF and RDF Schema. One of its functionalities is that it
can serve as a scalable high-performance semantic repository - this is its
major role within ORDI. The version of Sesame used in the current version of ORDI is 1.3.
- OWLIM plugin for Sesame – OWLIM is a Sesame wrapper for the
TRREE engine
that does inference by forward chaining of entailment rules, defined as triple patterns with variables.
Copyright (c) 2005-2006, Ontotext Lab, Sirma Group.
This library is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the Free
Software Foundation; either version 2.1 of the License, or (at your option)
any later version.
This library is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
details.
You should have received a copy of the GNU Lesser General Public License along
with this library; if not, write to the Free Software Foundation, Inc.,
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
Licensing of third party libraries and components required for ORDI:
- wsmo4j -
(c) Copyright Ontotext Lab, Sirma Group. It is an open-source library, available under the same
LGPL conditions.
- Sesame -
(c) Copyright Aduna b.v. It is an open-source library, available under the same
LGPL conditions.
- OWLIM -
(c) Copyright Ontotext Lab, Sirma. It is an open-source library, available under the same
LGPL conditions.
ORDI is distributed as a ZIP archive, which should be extracted in a separate
folder. The archive file is originally named
ordi-0.3.zip and has the
following contents:
-
FactSheet.html - this document;
-
doc folder - contains Javadoc documentation of the source code;
-
images folder - contains few images used in the Fact Sheet;
-
lib folder - contains Java libraries of ORDI:
-
ordiapi-0.3.jar - the ORDI API provided as a Java library. It extends the
the WSMO API which is part of wsmo4j.
-
ordiimpl-0.3.jar - the ORDI default implementation provided as a Java library.
It includes WSMO-RDF parser, a Sesame-based default Repository (implementation of the WSMO API WsmoRepository interface).
-
ext folder - contains all the required Java libraries (jar files);
-
src folder - contains all source files;
-
conf folder - contains all necessary configuration files;
(at present only the one for Sesame/OWLIM, which is used for the implementation of the default DataStore);
-
test folder - contains sample data, at present few ontologies in WSML-HR and OWL format,
used by the sample applications (see below).
-
runexample.cmd file - an MS Windows batch script which runs the sample applications; the name of the sample should be given as first parameter.
To use ORDI as a library (e.g. in embedded mode) from a Java program, one needs
the two ORDI jars (ordiapi.jar and ordiimpl.jar)
plus the ones in the ext folder to be included in the CLASSPATH.
Several simple scenarios are provided as an illustration of the functionality of ORDI.
Those are available as Java sources in the src\ordiexamples folder.
-
StoreOntologyExample -
parsing a WSML-HR ontology and storing it in the default repository.
In addition it looks up a concept by IRI, which indirectly loads the concept
definition from the repository, because it has registered itself as a locator.
The concept is stored in the repository again, without a change, to demonstrate
that the basic store/load operation of the repository is definition preserving,
although the definition is getting transformed from WSMO-in-memory to WSMO-Triples and back.
-
ModifyConceptExample -
loads a concept definition from the default repository, than
modifies it and stores it back; finally it loads the concept again to
demonstrate that the definition had changed.
-
ExportToWSMORDFExample - loads an ontology from the repository
and exports (serializes) it into WSMO-RDF format.
A pre-condition for the second and the third examples is that the
http://www.example.org/ontologies/example ontology
is already stored in the default ORDI repository
(which is the effect of the first example: StoreOntologyExample).
The major driving forces for the future development of ORDI can be summarized as follows:
- support for the evolution of the related standards and tools (wsmo4j, WSMO, WSML);
- developments related to integration of ontology back-end infrastructure, i.e. reasoners and repositories;
- improvements and fixes required by applications using ORDI.
Below follows a non-exhaustive list of tasks, which fit into the short-term development plans:
- Re-implementation of the WSMO-RDF support in accoradance with the WSML/RDF specification, [WSML/RDF].
- Import of files in WSMO-RDF syntax (now it only supports serialization).
- Extensions in
org.owmg.ordi.repository.Repository interface.
In particular such related to reasoner integration.
- Provide WSMO Core reasoning on top of the TRREE engine.
[ORDI-Design]
A. Kiryakov, D. Ognyanov, and V. Kirov:
A Framework for Representing Ontologies Consisting of Several Thousand Concepts Definitions.
DIP Project Deliverable D2.2, June 2004.
http://dip.semanticweb.org/deliverables/D22ORDIv1.0.pdf
[RDF]
G. Klyne, J. J. Carrol (eds):
Resource Description Framework (RDF):
Concepts and Abstract Syntax.
W3C Recommendation 10 February 2004. http://www.w3.org/TR/rdf-concepts/
[RDF/XML]
Dave Beckett (editor):
RDF/XML Syntax Specification (Revised).
W3C Recommendation 10 February 2004.
http://www.w3.org/TR/rdf-syntax-grammar/
[WSML0.21]
J. de Bruijn, H. Lausen , R. Krummenacher, A. Polleres, L. Predoiu, M. Kifer, D Fensel:
The Web Service Modeling Language WSML.
Deliverable d16.1v0.21, WSML, 2005. http://www.wsmo.org/TR/d16/d16.1/v0.21/
[WSMO1.2]
D. Roman, H. Lausen, U. Keller (eds);
J. de Bruijn, Ch. Bussler, J. Domingue, D. Fensel, M. Hepp, M. Kifer, B. Konig-Ries,
J. Kopecky, R. Lara, E. Oren, A. Polleres, J. Scicluna, M. Stollberg:
Web Service Modeling Ontology (WSMO).
Deliverable d2v1.2, WSMO, 2005. http://www.wsmo.org/TR/d2/v1.2/
[WSML/RDF]
Jos de Bruijn (eds);
Jos de Bruijn, Jacek Kopecky, Reto Krummenacher:
WSML/RDF.
Deliverable d32v0.1, WSML, 2005. http://www.wsmo.org/TR/d32/v0.1/
$Date: 2006/02/10 17:06:10 $
webmaster