Difference between revisions of "OntoBase"

From Protege Wiki

Jump to: navigation, search
Line 1: Line 1:
|Description=OntoBase is a plug-in that connects Protege to relational databases.  It allows ontologies to be used as views and forms for data entry.
|PluginType=Tab Widget
|PluginType=Tab Widget
Line 6: Line 7:
|DeveloperID1=Len Yabloko
|DeveloperID1=Len Yabloko
|LastUpdated=March 26, 2008
|Topic1=Software Engineering
|Topic1=Software Engineering
Line 15: Line 16:
|License=MIT License
|License=MIT License
|Description=OntoBase is a plug-in that connects Protege to relational databases.  It allows ontologies to be used as views and forms for data entry.
<div style="float:left;">
<div style="float:left;">

Revision as of 12:56, March 26, 2008


by Len Yabloko


Type Tab Widget, Import
Author(s) Len Yabloko
Last Update March 26, 2008
License MIT License
Homepage OntoBase website
For Application

OntoBase is a plug-in that connects Protege to relational databases. It allows ontologies to be used as views and forms for data entry.


Versions & Compatibility

This section lists available versions of OntoBase.

Version Compatible with Dependencies
OntoBase 3.4.2 Protege-Frames 3.4
OntoBase 3.4.1 Protege-Frames 3.4
Protege Client-Server 3.4
Protege-OWL 3.4
OntoBase 3.4.0 Protege-Frames 3.4.4
OntoBase 3.3.7 Protege-Frames 3.3.1
OntoBase 3.3.6 Protege-Frames 3.3.1
OntoBase 3.3.5 Protege-Frames 3.3.1
OntoBase 3.3.4 Protege-Frames 3.3.1
OntoBase 3.3.3 Protege-Frames 3.3.1
OntoBase 3.3.2 Protege-Frames 3.4.4
OntoBase 0.3.3 Protege-Frames 3.2.1

If you click on the button below to add a new version of OntoBase, you will be asked to define a page title for the new version. Please adhere to the naming convention of OntoBase X.X.X when you define the new page!


Version Changes in this version
OntoBase 3.4.2 GUI improovements and bug fixes
OntoBase 3.4.1 Compatible with Protege 3.4 OWL and RDF backend
OntoBase 3.4.0 tested with Protege-Frames 3.4.4 (build 579)
OntoBase 3.3.7 Improved user dialog and performance
OntoBase 3.3.6 - automatically generate SQL joins
OntoBase 3.3.5 -Automatically switching between several connected databases;

-Improved data access performance using separate Java thread;

-Automatic synchronization of ontology with source databases upon loading of the project;
OntoBase 3.3.4 Support for PostgreSQL added.
OntoBase 3.3.3 Support for database engines can now be added/extended
OntoBase 3.3.2 full read/write access to Oracle, Microsoft SQL and MySQL
OntoBase 0.3.3 see page for more details

More Details


OntoBase is a plug-in that turns any relational database into ontology. You can define new classes by mapping slots to columns of one or more tables. It allows Protégé to be used as "Model" and "View" for simple database applications. OntoBase can also be used as “back end” for Protégé in order to store parts of knowledge base which must be shared with other applications. In its current form OntoBase can be simply “snapped on” any relational database to provide access to data, virtually without any programming.


The ONTOBaseTab can work with "basic" or "full" installation of Protege 3.x, but it requires JDK 1.6 To make sure Protege loads with correct JVM change following line in protege.lax file

lax.nl.current.vm=C:\\Program Files\\Java\\jre1.6.0_04\\bin\\java.exe

1) Extract OntoBase_X.X.X.zip into Protege installation root directory.

2) Open New Project using Protege files(.pont and .pins) or XML file

3) Go to Project->Configure and check ONTOBaseTab box.

4) When OntoBase window appears enter JDBC address of database and click connect button.
Following are some examples of JDBC database URLs:


Note: JDBC 4.0 driver corresponding to entered URL must be specified in following line of protege.lax file

lax.class.path=protege.jar;...;dbdrivers/ojdbc6.jar; dbdrivers/mysql-connector-java-5.1.6-bin.jar...

Drivers tested with OntoBase:



5) Wait until connection is established and then click on "run" icon.

Note: If import does not start in a few moments or stops before 100%, then you may need to adjust application memory allocation by editing following line in protege.lax file


The protege.lax file is located in the root directory of your Protege installation

6) After import of database schema is finished OntoBase will re-load and check sign will appear next to imported url. At this point Protege project will contain "ground" ontology generated by OntoBase with four top level classes:


Note: All top level classes (except ~STREAM) should have sub-classes corresponding to each table in the database.

7) To test generate "ground" ontology simply select any sub-class of =SERVICE corresponding to a table and press "create" button on OntoBase tab. You should see a class instance popup corresponding to an empty row of the table. Fill any field and close the popup: this should result in fetching corresponding row of the table (or error message will appear in OntoBase window).

8) Now you are ready to use OntoBase for defining new classes and mapping them to tables or joins. To do that simply select =SERVICE and press "create" button again. You should see a popup asking you to select a table. After selection follow next popup.

Note: OntoBase popups are regular Protege instances. Look for useful instructions in "documentation" field of each popup.

If you have any problems or questions contact support@ontospace.net
Personal tools