36 2 XML Semantics
Medical Language System (UMLS). In the UMLS, “spinal tap” has concept
identifier C0553794. All terms with this same concept identifier are synony-
mous.
An ontology is a means by which the language of a domain can be formal-
ized (Heflin et al. 1999; Opdahl and Barbier 2000; Heflin et al. 2000; McGuin-
ness et al. 2000). As such, an ontology is a context within which the semantics
of terminology and of statements using the terminology are defined. On-
tologies define the syntax and semantics of concepts and of relationships
between concepts. Concepts are used to define the vocabulary of the do-
main, and relationships are used to construct statements using the vocabu-
lary. Such statements express known or at least possible knowledge whose
meaning can be understood by individuals in the domain. Representing
knowledge is therefore one of the fundamental purposes of an ontology.
Classic ontologies in philosophy are informally described in natural lan-
guage. Modern ontologies differ in having the ability to express knowledge
in machine-readable form. Expressing knowledge in this way requires that
it be represented as data. So it is not surprising that ontology languages and
data languages have much in common, and both kinds of language have
borrowed concepts from each other. As we saw in section 1.1, a database
schema can be regarded as a kind of ontology. Modern ontology languages
were derived from corresponding notions in philosophy. See the classic work
(Bunge 1977, 1979), as well as more recent work such as (Wand 1989; Guarino
and Giaretta 1995; Uschold and Gruninger 1996). Ontologies are fundamen-
tal for communication between individuals in a community. They make it
possible for individuals to share information in a meaningful way. Formal
ontologies adapt this idea to automated entities (such as programs, agents,
or databases). Formal ontologies are useful even for people, because infor-
mal and implicit assumptions often result in misunderstandings. Sharing
of information between disparate entities (whether people or programs) is
another fundamental purpose of an ontology.
It would be nice if there were just one way to define ontologies, but at the
present time there is not yet a universal ontology language. Perhaps there
will be one someday, but in the meantime, one must accept that there will be
some diversity of approaches. In this chapter and in chapter 4, we introduce
the diverse mechanisms that are currently available, and we compare their
features. The ontology languages discussed in chapter 4 make use of logic
and rules, so we introduce them in chapter 3.
Two examples are used throughout this chapter as well as chapter 4. The
first one is a simplified Medline document, and the second is the specification