Ontology & OWL
Semantic Web - Spring 2008
Computer Engineering Department
Sharif University of Technology
1
Outline
Introduction & Definitions
 Ontology Languages
 OWL

2
Where does it come from?
 ontology n.
1692; lat. phil. onto- “being” + -logia
“study of”
 Philosophy


The study of what is, what has to be true
for something to exist, the kinds of things
that can exist
AI and computer science

Co-opted the term. Something exists if it
can be represented, described, defined (in a
formal, hence, machine-interpretable way).
3
Ontologies
4
Ontologies (contd.)



Ontologies are about vocabularies and their
meanings, with explicit, expressive, and welldefined semantics, possibly machineinterpretable.
“Ontology is a formal specification of a
conceptualization.” Gruber, 1993
Main elements of an ontology:


Concepts
Relationships




Hierarchical
Logical
Properties
Instances (individuals)
5
A Definition

Informal

Terms





from a specific domain
uniquely defined, usually via natural language
definitions
May contain additional semantics in the form of
informal relations
machine-processing is difficult
Examples



Controlled vocabulary
Glossary
Thesaurus
6
A Definition

Formal


Domain-specific vocabulary
Well-defined semantic structure

Classes/concepts/types
 E.g., a class { Publication } represents all publications
 E.g., a class { Publication } can have subclasses { Newspaper },
{ Journal }

Instances/individuals/objects
 E.g., the newspaper Le Monde is an instance of the class {
Newspaper }

Properties/roles/slots
 Data
 E.g., the class { Publication } and its subclasses {
Newspaper }, { Journal } have a data property {
numberOfPages }
 Object
 E.g., the class { Publication } and its subclasses {
Newspaper }, { Journal } have an object property {
publishes }

Is machine-processable
7
Ontologies in the Semantic Web
Provide shared data structures to
exchange information between agents
 Can be explicitly used as annotations in
web sites
 Can be used for knowledge-based
services using other web resources
 Can help to structure knowledge to
build domain models (for other
purposes)

8
Ontolgoies in the SW






They are means of representing the semantics of documents and
enabling the semantics to be used by web applications and
intelligent agents.
Ontologies are critical for applications that want to search across
or merge information from diverse communities.
Although XML DTDs and XML Schemas are sufficient for
exchanging data between parties who have agreed to definitions
beforehand, their lack of semantics prevent machines from
reliably performing this task given new XML vocabularies.
RDF and RDF Schema begin to approach this problem by allowing
simple semantics to be associated with identifiers. With RDF
Schema, one can define classes that may have multiple
subclasses and super classes, and can define properties, which
may have sub properties, domains, and ranges.
In this sense, RDF Schema is a simple ontology language.
However, in order to achieve interoperation between numerous,
autonomously developed and managed schemas, richer semantics
are needed.
For example, RDF Schema cannot specify that the Person and Car
classes are disjoint, or that a string quartet has exactly four
9
musicians as members.
Meaning is in Connections
is made from
G
a
m
e
Grape
a
i
n
r
f
W
Wine
m
s
d
e
i
e
r
o
p
10
For machines...
The meaning of the document is not defined.
Machines cannot understand it.
Wine is made from Grape
We are defining the structure of document by XML
but now the meaning of the structure is not defined.
<Sentence>
<Subject>
Wine
</Subject>
<Verb>
is made from
</Verb>
<Object>
Grape
</Object>
</Sentence>
XML document
<Sentence>
<Subject>
Wine
</Subject>
<Verb>
is made from
</Verb>
<Object>
Grape
</Object>
</Sentence>
11
Ontology gives the meaning...
Natural Language
Document
<Sentence>
<Subject>
Wine
</Subject>
<Verb>
is made from
</Verb>
<Object>
Grape
</Object>
</Sentence>
Ontology
12
Why develop ontologies?

To share knowledge


To reuse domain knowledge


E.g., geography ontology
To make domain assumptions explicit



E.g., using an ontology for integrating terminologies
Facilitate knowledge management
Enable new users to learn about the domain
To distinguish domain knowledge from operational
knowledge

e.g., biblio metadata
13
What they are good for

Informal

Controlled vocabulary


Upper-level structures for extending further


E.g., IRS information search
Search


E.g., AGRIS/CARIS categorization
Browsing support


