온톨로지 개념 및 표현언어
TRANSCRIPT
온톨로지 개념 및온톨로지 표현언어
시맨틱 웹 VoCamp 서울 : 여름
김동범 ([email protected])아이네크 시맨틱사업팀
http://www.dbdb.kr, @eastkim on twitter2009.05.29
1
시맨틱 웹 VoCamp 서울 : 여름 - 2 -
시맨틱 웹 표준의첫 번째 Layer
SemanticAspect
WebAspect
The Role of RDF on Semantic Web
시맨틱 웹 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
시맨틱 웹 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
시맨틱 웹 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
시맨틱 웹 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>
시맨틱 웹 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>
시맨틱 웹 VoCamp 서울 : 여름 - 8 -
분산된 데이터의 웹에서… .
page Orahas author
글을 작성하다
영화 ‘ xxx’ 에출연하다
xxx
plays in
Ora 는 ‘ page’ 의 저자이고 , 영화
‘ xxx’ 에 출연했다
통합문서
시맨틱 웹 VoCamp 서울 : 여름 - 9 -
"formal, explicit specification of a shared conceptualization“
“ 공유된 개념에 대한 형식적이고 , 명시적인 명세…… ??”
Tom Gruber (1993)
What is ontology?
시맨틱 웹 VoCamp 서울 : 여름 - 10 -
존재론 in Philosophy
What is ontology?
즉 , 온톨로지는 “존재하는 것들에 대한 설명”
그럼 존재하는 것이란 무엇일까요 ?
시맨틱 웹 VoCamp 서울 : 여름 - 11 -
Thing
존재하는 것
시맨틱 웹 VoCamp 서울 : 여름 - 12 -
Thing
스무고개…
정답 !! >>
lives inAsia
Person
type Korea
partOf
Asia
INEKworks at
3X
age
Corporation
type
??
name
김동범
시맨틱 웹 VoCamp 서울 : 여름 - 13 -
Thing 에 제약 ( 속성 , 관계 ) 을 가함으로써 개념을 정의
제약이 많다 = 표현력 (Expressivity) 이 풍부하다
객관적인 형식과 그 형식이 동작하는 방식을 규정 (formal)
이와 같이 온톨로지는… .
시맨틱 웹 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
시맨틱 웹 VoCamp 서울 : 여름 - 15 -
온톨로지 표현 언어RDF, RDFS, OWL
시맨틱 웹 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
시맨틱 웹 VoCamp 서울 : 여름 - 17 -
RDF stands for
Resource
Description
Framework
: URI 를 갖는 모든 것 ( 웹 페이지 , 이미지 , 동영상 등 )
: 자원 (Resource) 들의 속성 , 특성 , 관계
: 위의 것들을 기술하기 위한 모델 , 언어 , 문법
시맨틱 웹 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>
시맨틱 웹 VoCamp 서울 : 여름 - 19 -
Movie ListURI : http://movie.naver.com/
시맨틱 웹 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>
시맨틱 웹 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>
시맨틱 웹 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>
시맨틱 웹 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
시맨틱 웹 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)
시맨틱 웹 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⊂
시맨틱 웹 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
시맨틱 웹 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
시맨틱 웹 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 이다 .
시맨틱 웹 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
시맨틱 웹 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
시맨틱 웹 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”
시맨틱 웹 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>
시맨틱 웹 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>
감사합니다 !
시맨틱 웹 VoCamp 서울 : 여름
34