The semantics of OIL rely on a translation into the description logic
[4] extended with concrete data
types [2]: we will call this logic
.
has a
highly expressive concept language that is able to fully capture both
the OIL-Lite and OIL-Standard languages, provided that OIL
individuals are treated as ``syntactic sugar'' for disjoint primitive
concepts, and we will define a translation function
that maps OIL ontologies into equivalent
terminologies.
This has the benefit that reasoning engines for OIL ontologies are
(or will soon be) available: an existing
reasoner implemented in
the FaCT system [3] can be used to reason with OIL
ontologies not containing concrete data types, and this will soon be
extended to a full
reasoner. On the other hand, reasoning with
ontologies containing individuals in class definitions seems to
problematical, and the design of implementable algorithms is still an
open problem.^{1}

The translation is quite straightforward and follows directly from the syntax and informal specification of OIL. An OIL ontology consists of a list , where each is either a class definition, an axiom, a slot definition, an instantiation axiom or a relationship axiom. This list of definitions/axioms is translated into a terminology (a set of axioms) as follows:

The syntactic correspondence between OIL and
is summarised in
Figure 1 and described in more detail in the following
sections.^{2}The translation function
is defined in Figures 2
to 4.