Beginnings of interoperability
Limited query expansion
disambiguation

e.g., “Jordan” as a name of Basket-ball player
and name of a country
14
What they are good for

Formal

Search

Concept-based query
 User uses own words, language



Consistency checking


Related terms
Intelligent query expansion: “fishing vessels in
China” expands to “fishing vessels in Asia”
e.g., “Goods” has a property called “price” that has a
value restriction of number
Interoperability support

Terms defined in expressive ontologies allow for
mapping precisely how one term relates to another 15
Ontology Languages

Graphical notations





Semantic networks
Topic maps
UML
RDF
Logic based



Description Logics (e.g., OIL, DAML+OIL, OWL)
Rules (e.g., RuleML, LP/Prolog)
First Order Logic
16
Ontology Languages
•
•
•
•
•
•
•
RDF(S) (Resource Description Framework
(Schema))
OIL (Ontology Interchange Language)
DAML+OIL (DARPA Agent Markup
Language + OIL)
OWL (Ontology Web Language)
XOL (XML-based Ontology Exchange
Language)
SHOE (Simple HTML Ontology Extension)
OML (Ontology Markup Language)
17
Object oriented model

Many languages use object oriented model:

Objects/Instances/Individuals
 Elements of the domain of discourse
 Equivalent to constants in FOL

Types/Classes/Concepts
 Sets of objects sharing certain characteristics
 Equivalent to unary predicates in FOL and Concepts in
DL

Relations/Properties/Roles
 Sets of pairs (tuples) of objects
 Equivalent to binary predicates in FOL and Roles in DL
18
OWL (Ontology Web Language)

OWL is now a W3C Recommendation

The purpose of OWL is identical to RDFS i.e. to
provide an XML vocabulary to define classes,
properties and their relationships.



RDFS enables us to express very rudimentary
relationships and has limited inferencing capability.
OWL enables us to express much richer relationships,
thus yielding a much enhanced inferencing capability.
The benefit of OWL is that it facilitates a much
greater degree of inference than you get with RDF
19
Schema.
Origins of OWL
DARPA
Agent Markup DAML
Language
EU/NSF Joint Ad hoc
Committee
A W3C
Recommendation
OIL
Ontology
Inference
Layer
RDF
DAML+OIL
OWL
All
influenced
by RDF
OWL Lite
OWL DL
OWL Full
20
OWL

OWL and RDF Schema enable rich machine-processable
semantics
RDFS
OWL
Semantics
<rdfs:Class rdf:ID="River">
<rdfs:subClassOf rdf:resource="#Stream"/>
</rdfs:Class>
RDF Schema
XML/DTD/XML Schemas
Syntax
OWL
<owl:Class rdf:ID="River">
<rdfs:subClassOf rdf:resource="#Stream"/>
</owl:Class>
21
Why Build on RDF

Provides basic ontological primitives


Classes and relations (properties)
Class (and property) hierarchy

Can exploit existing RDF infrastructure

Provides mechanism for using ontologies


RDF triples assert facts about resources
Use vocabulary from DAML+OIL ontologies
22
OWL Design Goals
Shared ontologies
 Ontology evolution
 Ontology interoperability
 Inconsistency detection
 Expressivity vs. scalability
 Ease of use
 Compatibility with other standards
 Internationalization

23
Versions of OWL

Depending on the intended usage, OWL provides three
increasingly expressive sublanguages
OWL Full
OWL DL
OWL Lite
Full: Very expressive,
no computation guarantees
DL (Description Logic): Maximum
expressiveness, computationally
complete
Lite: Simple classification hierarchy
with simple constraints.
24
Comparison of versions



OWL Lite supports those users primarily needing a
classification hierarchy and simple constraints. For example,
while it supports cardinality constraints, it only permits
cardinality values of 0 or 1. It should be simpler to provide
tool support for OWL Lite than its more expressive relatives,
and OWL Lite provides a quick migration path for thesauri and
other taxonomies.
OWL DL supports those users who want the maximum
expressiveness while retaining computational completeness
(all conclusions are guaranteed to be computable) and
decidability (all computations will finish in finite time). OWL
DL includes all OWL language constructs, but they can be
used only under certain restrictions (for example, while a
class may be a subclass of many classes, a class cannot be an
instance of another class). OWL DL is so named due to its
correspondence with description logics
OWL Full is meant for users who want maximum
expressiveness and the syntactic freedom of RDF with no
computational guarantees. For example, in OWL Full a class
can be treated simultaneously as a collection of individuals
and as an individual in its own right. It is unlikely that any
reasoning software will be able to support complete reasoning
for every feature of OWL Full.
25
Describing classes in OWL
OWL vs. RDFS

