Transcript Document
TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge Management
OIL and DAML+OIL: Ontology
Languages for the Semantic Web
2005. 1. 10.
Sungshin Lim
[email protected]
Artificial Intelligence Laboratory, Pusan National University
Contents
The Semantic Web Pyramid of Languages
XML for Data Exchange
Resource Description Framework (RDF)
RDF Schema
Ontology Inference Layer (OIL)
DAML+OIL
Web Ontology Language (OWL)
[email protected]
Page 2
The Semantic Web Pyramid of Languages
[email protected]
Page 3
XML for Data Exchange
XML is designed for mark-up in documents of arbitrary
structure
XML provides a standardized syntactical way to expose
structural information
DTD defines a grammar to specify allowable combinations
and nesting of tag names, attribute names, and so on.
Although XML Schema offers several advantages over DTDs,
their role is essentially the same.
XML is used to server a range of purposes:
– Serialization syntax for other mark-up languages
• e.g. Synchronized Multimedia Integration Language (SMIL)
– Separating form from content
• E.g. XSL
– Uniform data-exchange format
[email protected]
Page 4
Resource Description Framework (RDF)
RDF
– is designed to standardize the definition
– use of meta-data descriptions of web-based resource
– is suited to representing data
Basic building block
– object–attribute-value
– A(O,V)
– [O] – A ->[V]
Subject
predicate
Object
Equivalent!
Resource
[email protected]
property
Value
Page 5
RDF: Why do we need RDF?
Sungshin Lim is the creator of the resource
“http://klpl.re.pusan.ac.kr/page.html“.
What is the correct way of expressing it?
<document href=”http://klpl.re.
pusan.ac.kr/page.html”>
<creator>Sungshin Lim</creator>
</document>
<creator>
<fistName>Sungshin</fistName>
<lastName>Lim</lastName>
<documents>
<uri>http://klpl.re.pusan.
ac.kr/page.html</uri>
</documents>
</creator>
<creator>
<name>Sungshin Lim</name>
<uri>http://klpl.re.pusan.
ac.kr/page.html</uri>
</creator>
[email protected]
Page 6
RDF: The RDF Data Model
In RDF this sentence would be a triple:
triple(page.html,creator,Sungshin Lim)
creator(page.html,Sungshin Lim)
page.html
creator
“Sungshin Lim“
Resource
Property
Value
(subject)
(predicate)
(object)
object
attribute
value
[email protected]
Page 7
RDF: The RDF Data Model
page.html
creator
“Sungshin Lim“
<rdf:RDF xmlns:rdf = “http://www.w3.org/1999/02/22-rdf-syntax-ns#”
xmlns:dc = “http://http://purl.org/dc/elements/1.1/”>
<rdf:Description rdf:about = “http://klpl.re.pusan.ac.kr/page.html”>
<dc:creator>Sungshin Lim</dc:creator>
</rdf:Description>
</rdf:RDF>
[email protected]
Page 8
Tutorial: RDF Namespace
http://www.w3.org/1999/02/22-rdf-syntax-ns#
ID
about
type
resource
Description
[email protected]
Page 9
Tutorial: RDF Model (graph)
Legend:
Ellipse indicates "Resource"
Rectangle indicates "literal string value"
[email protected]
Page 10
Tutorial: rdf:Description + rdf:type
<?xml version="1.0"?>
<rdf:Description rdf:about="http://www.china.org/geography/rivers#Yangtze"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://www.geodesy.org/river#">
<rdf:type rdf:resource="http://www.geodesy.org/river#River"/>
<length>6300 kilometers</length>
<startingLocation>western China's Qinghai-Tibet Plateau</startingLocation>
<endingLocation>East China Sea</endingLocation>
</rdf:Description>
This is read as: This is a Description about the resource
http://www.china.org/geography/rivers#Yangtze.
This resource is an instance of the River type (class).
The http://www.china.org/geography/rivers#Yangtze
resource has a length of 6300 kilometers,
a startingLocation of western China's Qinghai-Tibet Plateau,
and an endingLocation of the East China Sea."
[email protected]
Page 11
Tutorial: Alternative
Alternatively we can use rdf:ID rather than rdf:about, as
shown here:
<?xml version="1.0"?>
<rdf:Description rdf:ID="Yangtze"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://www.geodesy.org/river#"
xml:base="http://www.china.org/geography/rivers">
<rdf:type rdf:resource="http://www.geodesy.org/river#River"/>
<length>6300 kilometers</length>
<startingLocation>western China's Qinghai-Tibet Plateau</startingLocation>
<endingLocation>East China Sea</endingLocation>
</rdf:Description>
[email protected]
Page 12
RDF Schema
RDFS extends RDF with “schema vocabulary”, e.g.:
– Class, Property
– type, subClassOf, subPropertyOf
– range, domain
RDF Schema for Simple Ontologies
<rdfs:Class ref:about=“Book”/>
<rdfs:Class ref:about=“HardCover”/>
<rdfs:subClassOf ref:resource=“#Book”/>
</rdfs:Class>
<rdfs:Property rdf:about=“hasPrice”>
<rdfs:domain rdf:resource=“#Book”/>
</rdfs:Property>
[email protected]
Page 13
RDFS: Core Classes and Properties
rdfs:Resource
Core Classes
rdfs:Literal
rdfs:XMLLiteral
rdfs:Class
rdf:Property
rdfs:DataType
Core Properties
rdfs:Type
rdfs:SubClassOf
rdfs:SubPropertyOf
rdfs:Domain
rdfs:Range
rdfs:Label
rdfs:Comment
[email protected]
Page 14
RDFS: Example
A Vehicle Class Hierarchy
This schema could also be described by the triples:
ex:MotorVehicle
ex:PassengerVehicle
ex:Van
ex:Truck
ex:MiniVan
rdf:type
rdf:type
rdf:type
rdf:type
rdf:type
rdfs:Class
rdfs:Class
rdfs:Class
rdfs:Class
rdfs:Class
ex:PassengerVehicle
ex:Van
ex:Truck
rdfs:subClassOf
rdfs:subClassOf
rdfs:subClassOf
ex:MotorVehicle .
ex:MotorVehicle .
ex:MotorVehicle .
ex:MiniVan
ex:MiniVan
rdfs:subClassOf
rdfs:subClassOf
ex:Van .
ex:PassengerVehicle .
[email protected]
.
.
.
.
.
Page 15
RDFS: Example
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xml:base="http://example.org/schemas/vehicles">
<rdf:Description rdf:ID="MotorVehicle">
<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
</rdf:Description>
The Vehicle Class Hierarchy
in RDF
<rdf:Description rdf:ID="PassengerVehicle">
<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
<rdfs:subClassOf rdf:resource="#MotorVehicle"/>
</rdf:Description>
<rdf:Description rdf:ID="Truck">
<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
<rdfs:subClassOf rdf:resource="#MotorVehicle"/>
</rdf:Description>
<rdf:Description rdf:ID="Van">
<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
<rdfs:subClassOf rdf:resource="#MotorVehicle"/>
</rdf:Description>
<rdf:Description rdf:ID="MiniVan">
<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
<rdfs:subClassOf rdf:resource="#Van"/>
<rdfs:subClassOf rdf:resource="#PassengerVehicle"/>
</rdf:Description>
</rdf:RDF>
[email protected]
Page 16
RDFS: Example
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xml:base="http://example.org/schemas/vehicles">
<rdfs:Class rdf:ID="MotorVehicle"/>
<rdfs:Class rdf:ID="PassengerVehicle">
<rdfs:subClassOf rdf:resource="#MotorVehicle"/>
</rdfs:Class>
The Vehicle
Class Hierarchy
Using the Typed
Node Abbreviation
<rdfs:Class rdf:ID="Truck">
<rdfs:subClassOf rdf:resource="#MotorVehicle"/>
</rdfs:Class>
<rdfs:Class rdf:ID="Van">
<rdfs:subClassOf rdf:resource="#MotorVehicle"/>
</rdfs:Class>
<rdfs:Class rdf:ID="MiniVan">
<rdfs:subClassOf rdf:resource="#Van"/>
<rdfs:subClassOf rdf:resource="#PassengerVehicle"/>
</rdfs:Class>
</rdf:RDF>
[email protected]
Page 17
Ontology Inference Layer (OIL)
Ontology Inference Layer or Ontology Interchange Language
a Web-based representation and inference layer for
ontologies
uses frame-based systems, description logics, and Web
standards
Frame-based Systems
– Classes (frames) with properties (attributes, slots)
Description Logics
– describe knowledge in terms of concepts and role restrictions
Web Standards: XML and RDF
– extension of RDF and RDF Schema
– compatible with RDF Schema (RDFS), and includes a precise
semantics for describing term meanings
[email protected]
Page 18
Capabilities of OIL
Support hierarchies of classes and properties
– based on subclass and subproperty relations
Allow classes to be built from other classes
– using combinations of intersection (AND), union (OR), and
complement (NOT)
Allow the domain, range, and cardinality of properties to
be restricted
Support transitive and inverse properties
Support concrete data types
– integers, strings, etc.
[email protected]
Page 19
Example: OIL Ontology
[email protected]
Page 20
DARPA Agent Markup Language + OIL (DAML+OIL)
Two languages developed to satisfy above requirements
– OIL: developed by group of (largely) European researchers
(several from OntoKnowledge project)
– DAML-ONT: developed by group of (largely) US researchers (in DARPA DAML
programme)
Efforts merged to produce DAML+OIL
– Development was overseen by joint EU/US committee
DAML+OIL
– a semantic markup language for Web resources
– builds on earlier W3C standards such as RDF and RDF Schema, and extends
these languages with richer modeling primitives
– provides modeling primitives commonly found in frame-based languages
– A DAML+OIL ontology consists of headers, class elements, property
elements, and instances
OWL (Web Ontology Language)
[email protected]
Page 21
DAML+Oil example: Namespace, Header
Namespace
Header
– Version information
– Comments
– Imports
[email protected]
Page 22
DAML+Oil example: Class
Defining Classes
– In order to describe objects, it is useful to define some basic types.
This is done by giving a name for a class, which is the subset of the
universe which contains all objects of that type.
subClassOf
[email protected]
Multiple superclasses
Page 23
DAML+Oil example: Property
Object properties
Datatype properties
[email protected]
Page 24
DAML+Oil example: Property Restrictions
Restriction defines an anonymous class, namely the class of
all things that satisfy the restriction.
[email protected]
Page 25
DAML+Oil example: Addition to Existing Class
If we want to add to a defined class, we need not modify
previous statement, but we can simply add a class
description:
[email protected]
Page 26
DAML+Oil example: Notations for Properties
UniqueProperty
inverseOf
TransitiveProperty
samePropertyAs
[email protected]
Page 27
DAML+Oil example: Notations for Classes
complementOf
disjointUnionOf
intersectionOf
sameClassAs
[email protected]
Page 28
DAML+Oil example: Defining Individuals
[email protected]
Page 29
The semantic web pyramid of languages
Semantics+reasoning
Relational Data
Data Exchange
[email protected]
Page 30
From RDF to OWL
Two languages developed by extending (part of) RDF
– OIL: developed by group of (largely) European researchers (several
from EU OntoKnowledge project)
– DAML-ONT: developed by group of (largely) US researchers (in DARPA
DAML programme)
Efforts merged to produce DAML+OIL
– Development was carried out by “Joint EU/US Committee on Agent
Markup Languages”
– Extends (“DL subset” of) RDF
DAML+OIL submitted to W3C as basis for standardisation
– Web-Ontology (WebOnt) Working Group formed
– WebOnt group developed OWL language based on DAML+OIL
– OWL language now a W3C Recommendation
[email protected]
Page 31
Web Ontology Language (OWL)
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 inferencing than you get with RDF Schema.
[email protected]
Page 32
Origins of OWL
DARPA
Agent Markup DAML
Language
EU/NSF Joint Ad hoc
Committee
A W3C
Recommendation
[email protected]
OIL
Ontology
Inference
Layer
RDF
DAML+OIL
OWL
All
influenced
by RDF
OWL Lite
OWL DL
OWL Full
Page 33
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>
[email protected]
Page 34