Skip to main content

IBM Integrated Ontology Development Toolkit

An ontology toolkit for storage, manipulation, query, and inference of ontologies and corresponding instances.

Date Posted: July 20, 2004

alphaworks tab navigation


Update: December 7, 2007 Version 1.5: Implementation of new SPARQL spec (April 2006); improved query and loading performance of OWL Ontology Repository; removal of EODM Workbench (ontology editors); numerous bug fixes.

1. What is ontology? How is it compared with ER model and object-oriented model?

An ontology is a model of entity and relationship in a specific domain or universe of discourse (UoD). An ontology can vary from a taxonomy (knowledge with minimal hierarchy or a parent/child structure) to a thesaurus (words and synonyms) to a conceptual model (with more complex knowledge) to a logical theory (with very rich, complex, consistent and meaningful Knowledge). The current focus of the industry is on conceptual model and logical theory (such as OWL). Ontology is distinguishable from other models (such as UML and ER): It has formal semantics; that is, it has a model theory for its language. It supports inference, especially most ontology languages; and it is decidable, and even tractable.

2. What is the relationship between IODT and semantic Web standards?

EODM implements all the language constructs of RDFS/OWL. The EODM parser supports RDF/XML syntax input/output and have passed all W3C RDF test cases. The EODM RDFS/OWL inference engines support RDFS entailment and a subset of OWL DL language.

3. What is ontology-driven development? What's the connection to model-driven architecture?

The principle of ontology-driven development is that ontologies can be developed by domain experts either from scratch or tailored from other domain models; the developed ontologies can be checked for consistency at design time and can be executed to derive new information providing data at run time. Other domain models can be transformed to ontology.

An ontology itself is a logic model for a specific domain. Specifically, ontology is suitable model of data sources on the Web that target for use by agent on the Web. Ontology-driven architecture can be part of model-driven architecture, but it applies these ideas in a much more extreme way: Domain models are not only used for code generation, but they are used as executable artifacts at run time.

The OMG's recent efforts in defining a mapping between OWL and MOF/UML (Ontology Definition Metamodel) is the cornerstone in bringing the fields and tools closer together. The core model of IODT, the EODM model, is derived from the proposed Ontology Definition Metamodel. A number of transformation engines are, or will be, added into EDOM to transform between OWL and other MDA models.

4. What is EODM? Why use EMF?

EODM metamodel, the core metamodel of IODT, is derived from ODM, that is, RDFS/OWL mapped to OMG's Meta-Object Facility (MOF). EMF Ecore model uses a subset of the modeling concepts in MOF 1.4. EMF provides a modeling framework for model transformation and code generation, which is important in making ontology working with other models and tools.

5. What's the benefit of using IODT?

Domain experts can develop ontologies and these experts have direct control over the behavior of the executing system and some aspects of the implementation. Feedback is available frequently since the domain models rapidly lead to executable systems. The support of RDFS/OWL directly implies the developed applications will be ready for integration in the semantic Web context.

6. I always get a "Transaction Log is full" error when loading a large number of OWL documents into Minerva. What should I do?

Try to tune your DB2 database: Enlarge the LOG_SIZE.

6. Why are the inference, real-time, and refresh buttons disabled?(Orient)

In the current release, the inference, real-time, and refresh buttons are enabled only when the ontology editor (that is, the useless-seeming view on the upper right corner of the Orient perspective) is selected as the active view. This problem will probably be solved in future releases.

7. I deleted an item in the resource/class/property list, but it appears again when the views are refreshed. Why?(Orient)

The items listed in these views contain both the original items created by the user and the items created from entailment. But only the items created by the user can be deleted purposely. So, if you are trying to delete an item that is created from entailment, the delete operation will actually do nothing, and thus you will see the item again when the view is refreshed.

7. Which DBMSes are currently supported by Minerva?

Currently, Minerva supports IBM DB2 and Derby as the back-end store. Note that Minerva on DB2 performs much better than Minerva on Derby because DB2 has some desirable optimizations. Sometimes the former is 10 to 20 times faster than the latter.

8. Where can I find more information about IODT?

The documentation and Javadoc for IODT can be found in the doc directory in the released zip file.

9. What was new in Version 1.1.1?

Version 1.1.1 contained the following improvements:

9. What was new in Version 1.1.1?

Version 1.1.1 contained the following improvements:

  • a bug fix (file encoding is now preserved when saving in editors)
  • a new function for importing OWL documents
  • transaction support for incremental updates in Minerva
  • upgrading of all components' version tags to 1.1.1
  • updated documentation with a system architecture picture.

10. What was new in Version 1.1.2?

Version 1.1.2 contained the following enhancements:

11. How do I specify a different RDF/RDFS namespace? (RStar)

In real RDF files, there may be different namespaces for RDF/RDFs, such as rdfs = http://www.w3.org/2000/01/rdf-schema# or rdfs= http://www.w3.org/TR/1999/PR-rdf-schema- 19990303#. In RStar, the default namespaces for RDF and RDFS are, respectively, rdf := http://www.w3.org/1999/02/22-rdf-syntax-ns# and rdfs := http://www.w3.org/2000/01/rdf-schema#. To specify a different namespace, please

12. Why did I get an error from the DB2 JDBC driver: encoding not supported? (RStar)

It seems that you are using DB2 Type4 driver in JRE 1.4. Try switching to JRE 1.3 and add some necessary "libs" mentioned in the Readme.txt file.

13. How do I enable DB2 Net Search Extender (NSE) support? (RStar)

In RStar, fuzzy queries based on full-text search is supported for more efficient retrieval. However, a DB2 NSE must be installed. To properly use NSE, you should manually build the text index in field Name of tables Resources and Literals.

By default, NSE support is disabled. You can enable it as follows:

  1. Set BasicDB2Configuration.setUseNSE(true)
  2. If you are using the "config" file to create StorageSystem, set or add a parameter of StorageSystem named useNSE with value true.

14. Are any other DBMs supported? (RStar)

Currently, RStar supports both IBM Cloudscape and IBM DB2. You can use BasicCSConfiguration instead of BasicDB2Configuration to build a StorageSystem based on Cloudscape. The next version of RStar will support more DBMSes, such as MySQL.

15. When I upload more data into RStar, why do my queries take longer to run? (RStar)

This problem is caused mainly by DB2's optimization mechanism. If your data has grown, or if you have added or removed indexes since the last RUNSTATS, DB2's statistics used for query optimizer will be inaccurate. Use the RUNSTATS to update the statistics immediately after you built indexes or upload more data. Since RUNSTATS is an external commend rather than a common SQL commend, you should run it manually on the server side.

16. Where can I find the user guide for EODM? (EODM)

The user guide (An Introduction to EODM API.htm) can be found under ..\EODM\doc in the IBM Integrated Ontology Development Toolkit zip file.

Trademarks