OWL allows greater expressiveness





Abstraction mechanism to group resources with
similar characteristics
Much more powerful in describing constraints on
relations between classes
Property transitivity, equivalence, symmetry, etc.
…
Extensive support for reasoning
26
OWL Ontologies

What’s inside an OWL ontology








Classes + class-hierarchy
Properties (Slots) / values
Relations between classes
(inheritance, disjoints, equivalents)
Restrictions on properties (type, cardinality)
Characteristics of properties (transitive, …)
Annotations
Individuals
Reasoning tasks: classification,
consistency checking
27
Classes

What is a Class?




e.g., person, pet, old
a collection of individuals (object, things, . . . )
a way of describing part of the world
an object in the world (OWL Full)
28
owl:Class
Sub class of Class in RDF
 Better to forget about classes of classes
 Top-most class: owl:Thing

<owl:Class rdf:ID=“Person"/>
<owl:Class rdf:ID=“Man">
<rdfs:subClassOf rdf:resource="#Person" />
</owl:Class>
29
Individuals

Two equivalent declarations:
1.
<Person rdf:ID=“Ganji" />
1.
<owl:Thing rdf:ID=“Ganji" />
<owl:Thing rdf:about="#Ganji">
<rdf:type rdf:resource="#Person"/>
</owl:Thing>
30
Properties

What is a Property?




e.g., has_father, has_pet, service_number
a collection of relationships between
individuals (and data)
a way of describing a kind of relationship
between individuals
an object in the world (OWL Full)
31
OWL Properties
Object
Properties
Data type
Properties
Ana  owns  Cuba
Ana  age  25
Is range a
literal / typed value ?
then ERROR

XML Schema data
types supported

DB people happy
32
Defining Properties






ObjectProperty
DatatypeProperty
rdfs:subPropertyOf
rdfs:domain
rdfs:range
<owl:ObjectProperty rdf:ID="madeFromGrape">
<rdfs:domain rdf:resource="#Wine"/>
<rdfs:range rdf:resource="#WineGrape"/>
</owl:ObjectProperty>
33
Describing classes in OWL
Complex Classes

Union of classes (owl:unionOf)


Intersection of classes (owl:intersectionOf)


OR (A  B)
AND (A  B)
Complement (owl:complementOf)

NOT

Enumeration (owl:oneOf)

Disjoint Classes (owl:disjointWith)
34
Describing classes in OWL
Property Restrictions


Defining a Class by restricting its possible
instances via their property values
OWL distinguishes between the following
two:
 Value constraint
 Cardinality constraint
35
Describing classes in OWL
Restrictions on Property Classes

Properties:
 allValuesFrom: rdfs:Class (lite/DL owl:Class)
 hasValue: specific Individual
 someValuesFrom: rdfs:Class (lite/DL owl:Class)
 minCardinality: xsd:nonNegativeInteger (in lite
{0,1})
 maxCardinality: xsd:nonNegativeInteger (in lite
{0,1})
36
What’s in OWL, but not in RDF
Ability to be distributed across many
systems
 Scalable to Web needs
 Compatible with Web standards for:




accessibility, and
Internationalization
Open and extensible
37
Describing properties in OWL
OWL vs. RDFS

RDF Schema provides some of predefined
properties:





OWL provides additional predefined properties:




rdfs:range used to indicate the range of values for a property.
rdfs:domain used to associate a property with a class.
rdfs:subPropertyOf used to specialize a property.
…
owl:cardinality (indicate cardinality)
owl:hasValue (at least one of the specified property values)
…
OWL provides additional property classes, which
allow reasoning and inferencing:



owl:FunctionalProperty
owl:TransitiveProperty
…
38
Describing properties in OWL
OWL Property Classes
rdf:Property
owl:ObjectProperty
owl:SymmetricProperty


