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.2The translation function is defined in Figures 2 to 4.