58 3 Rules and Inference
tionships. Most biological concepts can be defined using DLs, and they allow
limited forms of reasoning about biological knowledge (Baker et al. 1999).
However, not all concepts can be defined using DLs, and many forms of rea-
soning cannot be expressed in this framework. Database joins, for example,
cannot be expressed using DLs. A DL reasoner will be very efficient, but the
limitations of DL reasoners can be too severe for many application domains.
This efficiency leads to another problem: it is difficult to extract the reasons
for conclusions made by the reasoner. Consequently, DL reasoners provide
little feedback in tasks such as consistency checking.
The Web Ontology Language (OWL) was discussed in section 1.6 and will
be covered in detail in section 4.4. OWL has three language levels, depending
on what features are supported. The lowest level, OWL Lite, has the mini-
mum number of features that are necessary for specifying ontologies. The
intermediate level, OWL-DL, has more features than OWL Lite, but still has
some restrictions. The restrictions were chosen so that OWL-DL ontologies
could be processed using a DL reasoner. The highest level, OWL Full, has no
restrictions. The OWL Full level cannot be processed by a DL reasoner, and
one must use a theorem prover.
Business rule systemscan be classified as rule engines (and some of them
are excellent in this regard). However, they tend to emphasize ease of use via
graphical user interfaces (GUIs) rather than support for underlying function-
ality. They are intended to be used by individuals who do not have a back-
ground in logic or reasoning systems. Business rule systems are nearly al-
ways proprietary, and their performance is usually relatively poor, although
there are exceptions. Typically the rule system is only part of a larger sys-
tem, so the poor performance is effectively masked by the other activities
occurring at the same time. Web portal servers often contain a business rule
system. Some business rule systems have full support for ontologies, most
commonly ontologies expressed in RDF or OWL.
Many systems simply translate from one language to another one, perform
the reasoning using a different system, and then translate back to the original
language. The advantage is flexibility. The disadvantage is that they can be
much less efficient than systems that are optimized for the target language.
Translators are commonly used for processing ontologies.
Many other kinds of reasoning system exist, such as Boolean constraint
solvers and decision support systems. These may be regarded as optimized
reasoners (just as a DL reasoner is an optimized specialization of a theorem
prover). However, such reasoners are generally much too limited for pro-
cessing ontologies.