owl:DatatypeProperty
owl:FunctionalProperty
owl:InverseFunctionalProperty
owl:TransitiveProperty
An ObjectProperty relates one Resource to another Resource.
A DatatypeProperty relates one Resource to a Literal - an XML
Schema data type.
39
Transitivity of properties
X  p1  Y
Y  p1  Z
implies X  p1  Z

Transitivity existed already in RDF


“subClassOf”, and ???
e.g. located_in, part_of
40
Symmetric properties
X  p1  Y
implies X  p1 Y

e.g.,
=
41
Functional Properties
X  p1  Y
X  p1  Z
imply Z is the same as Y
(they describe the same)
What if Y, Z
where explicitly defined as “different” ?
42
Inverse Functional Properties
Y  p1  A
Z  p1  A
imply Z is the same as Y
(they describe the same)
What if Y, Z
where explicitly defined as “different” ?
43
OWL distributed
“equivalent class”
“equivalent Property”
Guitar
Guitarra
Internationalization standards ?
44
Complex Classes
Female
Student
Professor
Married




Human
Male
Students
Married Female
Professors


Married Female
Students
Divorced
Minority Students example
45
Disjoint Classes

Married disjoint with:



Married
Divorced
Widowed
Single
Divorced

Widowed
Single
Are “Divorced” and “Single” disjoint ?
46
OWL Cardinality
min Cardinality
 max Cardinality


“Cardinality”


When
min = max
has Value

belongs to the class if it has the value
47
An Example OWL ontology
<owl:Class rdf:ID=“Person” />
<owl:Class rdf:ID=“Man”>
<rdfs:subClassOf rdf:resource=“#Person” />
<owl:disjointWith rdf:resource=“#Woman” />
</owl:Class>
<owl:Class rdf:ID=“Woman”>
<rdfs:subClassOf rdf:resource=“#Person” />
<owl:disjointWith rdf:resource=“#Man” />
</owl:Class>
<owl:Class rdf:ID=“Father”>
<rdfs:subClassOf rdf:resource=“Man” />
<owl:Restriction owl:minCardinality="1">
<owl:onProperty rdf:resource="#hasChild" />
</owl:Restriction>
</owl:Class>
<owl:ObjectProperty rdf:ID=“hasChild">
<rdfs:domain rdf:resource="#Parent" />
<rdfs:range rdf:resource="#Person" />
</owl:ObjectProperty>
48
Use cases – Web portals











A web portal is a web site that provides information content on a common topic, for example
a specific city or domain of interest.
A web portal allows individuals that are interested in the topic to receive news, find and talk
to one another, build a community, and find links to other web resources of common interest.
In order for a portal to be successful, it must be a starting place for locating interesting
content.
Typically this content is submitted by members of the community, who often index it under
some subtopic.
Another means of collecting content relies on the content providers tagging the content with
information that can be used in syndicating it. Typically, this takes the form of simple
metatags that identify the topic of the content, etc.
However, a simple index of subject areas may not provide the community with sufficient
ability to search for the content that its members require.
In order to allow more intelligent syndication, web portals can define an ontology for the
community. This ontology can provide a terminology for describing content and axioms that
define terms using other terms from the ontology.
For example, an ontology might include terminology such as "journal paper," "publication,"
"person," and "author.“
This ontology could include definitions that state things such as "all journal papers are
publications" or "the authors of all publications are people."
When combined with facts, these definitions allow other facts that are necessarily true to be
inferred. These inferences can, in turn, allow users to obtain search results from the portal
that are impossible to obtain from conventional retrieval systems.
Examples of Semantic Web Portals are OntoWeb and The Open Directory Portal.
49
Use cases – Multimedia collections







Ontologies can be used to provide semantic annotations for collections
of images, audio, or other non-textual objects.
these types of resources are typically indexed by captions or metatags.
However, since different people can describe these non-textual objects
in different ways, it is important that the search facilities go beyond
simple keyword matching.
Multimedia ontologies can be of two types: media-specific and contentspecific.
As an example of a multimedia collection, consider an archive of images
of antique furniture. An ontology of antique furniture would be of great
use in searching such an archive.
A taxonomy can be used to classify the different types of furniture.
It would also be useful if the ontology could express definitional
knowledge. For example, if an indexer selects the value "Late Georgian"
for the style/period of (say) an antique chest of drawers, it should be
possible to infer that the data element "date.created" should have a
value between 1760 and 1811 A.D. and that the "culture" is British.
Availability of this type of background knowledge significantly increases
the support that can be given for indexing as well as for search.
50
Use cases – Corporate web site
management




