Availability and Contacts
Version: 0.4, 14 July 2005.
Source control: To be made available from CVS of the DOME SourceForge project.
Contact person: Stoyan Atanassov, firstname.lastname@example.org
Purpose and Functionality
The ontology mapping store (OMapStore) allows for storage and retrieval of ontology mappings. An ontology mapping is a formal specification of a correspondence between two ontologies, e.g. equivalent classes and relationships. One of the main purposes of the ontology mappings is to allow for interoperability between programs using data represented with respect to different ontologies. This could be achieved through a variety of ontology mediation strategies, e.g. instance transformation, query re-writing.
The OMapStore is designed to support mappings represented according to the Ontology Mapping Language API (OMapLang). The latter is covering the following functionality (i) in-memory structures for representation of mapping expressions; (ii) parsing and serialization of mapping expressions from and to strings.
The OMapStore is taking care of:
- In-memory model allowing for representation of ontology mappings in terms of: id, name, source and target ontologies, description, version. The definitions of the mappings are only managed as strings, which could be parsed and managed further with the OMapLang.
- Storage of mappings – when a mapping is stored, the store generates and ID.
- Retrieval of mappings through a variety of restrictions on its attributes.
The current version 0.4 of OMapStore is an advance release that covers all functionality of the OMapStore and is integrated with the last version of MappingLanguage, but should not be considered as final.
Nature: A Java library without any user interface.
Interfaces (API, Web Services): a Java API.
Platform: JDK 1.4.2 or 1.5.
Supported standards: the Ontology Mapping Language presented in [de Bruijn et al., 2004].
Required Libraries (OMWG, SDK Cluster, WSMO-related):
- Ontology Mapping Language API (OMapLang) is library allowing for in-memory representation, management, serialization and parsing of mapping expressions. OMapLang is on its own dependent on wsmo4j (see below). OMapLang is integrated with OMapStore in order to allow for parsing and further management of mapping definitions. The main functionality of the store is independent from the representations of the definitions. The version of OMapLang used in the current version of OMapStore is the one from 13/07/2005.
- wsmo4j is a wsmo4j is an API and a reference implementation for building Semantic Web Services applications compliant with the Web Service Modeling Ontology (WSMO). wsmo4j is used within OMapStore for only for the purpose of Ontologies (as a high-level object). In a sense OMapStore has a rather weak dependency on wsmo4j – it can easily be removed with any other representation of ontologies where those are identified by an URI. The version of wsmo4j used in the current version of OMapStore is 0.3.2, compliant with WSMO v.1.0.
Required Libraries (others):
- Lucene an open-source Information retrieval (IR) engine from the Apache Foundation. Within OMapStore it is used for mapping storage and retrieval. The version of Lucene used in the current version of OMapStore is 1.4.3.
- JUnit an open-source simple framework for writing and running automated tests. Within OMapStore it is used for testing of the example scenarios. The version of JUnit used in the current version of OMapStore is 3.8.1
Ontology Mapping Store License Agreement
Copyright (c) 2005, Ontotext Lab, Sirma.
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
Licensing of third party libraries and components required for OMapStore:
- Ontology Mapping Language API – (c) Copyright DERI. It is an open-source library.
- wsmo4j – (c) Copyright Ontotext Lab, Sirma. It is an open-source library, available under the same LGPL conditions.
- Lucene (c) Copyright Apache Corporation. This PRODUCT includes software developed by the Apache Software Foundation (http://www.apache.org/). The use of Lucene within the PRODUCT complies with the proprietary licence agreement for Lucene the Apache Software License, Version 1.1, following verbatim below. Any redistribution or modification of the PRODUCT, according to the provisions, terms and conditions of this Licence, should also conform to the terms and conditions in the Apache Software License, Version 1.1.
- JUnit – (c) Copyright JUnit.org. It is a regression testing framework written by Erich Gamma and Kent Beck. It is used by the developer who implements unit tests in Java. JUnit is Open Source Software, released under the Common Public License Version 1.0 . Your use of JUnit 3.8.1 is subject to the terms and conditions of the Common Public License, Version 1.0
Installation and Usage
Installation of the Ontology Mapping Store Component
The OMapStore is distributed as a ZIP archive, which should be extracted in a separate folder. The archive file is originally named omapstore.zip and has the following contents:
FactSheet.html– this document;
docfolder – contains Javadoc documentation for this mapping component;
libfolder – contains all the necessary libraries (jar files);
srcfolder – contains all source files;
example.txt– sample definition of a mapping in the mapping language format;
mappingstore.jar– the OMapStore component provided as a Java library. For integration in Java programs, one needs this file plus the ones in the
libfolder to be in the CLASSPATH.
Five simple scenarios illustrating the functionality of the Mapping store component (for store, load, remove, simple and complex search of mappings) are available in “src\org\omwg\mediation\mappingstore\examples” directory.
- SearchByNameScenario – creates two mappings from string definitions, stores them and makes simple search by given prefix of mapping name.
- ComplexSearchScenario – creates two mappings from string definitions, stores them and makes complex search by description keywords and mapping name prefix
- SearchByTargetScenario – creates a mapping, using a parser (from the OMapLang library) to parse a definition from a file; next stores it and makes simple search by given target ontology prefix name.
- SearchByVersionScenario – creates some mappings generated from string definitions, stores them and makes simple search by version.
- EditMappingScenario – creates a mapping, stores and loads it. After that edits mapping description and updates the version.
The immediate development plans include integration with the forthcomming version of wsmo4j (to support WSML 0.2 and WSMO 1.1) and the Ontology Mapping Language API
Appendix A. References
[de Bruijn et al., 2004] J. de Bruijn, D. Foxvog, and K. Zimmerman: Ontology mediation patterns. Technical Report. Deliverable D4.3.1 of the SEKT project. 2004.