cisely specified so as to be amenable to
processing by software tools. This approach provides greatly increased flexibility, as new terms can be introduced
as needed. This is the approach taken
in the semantic Web, where ontologies
are used to provide extensible vocabularies of terms, each with a well-defined
meaning; for example, a suitable ontology might introduce the term SnowyOwl and include the information that
a SnowyOwl is a kind of owl and that
owl is a kind of raptor. Moreover, if this
information is represented in a way
that is accessible to our query engine,
the engine would be able to recognize
that Hedwig should be included in the
answer to a query concerning raptors.
Ontology, in its original philosophical sense, is a branch of metaphysics
focusing on the study of existence; its
objective is to study the structure of the
world by determining what entities and
types of entities exist. The study of ontology can be traced back to the work
of Plato and Aristotle, including their
development of hierarchical categorizations of different kinds of entity and
the features that distinguish them; for
example, the “tree of Porphyry” identifies animals and plants as subcatego-ries of living things distinguished from
each other by animals having “
sensitive” souls, with powers of sense, memory, and imagination (see Figure 2).
In computer science, an ontology
is an engineering artifact, usually a
model of (some aspect of) the world; it
introduces vocabulary describing various aspects of the domain being modeled and provides an explicit specification of the intended meaning of that
vocabulary. However, the specification
often includes classification-based information, not unlike Porphyry’s tree;
for example, Wizard may be described
as a subcategory of human, with distinguishing features (such as the ability to
perform magic).
The RDF vocabulary description
language (RDF schema) extends RDF
to include the basic features needed
to define ontologies. This extension is
achieved by giving additional meaning
to more “special” resources, including rdfs:Class, rdfs:subClassOf,
rdfs:subProperty Of, rdfs:domain,
andrdfs: range, where rdfs is
an abbreviation for the string www.
w3.org/2000/01/rdf-schema#. The
rdfs:Class resource is the class of all with the advantage of making OWL
RDFclasses;aresource(suchas Wizard) ontologies directly accessible to Web-that is the object of an rdf:type triple based applications, though the syntax
is itself an instance of the rdfs:Class is rather verbose and difficult to read;
resource. The rdfs:subClassOf and for example, in RDF/XML, the descrip-rdfs:subPropertyOf properties tion of the class of Student Wizards
can be used in an ontology to describe would be written as:
a hierarchy of classes and properties, <owl:Class>
respectively. For example, the triples: <owl:intersectionOf
SnowyOwl rdfs:subClassOf Owl . rdf:parseType=”Collection”>
Owl rdfs:subClassOf Raptor . <owl:Class
can be used to represent the fact that a rdf:about=”#Student”/>
SnowyOwl is a kind of Owl and that an <owl:Class
Owl is a kind of Raptor. Similarly, the rdf:about=”#Wizard”/>
triple: </owl:intersectionOf>
hasBrother rdfs:subPropertyOf </owl:Class>
hasSibling . For this reason, here I use an informal
can be used to represent the fact that “human-readable” syntax based on the
if x has a brother y, then x also has a one used in the Protégé 4 ontology de-sibling y. Additionally, a property’s domain and range can be specified using
rdfs:domain and rdfs:range. For
example, the triples:
hasPet rdfs:domain Human.
hasPet rdfs:range Animal.
can be used to represent the fact
that only Humans can have pets and
that all pets are Animals.
the Web ontology Language o WL
Though obviously an ontology language, RDF is rather limited; it is not
able to, for example, describe cardinality constraints (such as Hogwarts students have at most one pet), a feature in
most conceptual modeling languages,
or describe even a simple conjunction
of classes (such as Student and Wizard). In the late 1990s, the need for a
more expressive ontology language was
widely recognized within the nascent
semantic Web research community
and resulted in several proposals for
new Web ontology languages, including Simple HTML Ontological Extensions (SHOE), the Ontology Inference
Layer (OIL), and DAML+OIL.
In 2001, recognizing that an ontolo-gy-language standard is a prerequisite
for the development of the semantic
Web, the W3C set up a standardization
working group to develop a standard
for a Web ontology language. The result, in 2004, was the OWL ontology
language standard ( www.w3.org/2004/
OWL/), exploiting the earlier work on
OIL and DAML+OIL while tightening
the integration of these languages with
RDF. Integrating OWL with RDF provided OWL with an RDF-based syntax,
velopment tool ( protege.stanford.edu/)
in which the description is written as:
Student and Wizard
A key feature of OWL is its basis in
Description Logics (DLs), a family of
logic-based knowledge-representation
formalisms descended from Semantic
Networks and KL-ONE but that have a
formal semantics based on first-order
logic.
1 These formalisms all adopt an
object-oriented model like the one
used by Plato and Aristotle in which
the domain is described in terms of
individuals, concepts (called “classes”
in RDF), and roles (called “properties”
in RDF). Individuals (such as Hedwig)
are the basic elements of the domain;
concepts (such as Owl) describe sets
of individuals with similar characteristics; and roles (such as hasPet)
describe relationships between pairs
of individuals (such as “HarryPotter
hasPet Hedwig”). To avoid confusion
here I keep to the RDF terminology,
referring to these basic language com-