DBOWL stores the OWL-DL ontologies in a relational database. We
define a specific relational schema for our tool.
Tables are categorized into 4 types: ontology information tables, Tbox tables,
Abox tables, and descriptions tables.
Ontology information tables include ontology_index and
uri_index, which store the ID and the URL of all
ontologies and the ID and the URI of all instances in the database
respectively. Tbox tables store the subclass, subproperty,
equivalent class and equivalent property relationships, the disjoint
classes and the properties characteristics. This information is
provided by the Description Logic reasoner. The hierarchy
table stores all class/subclass pairs while the
Hierarchyprops table stores all property/subproperty pairs.
On the other hand, the equivalents table stores all
class/equivalent class pairs while equivalentprops stores
all pair property/equivalent property pairs. Finally, the
disjoint table stores all pairs of disjoint classes and the
propertytypes table stores if the property is transitive,
symmetric or functional, if it is the inverse of another property
and also its domain and range. Using these tables we can easily
obtain the class and property hierarchies and the equivalent
classes/properties of a specific class/property.
Furthermore, all the information needed for evaluating Abox
inferences is also in the database. There is at least one table for
each kind of possible class description in the ontology: enumeration
(enumeration table), value restrictions (all,
some, hasvalue tables), cardinality restriction
max and min tables), intersection
(intersec table), union (union table) and
complement (complement table). These tables will be used to
implement the Abox inference rules.
Finally, we create one Abox table for each class and each property
in the ontology. The name of this table is the same as the class or
property. These tables contain the IDs of instances explicitly
defined as instances of the class or property. Tables representing
classes contain only one column (ID) while tables
representing properties contain two columns (SUBJECT, OBJECT). This relational schema allows all information
about the ontology needed for implementing Tbox queries, and Abox
inferences, to be contained in the database.