Semantic Web:
Semantic Web:
State of the Art and Opportunities
4
Web Limitations
Doubles in size every six months Average WWW searches examine
only about 25% of potentially relevant sites and return a lot of
unwanted information
Information on web is not suitable for software agents
World Wide Web
Semantic Web
The Semantic Web is a vision: the idea of having data on the Web defined and linked in a way that it can be used by machines not just for display purposes, but for automation, integration and reuse of data across various applications.
7
B e f o r e S e m a n t i c W e b
W e b c o n t e n t
U s e r s C r e a t o r s
W W W a n d B e y o n d
8
S em an tic W eb S tru ctu re
S em an tic
A nn o tatio ns O nto log ies L o g ical S u pp o rt
L an gu ag es T oo ls A p p lication s /S ervices
W e b co n te nt
U se rs C reators
W W W a n d B ey o n d
S em a n tic W e b
Motivation for Semantic Web
Limitations of the Web today
Summarizing the Problem:
Computers don’t understand Meaning
•
“My mouse is broken. I need a
new one…”
Use of ontology
“My mouse is
broken
”
Approach: Semantic Web
Approach: Semantic Web
“The Semantic Web is a vision: the idea of having data on the
Web defined and linked in a way that it can be used by
machines not just for display purposes,
but for automation, integration and reuse
of data across various applications”
http://www.w3.org/sw/
Semantic Web Stack
Semantic Web: New “Users”
Semantic Web: New “Users”
Semantic
Annotations Ontologies Logical Support
Languages Tools Applications / Services
W
e
b
c
o
n
te
n
t
U
s
e
rs
C
r
e
a
to
r
s
W
W
W
a
n
d
B
e
y
o
n
d
S
e
m
a
n
tic
W
e
b
S
e
m
a
n
tic
W
e
b
c
o
n
te
n
t
U
s
e
r
s
S
e
m
a
n
tic
W
e
b
a
n
d
B
e
y
o
n
d
C
r
e
a
to
rs
applications
Semantic Web: Annotations
Semantic
Annotations Ontologies Logical Support
Languages Tools Applications / Services
W
e
b
c
o
n
te
n
t
U
s
e
rs
C
re
a
to
rs
W
W
W
a
n
d
B
e
y
o
n
d
S
e
m
a
n
tic
W
e
b
S
e
m
a
n
tic
W
e
b
c
o
n
te
n
t
U
s
e
r
s
S
e
m
a
n
t
ic
W
e
b
a
n
d
B
e
y
o
n
d
C
re
a
to
r
s
applications
agents
Semantic annotations are specific sort of metadata, which provides information about particular domain objects, values of their
Semantic Web: Ontologies
Semantic
Annotations Ontologies Logical Support
Languages Tools Applications / Services
W
e
b
c
o
n
te
n
t
U
s
e
rs
C
re
a
to
rs
W
W
W
a
n
d
B
e
y
o
n
d
S
e
m
a
n
tic
W
e
b
S
e
m
a
n
tic
W
e
b
c
o
n
te
n
t
U
s
e
r
s
S
e
m
a
n
t
ic
W
e
b
a
n
d
B
e
y
o
n
d
C
re
a
to
r
s
applications
agents
Ontologies make metadata interoperable and ready for efficient sharing and reuse. It provides shared and common understanding of a domain, that can be used both by people and machines. Ontologies are used as a form of agreement-based
Semantic Web: Rules
Semantic
Annotations Ontologies Logical Support
Languages Tools Applications / Services
W
e
b
c
o
n
te
n
t
U
s
e
rs
C
re
a
to
rs
W
W
W
a
n
d
B
e
y
o
n
d
S
e
m
a
n
tic
W
e
b
S
e
m
a
n
tic
W
e
b
c
o
n
te
n
t
U
s
e
r
s
S
e
m
a
n
t
ic
W
e
b
a
n
d
B
e
y
o
n
d
C
re
a
to
r
s
applications
agents
Logical support in form of rules is needed to
Semantic Web: Languages
Semantic
Annotations Ontologies Logical Support
Languages Tools Applications / Services
W
e
b
c
o
n
te
n
t
U
s
e
rs
C
re
a
to
rs
W
W
W
a
n
d
B
e
y
o
n
d
S
e
m
a
n
tic
W
e
b
S
e
m
a
n
tic
W
e
b
c
o
n
te
n
t
U
s
e
r
s
S
e
m
a
n
t
ic
W
e
b
a
n
d
B
e
y
o
n
d
C
re
a
to
r
s
applications
agents
Languages are needed for machine-processable formal descriptions of: metadata (annotations) like e.g. RDF; ontologies like e.g. OWL.; rules like e.g. RuleML. The challenge is to provide a framework for specifying the syntax (e.g. XML) and semantics of all of these languages in a uniform and coherent way. The strategy is to translate the various
Semantic Web: Tools
Semantic
Annotations Ontologies Logical Support
Languages Tools Applications / Services
W
e
b
c
o
n
te
n
t
U
s
e
rs
C
re
a
to
rs
W
W
W
a
n
d
B
e
y
o
n
d
S
e
m
a
n
tic
W
e
b
S
e
m
a
n
tic
W
e
b
c
o
n
te
n
t
U
s
e
r
s
S
e
m
a
n
t
ic
W
e
b
a
n
d
B
e
y
o
n
d
C
re
a
to
r
s
applications
agents
Semantic Web: Applications and Services
Semantic
Annotations Ontologies Logical Support
Languages Tools Applications / Services
W
e
b
c
o
n
te
n
t
U
s
e
rs
C
re
a
to
rs
W
W
W
a
n
d
B
e
y
o
n
d
S
e
m
a
n
tic
W
e
b
S
e
m
a
n
tic
W
e
b
c
o
n
te
n
t
U
s
e
r
s
S
e
m
a
n
t
ic
W
e
b
a
n
d
B
e
y
o
n
d
C
re
a
to
r
s
applications
agents
The Semantic Web
Semantic Web basics…
RDF:
•
is a W3C standard, which provides tool to describe Web
resources
•
provides interoperability between applications that
exchange machine-understandable information
RDF Schema:
–
is a W3C standard which defines vocabulary for RDF
–
organizes this vocabulary in a typed hierarchy
–
capable to explicitly declare semantic relations between
Where we are Today:
the Syntactic Web
Most of the Current Web (dumb links)
Semantic Web
Semantic Web
(data connected by relationships)
Mary
Director
Secretary
to_be_in_
love_with
has_job
has_job
John
has_homepage
has_homepage
Ontology
Ontology
Resources
• All things being described by RDF
expressions are called
resources
:
– entire Web page;
– a specific XML element;
– whole collection of pages;
44
Different Ways to Represent
properties
RED
Tomato
has_color
Tomato
has_red_color
Tomato
instance_of
Red Thing
C
in RDF
45
RDF Statement
RDF Statement
Resource_i
Property_k
Value_n
Resource_i
Property_r
Resource_ j
46
Semantic Relation as RDF statement
(so called “object property”)
Ai Aj
Lk
Relation (i j)
http://www.cs.jyu.fi/ai/vagan/index.html
Personal web page of Terziyan V.
http://www.jyu.fi/agora-center/indexEng.htmlWeb page of Agora Center
refers_to
Resource Relation Resource
Subject Predicate object
http://www.cs.jyu.fi/ai/vagan/#vagan
URI of Terziyan V.
employed_by
Dereferenceable URI (“Hash vs. Slash”)
URI of Agora Center
http://www.jyu.fi/agora-center/#AC
47
Semantic Property as RDF statement
(so called “datatype property”)
http://www.cs.jyu.fi/ai/vagan/index.html
Personal web page of Terziyan V.
Literal
has_birthday
Resource Property
Subject Predicate object Literal
Ai
Lk
Property (i = j)
15.02.2000
http://www.cs.jyu.fi/ai/vagan/#vagan
URI of Terziyan V.
has_birthday
27.12.1958
Dereferenceable URI (“Hash vs. Slash”)
“Birthday” of the web-page
48
Semantic Network of Web Resources
http://www.cs.jyu.fi/ai/vagan/index.html
Personal web page of Terziyan V.
http://www.jyu.fi/agora-center/indexEng.htmlWeb page of Agora Center
refers_to
http://www.cs.jyu.fi/ai/vagan/#vagan
URI of Terziyan V.
employed_by
URI of Agora Center
http://www.jyu.fi/agora-center/#AC
hasWebPage
isWebPageOf
hasWebPage
isWebPageOf
27.12.1958
Resources and URIs
• A resource can be anything that has identity
•
Uniform Resource Identifiers
(URI)* provide
a simple and extensible means for identifying
a resource
• Not all resources are network "retrievable";
e.g., human beings, corporations, and books
in a library can also be considered resources
*
The term "Uniform Resource Locator" (URL) refers to the subset of URI that identify•
Subject
of an RDF statement is a
resource
•
Predicate
of an RDF statement is a
property of a resource
•
Object
of an RDF statement is the value
of a property of a resource
Example of RDF Statement
Subject (resource)
http://www.w3.org/Home/Lassila
Predicate (property)
Creator
Object (literal)
“Ora Lassila”
RDF Example (subject of
statement)
Ora Lassila is the creator of the resource
http://www.w3.org/Home/Lassila.
<rdf:RDF>
<rdf:Description
about
=
"
http://www.w3.org/Home/Lassila
">
<s:Creator>
Ora Lassila
</s:Creator>
</rdf:Description>
</rdf:RDF>
RDF Example (predicate of
statement)
Ora Lassila is the creator of the resource
http://www.w3.org/Home/Lassila.
<rdf:RDF>
<rdf:Description
about
=
"
http://www.w3.org/Home/Lassila
">
<s:Creator>
Ora Lassila
</s:Creator>
</rdf:Description>
</rdf:RDF>
RDF Example (object of
statement)
Ora Lassila is the creator of the resource
http://www.w3.org/Home/Lassila.
<rdf:RDF>
<rdf:Description
about
=
"
http://www.w3.org/Home/Lassila
">
<s:Creator>
Ora Lassila
</s:Creator>
</rdf:Description>
RDF Example (reference to
ontology)
Ora Lassila is the creator of the resource
http://www.w3.org/Home/Lassila.
<rdf:RDF>
<rdf:Description
about
=
"
http://www.w3.org/Home/Lassila
">
<s:Creator>
Ora Lassila
</s:Creator>
</rdf:Description>
</rdf:RDF>
a specific namespace prefix as reference to
ontology where predicates are defined, e.g.
Full XML Document for the Example
<?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.w3.org/Home/Lassila
">
<s:Creator>
Ora Lassila
</s:Creator>
</rdf:Description>
</rdf:RDF>
What is RDFS ?
• RDF Schema
– Defines vocabulary for RDF
– Organizes this vocabulary in a typed hierarchy
(
Class, subClassOf, type, Property, subPropertyOf
)
• Rich, web-based publication format for declaring
semantics (XML for exchange)
RDF Schema
• Semantic network on the Web
• Nodes are identified by URIs
• rdfs:
Class
• rdfs:
Property
Traditional RDF Statement
Traditional RDF Statement
Resource_i
Property_k
Literal
Resource_i
Property_r
Resource_ j
OR
•
Subject
of an RDF statement is a resource
•
Predicate
of an RDF statement is a property of a
resource
HUMAN
#Vagan
Vagan Terziyan 27/12/58 #JyU#John
#Aino
…
C
Properties (predicate)
R
es
ou
rc
es
(
su
bj
ec
t)
ha sB irt hd ay is E m pl oy ed B y ha sN am e ha sS u rn am e:#JyU :hasTitle “University of Jyvaskyla”
:#JyU :hasLocation “Finland”
:#JyU :hasWorldRank “204”
:#JyU :hasRector :#Aino
:#JyU a UNIVERSITY
UNIVERSITY
#MIT
#JyU
University ofJyvaskyla Finland 204 #Aino
#KNURE
…
C
ha sW o rld R an k ha sR ec to r ha sT itl e h as Lo ca tio n:#Vagan :hasName “Vagan”
:#Vagan :hasSurname “Terziyan”
:#Vagan :hasBirthday “27/12/58”
:#Vagan :isEmployedBy :#JyU
:#Vagan a HUMAN
:#Aino a HUMAN
Each cell is an
RDF triple
Each cell is an
RDF triple
RDF triples
RDF triples (continue)
… … …
!
RDF Illustrated
67
Dublin Core
• A set of fifteen basic properties for
describing generalised Web resources
• ISO Standard 15836-2003 (February
2003):
http://www.niso.org/international/SC4/n515.pdf
http://dublincore.org/
68
Dublin Core
(15 basic properties):
• Title
• Creator
• Subject
• Description
• Publisher
• Contributor
• Date
• Type
• Format
• Identifier
• Source
<?
xml
version
="
1.0
"?>
<
rdf:RDF
xmlns:rdf
=“
http://www.w3.org/1999/02/22-rdf-syntax-ns#
”
xmlns:dc
="
http://purl.org/dc/elements/1.0/
">
<
rdf:Description
rdf:about
="
http://www.ukoln.ac.uk/metadata/resources/dc/datamodel/WD-dc-rdf/">
<
dc:title
> Guidance on expressing the Dublin Core within the RDF </
dc:title
>
<
dc:creator
> Eric Miller </
dc:creator
>
<
dc:creator
> Paul Miller </
dc:creator
>
<
dc:creator
> Dan Brickley </
dc:creator
>
<
dc:subject
> Dublin Core; RDF; XML </
dc:subject
>
<
dc:publisher
> Dublin Core Metadata Initiative </
dc:publisher
>
<
dc:contributor
> Dublin Core Data Model Working Group </
dc:contributor
>
<
dc:date
> 1999-07-01 </
dc:date
>
<
dc:format
> text/html </
dc:format
>
<
dc:language
> en </
dc:language
>
</
rdf:Description
>
</
rdf:RDF
>
Ontological Vision of Semantic
Web
Semantic Web needs ontologies
An ontology is
document or file that formally and in a
standardized way defines the hierarchy of
classes within the domain, semantic
relations among terms and inference rules
Use of ontologies:
Studer(98):
Formal, explicit specification of a shared conceptualization
Machine
readable
Concepts, properties,
functions, axioms
are explicitly defined
Consensual
knowledge
Abstract model of
some phenomena
in the world
79
What is an Ontology?
80
What is an Ontology?
A model of (some aspect of) the world
81
What is an Ontology?
A model of (some aspect of) the world
•
Introduces
vocabulary
relevant to domain, e.g.:
– Anatomy
82
What is an Ontology?
A model of (some aspect of) the world
•
Introduces
vocabulary
relevant to domain, e.g.:
– Anatomy
– Cellular biology
83
What is an Ontology?
A model of (some aspect of) the world
•
Introduces
vocabulary
relevant to domain, e.g.:
– Anatomy
– Cellular biology
– Aerospace
84
What is an Ontology?
A model of (some aspect of) the world
•
Introduces
vocabulary
relevant to domain, e.g.:
– Anatomy
– Cellular biology
– Aerospace
– Dogs
85
What is an Ontology?
A model of (some aspect of) the world
•
Introduces
vocabulary
relevant to domain, e.g.:
– Anatomy
– Cellular biology
– Aerospace
– Dogs
– Hotdogs
– …
86
What is an Ontology?
A model of (some aspect of) the world
•
Introduces
vocabulary
relevant to domain
•
Specifies
meaning
of terms
Heart
is a
muscular organ
that
is part of
the
circulatory system
87
What is an Ontology?
A model of (some aspect of) the world
•
Introduces
vocabulary
relevant to domain
•
Specifies
meaning
of
terms
Heart
is a
muscular organ
that
is part of
the
circulatory system
•
Formalised
using suitable logic
88
DL Semantics
Semantics given by standard FO model theory:
John
Mary
Lawyer
Doctor
Vehicle
hasChild
owns
(Lawyer
and
Doctor)
Ontology Elements
•Concepts(classes) + their hierarchy
•Concept properties (slots/attributes)
•Property restrictions (type, cardinality, domain)
•Relations between concepts (disjoint, equality)
How to build an ontology?
Steps:
•determine domain and scope
•enumerate important terms
•define classes and class hierarchies
•define slots
Step 1: Determine Domain and Scope
Domain: geography
Application: route planning agent
Possible questions:
Distance between two cities?
What sort of connections exist between two cities?
In which country is a city?
Step 2: Enumerate Important Terms
country
city
capital
border
connection
Connection_on_land
Connection_in_air
Connection_on_water
road
railway
Step 4: Define Slots of Classes
Step 5: Define slot constraints
•Slot-cardinality
Ex: Borders_with
multiple
, Start_point
single
•Slot-value type
Ex: Borders_with-
Country
Geographic_entity
Country
Has_capitalCity
Capital_of Borders_with
Connection
Start_point End_point
OWL became standard
• 10 February 2004 the World Wide Web
Consortium announced final approval of two
key Semantic Web technologies, the revised
Resource Description Framework (RDF) and
the
Web Ontology Language
(OWL).
• Read more in:
• What is OWL?
– OWL is a language for defining Web
Ontologies and their associated Knowledge
Bases
– The OWL language is a revision of the
DAML+OIL web ontology language
incorporating learning from the design and
application use of DAML+OIL.
OWL Introduction
Example
• There are two types of animals,
Male
and
Female
.
<
rdfs:Class
rdf:ID="
Male
">
<
rdfs:subClassOf
rdf:resource="
#Animal
"/>
</
rdfs:Class
>
• The
subClassOf
element asserts that its subject -
Male
- is a
subclass of its object -- the resource identified by
#Animal
.
<
rdfs:Class
rdf:ID="
Female
">
<
rdfs:subClassOf
rdf:resource="
#Animal
"/>
<
owl:disjointWith
rdf:resource="
#Male
"/>
</
rdfs:Class
>
• Some animals are
Female
, too, but nothing can be both
OWL Example in Protégé (1)
• Class
– Person superclass
– Man, Woman subclasses
• Properties
– isWifeOf, isHusbandOf
• Property characteristics, restrictions
– inverseOf
– domain
– range
– Cardinality
• Class expressions
• Symmetric: if P(x, y) then P(y, x)
• Transitive: if P(x,y) and P(y,z) then P(x, z) • Functional: if P(x,y) and P(x,z) then y=z • InverseOf: if P1(x,y) then P2(y,x)
• InverseFunctional: if P(y,x) and P(z,x) then y=z • allValuesFrom: P(x,y) and y=allValuesFrom(C)
• someValuesFrom: P(x,y) and y=someValuesFrom(C) • hasValue: P(x,y) and y=hasValue(v)
• cardinality: cardinality(P) = N
• minCardinality: minCardinality(P) = N • maxCardinality: maxCardinality(P) = N • equivalentProperty: P1 = P2
• intersectionOf: C = intersectionOf(C1, C2, …) • unionOf: C = unionOf(C1, C2, …)
• complementOf: C = complementOf(C1) • oneOf: C = one of(v1, v2, …)
• equivalentClass: C1 = C2 • disjointWith: C1 != C2 • sameIndividualAs: I1 = I2 • differentFrom: I1 != I2
• AllDifferent: I1 != I2, I1 != I3, I2 != I3, … • Thing: I1, I2, …
OWL on one Slide
Legend:
Properties are indicated by: P, P1, P2, etc Specific classes are indicated by: x, y, z Generic classes are indicated by: C, C1, C2 Values are indicated by: v, v1, v2
Instance documents are indicated by: I1, I2, I3, etc. A number is indicated by: N
An Example
• Woman ≡ Person
⊓
Female
• Man ≡ Person
⊓
Woman
• Mother ≡ Woman
⊓
hasChild.Person
• Father ≡ Man
⊓
hasChild.Person
• Parent ≡ Father
⊔
Mother
• Grandmother ≡ Mother
⊓
hasChild.Parent
We can further infer (though not explicitly stated):
Grandmother Person
⊑
Grandmother Man
⊑
⊔
Woman
OWL-2 adds new functionality with respect to OWL.:
• keys;
• disjoint union of classes
• property chains;
• richer datatypes, data ranges;
• qualified cardinality restrictions;
• asymmetric, reflexive, and disjoint properties;
• enhanced annotation capabilities .
• W3C Documents
– Guide: http://www.w3.org/TR/owl-guide/
– Reference: http://www.w3.org/TR/owl-ref/
– Semantics and Abstract Syntax:
http://www.w3.org/TR/owl-semantics/
• OWL Tutorials
– Ian Horrocks, Sean Bechhofer:
http://www.cs.man.ac.uk/~horrocks/Slides/Innsbruck-tutorial/
– Roger L. Costello, David B. Jacobs:
http://www.xfront.com/owl/
• Example Ontologies, e.g. here:
http://www.daml.org/ontologies/
Tutorial: Designing Ontologies with
Protégé
http://www.cs.man.ac.uk/~horrocks/Teaching/cs646/
http://www.co-ode.org/resources/tutorials/ProtegeOWLTutorial.pdf
• Protégé is an ontology editor and a
knowledge-base editor (download
from:
http://protege.stanford.edu
).
• Protégé is also an open-source,
Java tool that provides an
extensible architecture for the
creation of customized
knowledge-based applications.
• Protégé's OWL Plug-in now
provides
support
for
editing
Semantic Web ontologies.
PLEASE !!!
Download
version:
Protégé 3.4.8.
http://www.cs.jyu.fi/ai/vagan/Ontologies.ppt
78
8Six Challenges for the Semantic Web
Richard Benjamins, Jesus Contreras,
Oscar Corcho, Asuncion Gomez-Perez
• Currently, there is little Semantic Web content
available. There is a need need to create a set of
annotation services (middleware) concerning static
and dynamic web documents, which may include
multimedia, and web services
.
Challenge 1: Availability of Content
• Constructing of
kernel
ontologies to be used by all
the domains.
• Managing evolution of ontologies and their relation
to already annotated data.
Challenge 2: Ontology Availability,
Challenge 2: Ontology Availability,
Development and Evolution
• Once we have the Semantic Web content, we need to
worry about how to manage it in a scalable manner, that
is, how to organize it, where to store it and how to find
the right content.
Challenge 3: Scalability of Semantic
Challenge 3: Scalability of Semantic
Web Content
• Multilinguality plays an increasing role at the level of
ontologies, of annotations and of user interface.
Challenge 4: Multilinguality
• With the increasing amount of information overload,
intuitive visualization of content will become more and
more important.
Challenge 5: Visualization
• WWW
consortium
is
producing
recommendations on the languages and
technology that will be used in Semantic Web
area.
• In order to advance the state of the art in the
Semantic Web, it is important that such
standards appear fast and will be adopted by the
community.
Challenge 6: Semantic Web
Challenge 6: Semantic Web
Language Standardization
Summary
• The semantic web is based on
machine-processable
semantics of data.
• Its backbone technology are
Ontologies
.
Conclusion
Conclusion
• Semantic Web is not only a technology
technology
as many
used to name it;
• Semantic Web is not only an environment
environment
as
many naming it now;