온톨로지 개념 및 표현언어

34
온온온온 온온 온 온온온온 온온온온 온온온 온 VoCamp 온온 : 온온 온온온 ([email protected]) 온온온온 온온온온온온 http://www.dbdb.kr, @eastkim on twitter 2009.05.29 1

Upload: dongbum-kim

Post on 16-May-2015

5.135 views

Category:

Technology


6 download

TRANSCRIPT

Page 1: 온톨로지 개념 및 표현언어

온톨로지 개념 및온톨로지 표현언어

시맨틱 웹 VoCamp 서울 : 여름

김동범 ([email protected])아이네크 시맨틱사업팀

http://www.dbdb.kr, @eastkim on twitter2009.05.29

1

Page 2: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 2 -

시맨틱 웹 표준의첫 번째 Layer

SemanticAspect

WebAspect

The Role of RDF on Semantic Web

Page 3: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 3 -

“The author of the page is Ora”

triple(author, page, Ora)

Why RDF model is different from the XML model ?

Tim Berners-Lee (1998), http://www.w3.org/DesignIssues/RDF-XML

page

Orahas author

Page 4: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 4 -

How would this information be typically represented in XML?

<author> <uri>page</uri> <name>Ora</name></author>

<document href=“page”> <author>Ora</author></document>

<document> <details> <uri>href=“page”</uri> <author> <name>Ora</name> </author> </details></document>

<document> <author> <uri>href=“page”</uri> <details> <name>Ora</name> </details> </author></document>

<document href=“http://www.w3.org/test/page” author=“Ora” />

or may be

or may be

or may be

Page 5: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 5 -

What is the author of page?

<v> <x> <y>a=“pppp”</y> <z> <w>qqqqq</w> </z> </x></v>

page

Orahas author

a cb

Page 6: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 6 -

In RDF Graph

<Description about="http://www.w3.org/test/page" Author ="Ora" />

page

Orahas author

<?xml version="1.0"?> <Description about="http://www.w3.org/test/page“>

<s:Author ="http://www.w3.org/staff/Ora" /> </Description>

Page 7: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 7 -

The RDF Graph displays the same thing

<Description about=“x" y=“z” />

x zy

<?xml version="1.0"?> <Description about=“x“>

<y =“z” /> </Description>

Page 8: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 8 -

분산된 데이터의 웹에서… .

page Orahas author

글을 작성하다

영화 ‘ xxx’ 에출연하다

xxx

plays in

Ora 는 ‘ page’ 의 저자이고 , 영화

‘ xxx’ 에 출연했다

통합문서

Page 9: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 9 -

"formal, explicit specification of a shared conceptualization“

“ 공유된 개념에 대한 형식적이고 , 명시적인 명세…… ??”

Tom Gruber (1993)

What is ontology?

Page 10: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 10 -

존재론 in Philosophy

What is ontology?

즉 , 온톨로지는 “존재하는 것들에 대한 설명”

그럼 존재하는 것이란 무엇일까요 ?

Page 11: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 11 -

Thing

존재하는 것

Page 12: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 12 -

Thing

스무고개…

정답 !! >>

lives inAsia

Person

type Korea

partOf

Asia

INEKworks at

3X

age

Corporation

type

??

name

김동범

Page 13: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 13 -

Thing 에 제약 ( 속성 , 관계 ) 을 가함으로써 개념을 정의

제약이 많다 = 표현력 (Expressivity) 이 풍부하다

객관적인 형식과 그 형식이 동작하는 방식을 규정 (formal)

이와 같이 온톨로지는… .

Page 14: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 14 -

표현력에 따른 온톨로지

Lightweight ontologies Concepts

Relationships between Concepts

IS-A Hierarchy

Heavyweight ontologies type constraints on relations

Cardinality constraints

Axioms

RDF, RDFS, OWL Lite OWL DL

Page 15: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 15 -

온톨로지 표현 언어RDF, RDFS, OWL

Page 16: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 16 -

RDF(S) Developed by W3C (1999, 02)

Ontology Inference Layer : OIL Developed by group of European researchers (2000, 01)

DAML Ontology Language : DAML-ONT Developed by US researchers working in DAML program (2000, 10)

Effort merged in DAML+OIL Developed by EU/US joint committee (2000, 12)

W3C Web Ontology group : OWL W3C standard based on DAML+OIL (2002, 02)

