Content Management
Web Ontology Language
Digg This!
The Web is like a huge library whose contents we can search and edit.
In order to search quickly and efficiently, the contents must be
organized. There are already several methodologies and techniques for
searching - for example RDF (Resource Description Framework) and XML
- but none fulfills all the requirements. Web Ontology Language, or
OWL, is designed for applications in which content processing
(content authoring) is important, rather than just presenting the
content to humans. It can make searching the Web much easier, and is
machine-readable as well.
Why OWL?
The future of Web languages seems to be the Semantic Web, and
OWL is one of its activities. Now a question arises: What does OWL
provide that XML and XML Schema don't? The answer is outlined below.
1. XML provides a syntax for structured documents, but doesn't
define semantic constraints on the meaning of the documents.
2. XML Schema is a language for restricting the structure of XML
documents.
3. RDF is a data model for objects ("resources") and relations
between them; it provides simple semantics for this data model, and
these data models can be represented in an XML syntax.
4. RDF Schema is a vocabulary for describing properties and
classes of RDF resources, with semantics for generalization
hierarchies of such properties and classes.
5. OWL is nothing but enhanced RDF, and has more vocabulary for
describing properties and classes, including relations between
classes (e.g., disjointedness), cardinality (e.g., "exactly one"),
equality, richer typing of properties, characteristics of properties
(e.g., symmetry), and enumerated classes.
6. An ontology is a knowledge representation of data, rather than a
message format only like XML Schema. For example, if your purchase
order for any product is fulfilled, this can be presented in XML
Schema as well as in OWL. But what about the context external to this
transaction's consensus?
What Is RDF?
RDF represents the first attempt to define relationships in
XML documents. The basic RDF model comprises the following three
components:
1. Resource: Anything described in RDF expressions is called a resource; this can be a Web page, an XML document, an entire Web
site, and even any external resource for the site.
2. Property: A property is a specific characteristic, attribute, or relation used to describe a resource. Each property has a specific
meaning that defines its permitted values, the types of resources it
can describe, and its relationship with other properties.
3. Statement: A specific resource together with a named property plus the value of that property for that resource is an RDF
statement. These three individual parts of a statement are called,
respectively, the subject, the predicate, and the object.
Example
Consider as a simple example the sentence:
Ijaz Ahmed is the administrator of the resource http://www.emalangs.com.
This sentence has the following parts:
|
Subject (Resource) http://www.emalangs.com |
|
Predicate (Property) Administrator |
|
Object (literal) "Ijaz Ahmed" |
The complete XML document presenting this information would
look like the following:
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.
org/1999/02/22-rdf-syntax-ns#"
xmlns:s="http://description.org/
schema/">
<rdf:Description about="http://www.
emalangs.com/">
<s:Administrator>Ijaz Ahmed</s:
Administrator >
</rdf:Description>
</rdf:RDF>
But in this example we're restricted with the RDF container
model, which has the characteristics described next.
RDF container model
The RDF container model also has three components: Bags,
Sequence, and Alternative.
1. Bags: An unordered list of resources or literals. Bags are used to declare that a property has unordered multiple values. Bags
might be used to give a list of part numbers where the order of
processing the parts does not matter and duplicate values are
permitted.
2. Sequence: An ordered list of resources or literals. Sequence is used to declare that a property has ordered multiple values. The
resources are listed in order so that they can be found easily.
3. Alternative: A list of resources or literals that represent alternatives for the (single) value of a property. Alternative might
be used to provide an alternative language Web page for the site. An
application using a property whose value is an Alternative collection
is aware that it can choose any one of the items in the list.
It's clear from the model that we're restricted to three
different relationships in RDF, but what if we have three different
administrators, e.g., System, Database, and Network, for the above
mentioned resource. The statement would be: There are three
administrators of the resource http://www.emalangs.com/. Network
Administrator, System Administrator, and Database Administrator, each
having distinct roles and responsibilities.
Using the RDF model and container, the information would be:
using Bags (see Listing 1), using Alternative (see Listing 2), and
using Sequence (see Listing 3).
But in this case RDF is capable only of explaining the
information about the resources; it can't explain the second part of
the statement (each having distinct roles and responsibilities) in
which the roles are defined. Using OWL we can present the knowledge
information as shown in Listing 4, which presents the RDF resources.
<owl:AllDifferent>
<owl:distinctMembers rdf:parse
Type="Collection">
<admin:Administrator rdf:about="#Network Administrator" />
<admin:Administrator rdf:about="#System Administrator" />
<admin:Administrator rdf:about="#Database Administrator" />
</owl:distinctMembers>
</owl:AllDifferent>
From the above information you can at least conclude that the three
administrators have distinct roles/types; such a solution can't be
explained using RDF, XML, or XML Schema.
OWL also has many flexibilities in its model to present
different sorts of relationships among the elements. For details,
visit www.w3.org/TR/2003/WD-owl-guide-20030331. For details on the
RDF parser, visit www.redland.opensource.ac.uk/demo.
Conclusion
OWL is the part of the W3C stack for the Semantic Web; its
model is inferred from the RDF model but has more flexibilty, so that
any sort of relationship among the elements can be presented (see
www.w3.org/TR/owl-ref/ - appendix A for details). You can design more
complex relationships using OWL, and your search will be much easier
since the contents are in their best form.
About Muhammad Taimoor KhanMuhammad Taimoor Khan is a software architect and an XML consultant
for Acrologix Pvt. Ltd. Acrologix is an employee-owned technology
services firm focused on business systems design and integration. It
also promotes superior engineering design and prides itself on technical excellence. Most
recently, Muhammed is researching OXF, XKISS, and the object-oriented
behavior of XML.