Upload
sydnee
View
42
Download
8
Embed Size (px)
DESCRIPTION
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 - PowerPoint PPT Presentation
Citation preview
OIL and DAML+OIL: Ontology Languages for the Semantic Web
2005. 1. 10.
Sungshin [email protected]
TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge Management
Artificial Intelligence Laboratory, Pusan National University
Page [email protected]
Contents
The Semantic Web Pyramid of LanguagesXML for Data ExchangeResource Description Framework (RDF)RDF SchemaOntology Inference Layer (OIL)DAML+OILWeb Ontology Language (OWL)
Page [email protected]
The Semantic Web Pyramid of Languages
Page [email protected]
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
Page [email protected]
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 Objectpredicate
Resource Valueproperty
Equivalent!
Page [email protected]
RDF: Why do we need RDF?
<document href=”http://klpl.re.pusan.ac.kr/page.html”>
<creator>Sungshin Lim</creator></document>
Sungshin Lim is the creator of the resource “http://klpl.re.pusan.ac.kr/page.html“.
<creator> <name>Sungshin Lim</name> <uri>http://klpl.re.pusan. ac.kr/page.html</uri></creator>
<creator> <fistName>Sungshin</fistName> <lastName>Lim</lastName> <documents> <uri>http://klpl.re.pusan.
ac.kr/page.html</uri> </documents></creator>
What is the correct way of expressing it?
Page [email protected]
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 “Sungshin Lim“creator
Resource
(subject)
object
Property
(predicate)
attribute
Value
(object)
value
Page [email protected]
RDF: The RDF Data Model
page.htmlcreator
<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>
“Sungshin Lim“
Page [email protected]
http://www.w3.org/1999/02/22-rdf-syntax-ns#
ID
about
type
resource
Description
Tutorial: RDF Namespace
Page [email protected]
Legend: Ellipse indicates "Resource" Rectangle indicates "literal string value"
Tutorial: RDF Model (graph)
Page [email protected]
<?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."
Tutorial: rdf:Description + rdf:type
Page [email protected]
<?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>
Tutorial: Alternative
Alternatively we can use rdf:ID rather than rdf:about, as shown here:
Page [email protected]
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>
Page [email protected]
RDFS: Core Classes and Properties
Core Classes
Core Properties
rdfs:Resource
rdfs:Literal
rdfs:XMLLiteral
rdfs:Class
rdf:Property
rdfs:DataType
rdfs:Type
rdfs:SubClassOf
rdfs:SubPropertyOf
rdfs:Domain
rdfs:Range
rdfs:Label
rdfs:Comment
Page [email protected]
RDFS: Example
A Vehicle Class Hierarchy
This schema could also be described by the triples:
ex:MotorVehicle rdf:type rdfs:Class .ex:PassengerVehicle rdf:type rdfs:Class .ex:Van rdf:type rdfs:Class .ex:Truck rdf:type rdfs:Class .ex:MiniVan rdf:type rdfs:Class .
ex:PassengerVehicle rdfs:subClassOf ex:MotorVehicle .ex:Van rdfs:subClassOf ex:MotorVehicle .ex:Truck rdfs:subClassOf ex:MotorVehicle .
ex:MiniVan rdfs:subClassOf ex:Van .ex:MiniVan rdfs:subClassOf ex:PassengerVehicle .
Page [email protected]
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>
<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>
The Vehicle Class Hierarchy in RDF
Page [email protected]
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>
<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>
The Vehicle Class Hierarchy Using the Typed Node Abbreviation
Page [email protected]
Ontology Inference Layer (OIL)
Ontology Inference Layer or Ontology Interchange Languagea Web-based representation and inference layer for ontologie
suses frame-based systems, description logics, and Web stan
dards
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 semantic
s for describing term meanings
Page [email protected]
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 re
strictedSupport transitive and inverse propertiesSupport concrete data types
– integers, strings, etc.
Page [email protected]
Example: OIL Ontology
Page [email protected]
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 pr
ogramme) 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 t
hese 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)
Page [email protected]
DAML+Oil example: Namespace, HeaderNamespace
Header
– Version information– Comments– Imports
Page [email protected]
DAML+Oil example: ClassDefining 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 Multiple superclasses
Page [email protected]
DAML+Oil example: Property RestrictionsRestriction defines an anonymous class, namely the
class of all things that satisfy the restriction.
Page [email protected]
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:
Page [email protected]
DAML+Oil example: Notations for Properties
UniqueProperty
inverseOf
TransitiveProperty
samePropertyAs
Page [email protected]
DAML+Oil example: Notations for Classes
complementOf
disjointUnionOf
intersectionOf
sameClassAs
Page [email protected]
DAML+Oil example: Defining Individuals
Page [email protected]
The semantic web pyramid of languages
Data Exchange
Semantics+reasoning
Relational Data
Page [email protected]
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
Page [email protected]
OWL is now a W3C RecommendationThe 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.
Web Ontology Language (OWL)
Page [email protected]
Origins of OWL
RDFRDF
DAML+OILDAML+OIL
DARPA Agent Markup Language
A W3C Recommendation
OILOIL
OWLOWL
All influenced by RDF
Ontology Inference Layer
EU/NSF Joint Ad hoc Committee
DAMLDAML
OWL LiteOWL DL OWL Full
Page [email protected]
OWL
OWL and RDF Schema enable rich machine-processable semantics
XML/DTD/XML Schemas
RDF Schema
OWL
Semantics
Syntax
<rdfs:Class rdf:ID="River"> <rdfs:subClassOf rdf:resource="#Stream"/></rdfs:Class>
<owl:Class rdf:ID="River"> <rdfs:subClassOf rdf:resource="#Stream"/></owl:Class>
RDFS
OWL