History of Ontology Language

Page 17: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 17 -

RDF stands for

Resource

Description

Framework

: URI 를 갖는 모든 것 ( 웹 페이지 , 이미지 , 동영상 등 )

: 자원 (Resource) 들의 속성 , 특성 , 관계

: 위의 것들을 기술하기 위한 모델 , 언어 , 문법

Page 18: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 18 -

RDF 데이타 모델

Subject ObjectPredicate

: Triple Model

http://www.dbdb.kr/rdf_tutorial

온톨로지 개념 및 표현언어title

DongBeom Kimauthor

example

<?xml version=“1.0”>

<RDF> <Description about=“http://www.dbdb.kr/rdf_tutorial”> <author>DongBeom Kim</author> <homepage> 온톨로지 개념 및 표현언어 </homepage> </Description></RDF>

Page 19: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 19 -

Movie ListURI : http://movie.naver.com/

Page 20: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 20 -

RDF Example

title director country runtime genre reviewer

007 퀀텀 오브 솔러스 마크 포스터 미국 106 분 액션 genie

아내가 결혼했다 정윤수 한국 119 분 멜로 eastkim

… … … … … …

<?xml version=“1.0”>

<RDF xmlns:rdf=“http://www.w3.org/1999/02/22-rdf-syntax-ns#” xmlns:movie=“http://movie.naver.com/”>

<Description rdf:about=“http://movie.naver.com/007quantumofsolace”> <movie:title>007 퀀텀 오브 솔러스 </movie:title> <movie:director> 마크 포스터 </movie:director> <movie:country> 미국 </movie:country> <movie:runtime>106 분 </movie:runtime> <movie:reviewer>genie</movie:reviewer> </Description>

<Description rdf:about=“http://movie.naver.com/2husbands”> <movie:title> 아내가 결혼했다 </movie:title> … </Description></RDF>

Page 21: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 21 -

RDF Main Elements

<rdf:RDF> ElementRDF 문서의 root Element

<rdf:Description> Elementabout 속성을 가진 resource 를 식별 ( 기술 ) 하기 위해 사용Resource 를 기술하기 위한 여러 Element(title, director, etc) 를 포함

<?xml version=“1.0”>

<RDF xmlns:rdf=“http://www.w3.org/1999/02/22-rdf-syntax-ns#” xmlns:movie=“http://movie.naver.com/”>

.

. Description goes here

.

</RDF>

<Description rdf:about=“http://movie.naver.com/007quantumofsolace”> <movie:title>007 퀀텀 오브 솔러스 </movie:title> <movie:director> 마크 포스터 </movie:director> <movie:country> 미국 </movie:country> <movie:runtime>106 분 </movie:runtime> <movie:reviewer>genie</movie:reviewer> </Description>

<Description rdf:about=“http://movie.naver.com/2husbands”> <movie:title> 아내가 결혼했다 </movie:title> … </Description>

Page 22: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 22 -

RDF Main Elements

Properties as Attributes

<Description rdf:about=“http://movie.naver.com/007quantumofsolace” movie:title=“007 퀀텀 오브 솔러스” movie:director=“ 마크 포스터” movie:country=“ 미국” movie:runtime=“106 분” movie:reviewer=“genie”/>

Properties as Resources

<Description rdf:about=“http://movie.naver.com/007quantumofsolace”> <movie:title>007 퀀텀 오브 솔러스 </movie:title> <movie:director> 마크 포스터 </movie:director> <movie:country> 미국 </movie:country> <movie:runtime>106 분 </movie:runtime> <movie:reviewer>genie</movie:reviewer> </Description>

Page 23: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 23 -

RDF Main Elements

rdf:Alt, Bag, Description, ID, List, Property, Statement, Seq, XMLLiteral

about, first, nodeID, object, parseType, predicate, resource, rest, subject, type, value, nil

rdfs:Class, Container, ContainerMembershipProperty, Datatype, Literal, Resource

comment, domain, isDefinedBy, label, member, range, sellAlso, subClassOf, subPropertyOf

Page 24: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 24 -

More Expressive than RDF(S)

Adds more vocabularies for describing properties

and classes

Based on Description Logic

W3C Recommendation (2004.02)

OWL (Web Ontology Language)

Page 25: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 25 -

OWL 의 하위 언어들 OWL Lite

Subset of DL light-weight 한 ontology 구축에 적합