Large corporations typically have numerous web pages concerning things like
press releases, product offerings and case studies, corporate procedures, internal
product briefings and comparisons, white papers, and process descriptions.
Ontologies can be used to index these documents and provide better means of
retrieval.
A single ontology is often limiting because the constituent categories are likely
constrained to those representing one view and one granularity of a domain
An ontology-enabled web site may be used by:




A typical problem for each of these types of users is that they may not share
terminology with the authors of the desired content.



A salesperson looking for sales collateral relevant to a sales pursuit.
A technical person looking for pockets of specific technical expertise and detailed past
experience.
A project leader looking for past experience and templates to support a complex, multiphase project, both during the proposal phase and during execution.
The salesperson may not know the technical name for a desired feature
For such problems, it would be useful for each class of user to have different
ontologies of terms, but have each ontology interrelated so translations can be
performed automatically.
Another problem is framing queries at the right level of abstraction. A project
leader looking for someone with expertise in operating systems should be able to
locate an employee who is an expert with both Unix and Windows.
51
Use cases – Design Documentation

A concrete example of this use case is design
documentation for the aerospace domain, where
typical users include:



Maintenance engineer looking for all information relating to a
particular part (e.g., "wing-spar").
Design engineer looking at constraints on re-use of a
particular sub-assembly.
To support this kind of usage, it is important that
constraints can be defined. These constraints may be
used to enhance search or check consistency. An
example of a constraint might be:


biplane(X) => CardinalityOf(wing(X)) = 2
wingspar(X) AND wing(Y) AND isComponentOf(X,Y) =>
length(X) < length(Y)
52
Use cases – Agents and Services





The Semantic Web can provide agents with the capability to understand and
integrate diverse information resources.
A specific example is that of a social activities planner, which can take the
preferences of a user (such as what kinds of films they like, what kind of food
they like to eat, etc.) and use this information to plan the user's activities for an
evening.
This type of agent requires domain ontologies that represent the terms for
restaurants, hotels, etc. and service ontologies to represent the terms used in
the actual services. These ontologies will enable the capture of information
necessary for applications to discriminate and balance among user preferences.
Such information may be provided by a number of sources, such as portals,
service-specific sites, reservation sites and the general Web.
Agentcities is an example of an initiative that is exploring the use of agents in a
distributed service environment across the Internet. This will involve building a
network of agent platforms that represent real or virtual cities, such as San
Francisco or the Bay Area, and populating them with the services of those cities.
This will require a number of different domain and service ontologies: Key issues
include:




Use and integration of multiple separate ontologies across different domains and
services
Distributed location of ontologies across the Internet
Potentially different ontologies for each domain or service (ontology translation/crossreferencing)
Simple ontology representation to make the task of defining and using ontologies easier
53
Use cases – Ubiquitous Computing









Ubiquitous computing is an emerging paradigm of personal computing,
characterized by the shift from dedicated computing machinery to pervasive
computing capabilities embedded in our everyday environments.
The pervasiveness and the wireless nature of devices require network
architectures to support automatic, ad hoc configuration.
A key technology of true ad hoc networks is service discovery, functionality by
which "services" can be described, advertised, and discovered by others.
The key issue (and goal) of ubiquitous computing is that devices which weren't
necessarily designed to work together should be able to discover each others'
functionality and be able to take advantage of it.
Being able to "understand" other devices, and reason about their
services/functionality is necessary, The tasks involved in the utilization of
services involve discovery, contracting, and composition.
The contracting of services may involve representing information about security,
privacy and trust
In particular, it is a goal that corporate or organizational security policies be
expressed in application-neutral form
Thus, an ontology language will be used to describe the characteristics of
devices, the means of access to such devices, the policy established by the
owner for use of a device, and other technical constraints.
The needs established for DAML-S and the RDF-based schemes for representing
information about device characteristics (namely, W3C's Composite
Capability/Preference Profile (CC/PP) and WAP Forum's User Agent Profile or54
UAProf) directly relate to this use case
References

http://www.w3.org/TR/owl-ref/
55
The End
56
Descargar

Ontology - IRAN LEARNER