oil and daml+oil: ontology languages for the semantic web 2005. 1. 10. sungshin lim...

34
OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim [email protected] TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge Management Artificial Intelligence Laboratory, Pusan National Unive

Upload: joshua-gallagher

Post on 13-Dec-2015

217 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

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 2: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

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 3: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

Page [email protected]

The Semantic Web Pyramid of Languages

Page 4: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

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 5: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

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 6: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

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 7: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

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 8: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

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 9: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

Page [email protected]

http://www.w3.org/1999/02/22-rdf-syntax-ns#

ID

about

type

resource

Description

Tutorial: RDF Namespace

Page 10: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

Page [email protected]

Legend: Ellipse indicates "Resource" Rectangle indicates "literal string value"

Tutorial: RDF Model (graph)

Page 11: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

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 12: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

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 13: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

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 14: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

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 15: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

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 16: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

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 17: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

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 18: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

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 19: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

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 20: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

Page [email protected]

Example: OIL Ontology

Page 21: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

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 22: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

Page [email protected]

DAML+Oil example: Namespace, HeaderNamespace

Header

– Version information– Comments– Imports

Page 23: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

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 24: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

Page [email protected]

DAML+Oil example: PropertyObject properties

Datatype properties

Page 25: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

Page [email protected]

DAML+Oil example: Property RestrictionsRestriction defines an anonymous class, namely the

class of all things that satisfy the restriction.

Page 26: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

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 27: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

Page [email protected]

DAML+Oil example: Notations for Properties

UniqueProperty

inverseOf

TransitiveProperty

samePropertyAs

Page 28: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

Page [email protected]

DAML+Oil example: Notations for Classes

complementOf

disjointUnionOf

intersectionOf

sameClassAs

Page 29: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

Page [email protected]

DAML+Oil example: Defining Individuals

Page 30: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

Page [email protected]

The semantic web pyramid of languages

Data Exchange

Semantics+reasoning

Relational Data

Page 31: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

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 32: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

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 33: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

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 34: OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge

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