OWL DL Support Description Logic segment Has properties for reasoning systems heavy-weight 한 ontology 구축에 적합

OWL Full Union of OWL and RDFS Allow free mixing of OWL with RDF Schema Not enforce a strict separation of classes, properties, individuals

OWL Lite ⊂ DL Full⊂

Page 26: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 26 -

OWL Lite Contructions (1)

RDF Schema Features:

Class rdf:Property rdfs:subClassOf rdfs:subPropertyOf rdfs:domain rdfs:range Individual

(In)Equality

equivalentClass equivalentProperty sameIndividualAs differentFrom allDifferent

Page 27: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 27 -

OWL Lite Contructions (2)

Property Type Restrictions: allValuesFrom someValuesFrom

Class Intersection intersectionOf

Datatypes

Restricted Cardinality– minCardinality (only 0 or 1)– maxCardinality(only 0 or 1)– cardinality (only 0 or 1)

Property Characteristics: inverseOf transitiveProperty symmetricProperty functionalPropety InverseFunctionalProperty

Page 28: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 28 -

Property type restrictions<owl:Restriction> <owl:onProperty rdf:resource="#hasParent" /> <owl:allValuesFrom rdf:resource="#Human" /></owl:Restriction>

owl:allValuesFrom

owl:someValuesFrom

X YhasParent

Y 는 모두 Human

<owl:Restriction> <owl:onProperty rdf:resource="#hasParent" /> <owl:someValuesFrom rdf:resource="#Physician"/></owl:Restriction>

: 부모중 적어도 한명은 Physician 이다 .

Page 29: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 29 -

Property type restrictions owl:inverseOf

owl:symmetricProperty

if hasChild inverseOf hasParent and Deborah hasParent Louisethen Louise hasChild Deborah

owl:transitiveProperty

if pair(X,Y), pair(Y,Z) are instances of transitive property P, then pair(X,Z) is also instance of P

if pair(X,Y) is an instance of P, then pair(Y,X) is also instance of P

Page 30: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 30 -

OWL DL, FULL Contructions (2) Class Axioms:

oneOf disjointWith equivalentClass

(applied to class expressions) rdfs:subClassOf

(applied to class expressions)

Arbitrary Cardinality: minCardinality maxCardinality cardinality

Boolean Combinations of Class Expressions:– unionOf– intersectionOf– complementOf

Filler Information:– hasValue

Page 31: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 31 -

OWL DL 표현 예제

<owl:Class rdf:ID="Adult"> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Person"/> <owl:restriction> <owl:onProperty rdf:resource="#age"/> <owl:someValuesFrom df:resource="http://www.w3.org/TR/@@/owl-ex-dt#over19"/> </owl:Restriction> </owl:intersectionOf></owl:Class>

Adult = Person ∩ $ age.over19

owl:intersectionOf links a class to a list of class description represent the “AND”

Page 32: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 32 -

OWL DL 표현 예제 owl:inverseOf

owl:FunctionalProperty

<owl:ObjectProperty rdf:ID=“hasChild”> <owl:inverseOf rdf:resource=“#hasParent”/></owl:ObjectProperty>

<owl:FunctionalProperty rdf:ID="husband"> <rdfs:domain rdf:resource="#Woman" /> <rdfs:range rdf:resource="#Man" /></owl:FunctionalProperty>

<owl:ObjectProperty rdf:ID="husband"> <rdf:type rdf:resource="&owl;FunctionalProperty" /> <rdfs:domain rdf:resource="#Woman" /> <rdfs:range rdf:resource="#Man" /></owl:ObjectProperty>

Page 33: 온톨로지 개념 및 표현언어

시맨틱 웹 VoCamp 서울 : 여름 - 33 -

OWL DL 표현 예제 owl:TransitiveProperty

owl:SymmetricProperty

<owl:TransitiveProperty rdf:ID="subRegionOf"> <rdfs:domain rdf:resource="#Region"/> <rdfs:range rdf:resource="#Region"/></owl:TransitiveProperty>

<owl:SymmetricProperty rdf:ID="friendOf"> <rdfs:domain rdf:resource="#Human"/> <rdfs:range rdf:resource="#Human"/></owl:SymmetricProperty>

Page 34: 온톨로지 개념 및 표현언어

감사합니다 !

시맨틱 웹 VoCamp 서울 : 여름

34