Machine Learning and the Semantic Web

Download Report

Transcript Machine Learning and the Semantic Web

2009 시맨틱 웹 튜토리얼: RDF 집중분석
RDF 개념 및 구문 소개
김동범 ([email protected], eastkim@twitter)
시맨틱 웹 스터디 그룹
(http://groups.google.com/group/semanticwebstudy)
2009-10-31
What is RDF?
RDF stands for
Resource
Description
Framework
2009 시맨틱 웹 튜토리얼: RDF 집중분석
: URI를 갖는 모든 것 (웹 페이지, 이미지, 동영상 등)
: 자원(Resource)들의 속성, 특성, 관계 기술
: 위의 것들을 기술하기 위한 모델, 언어, 문법
Where is RDF on the Semantic Web Layer
Semantic
Aspect
시맨틱 웹 표준의
첫 번째 Layer
Web
Aspect
Image source : http://www.w3.org/2007/Talks/0130-sb-W3CTechSemWeb/
2009 시맨틱 웹 튜토리얼: RDF 집중분석
RDF Definition

W3C RDF 문서에서의 정의

Framework for representing information in the Web.

웹에 있는 Resource에 대한 정보를 표현하기 위한 언어

특히, 웹 Resource에 대한 Metadata를 표현하기 위함.
2009 시맨틱 웹 튜토리얼: RDF 집중분석
RDF 탄생 스토리

1990년대 중반




1997년




Ramanathan V. Guha (Apple)
MCF (Meta Content Framework) 라는 메타데이터 포맷 개발
RDF의 모태가 됨
Guha의 Netscape로 이직
Tim Bray 와 함께 MCF/XML 프로젝트 착수
MCF/XML: Microsoft 의 CDF (Channel Document Format) 과
경쟁하기 위한 프로젝트
1998년 RDF 제안 (W3C)

시맨틱 웹의 기본 구성요소가 됨
2009 시맨틱 웹 튜토리얼: RDF 집중분석
Semantic Web 언어의 흐름
Ontology
(information science)
RDF
(W3C WD)
RDF Scheme
(W3C WD)
DAML+OIL
DAML
1996.11
1970s
1999
1997.08
XML
(W3C WD)
SPARQL
(WD)
1998.04
1999
OIL
(Europe IST Project)
2002
2000
2004.10
OWL
(W3C WD)
왜 RDF를 만들었을까?



웹은 글로벌하고 방대한 정보 공간
그런데 지금의 웹은 사람은 보기 쉽지만 기계가
처리하기에는 너무 모호하고 힘들어.
웹에 있는 정보를 데이터베이스처럼 표현할 수 없을까?


그러면 웹 상의 정보를 기계가 좀 더 처리하기 쉬울텐데...


(Linked Data, Web of Data)
(Machine processible, readable, understandable)
또 웹에 흩어진 정보를 가져와서 내 정보와 쉽게 결합할 수
있을 텐데...

(Interworking among the applications)
2009 시맨틱 웹 튜토리얼: RDF 집중분석
W3C RDF 문서들

Primer


Concepts


RDF 모델에 대한 XML Syntax (RDF/XML), N-triples
Semantics


RDF Concept, Abstract Syntax (RDF Graph)
Syntax


RDF 를 빠르게 사용하기 위한 기본 지식 제공
RDF, RDF Schema 가 담고 있는 의미론, 추론 규칙에 대한 설명
Vocabularies

RDF Schema와 RDF Vocabulary를 기술하는 방법
http://www.w3.org/RDF/
2009 시맨틱 웹 튜토리얼: RDF 집중분석
RDF Data Model
2009 시맨틱 웹 튜토리얼: RDF 집중분석
RDF Data Model
RDF는 Graph Model 을 갖고 있다.
subject
predicate
Object
주어
술어
목적어
(Resource)
(Property, Relation)
(Resource, Literal)
URI
Blank Node
2009 시맨틱 웹 튜토리얼: RDF 집중분석
URI
URI
Literal
RDF is A Graph !!
The formal semantics of RDF is described using graphs.
Think in terms of graphs, not XML or documents.
By Ian Davis ([email protected])
2009 시맨틱 웹 튜토리얼: RDF 집중분석
Graph Model 예제
http://dbpedia.org/resource/Billie_Jean has a singer whose value is Michael Jackson

Subject : http://dbpedia.org/resource/Billie_Jean

Predicate: http://www.example.com/terms/singer

Object: Michael_Jackson
(URI)
(URI)
(Literal)
By Ian Davis ([email protected])
2009 시맨틱 웹 튜토리얼: RDF 집중분석
Basic Graph
http://dbpedia.org/resource/Billie_Jean
http://www.example.com/terms/released
1983-01-02
2009 시맨틱 웹 튜토리얼: RDF 집중분석
http://www.example.com/terms/singer
Michael_Jackson
Basic Graph 확장
http://dbpedia.org/resource/Billie_Jean
http://www.example.com/terms/released
1983-01-02
http://www.example.com/terms/singer
http://dbpedia.org/resource/Michael_Jackson
http://www.example.com/terms/name
Michael_Jackson
2009 시맨틱 웹 튜토리얼: RDF 집중분석
http://www.example.com/terms/age
44
Typed Literal
http://dbpedia.org/resource/Billie_Jean
http://www.example.com/terms/released
“1983-01-02”^^xsd:date
http://www.example.com/terms/singer
http://dbpedia.org/resource/Michael_Jackson
http://www.example.com/terms/name
Michael_Jackson
2009 시맨틱 웹 튜토리얼: RDF 집중분석
http://www.example.com/terms/age
44^^xsd:integer
Merge by linking



서로 다른 source를 나타내는 그래프는 병합될 수
있다.
같은 URI를 가진 Node는 같은 resource를
취급한다.
어떤 RDF도 다른 RDF와 병합될 수 있다.
2009 시맨틱 웹 튜토리얼: RDF 집중분석
Merging Example
Source : http://research.talis.com
2009 시맨틱 웹 튜토리얼: RDF 집중분석
RDF Schema
2009 시맨틱 웹 튜토리얼: RDF 집중분석
RDF Schema


RDF Schema는 property에 대한 추가 정보 제공함으로써
사용 방법을 보다 명확히 함 (Domain, Range)
Resource의 타입을 기술 (type, Class)

Book, Person, Publisher

Not Like XML Scheme

Resource를 설명하는데 있어 의미 표현을 추가한 것
2009 시맨틱 웹 튜토리얼: RDF 집중분석
RDFS example
Resource <http://example.com/ISBN/xxxx> 의 타입(type)은
<http://ex.org/bib/Book> 이다.
http://example.com/ISBN/xxxx
Source : http://research.talis.com
2009 시맨틱 웹 튜토리얼: RDF 집중분석
RDFS example
<http://ex.org/bib/Book> 은 <http://ex.org/bib/ArtisticWork> 의
하위 클래스다.
2009 시맨틱 웹 튜토리얼: RDF 집중분석
RDFS example
<http://example.com/ISBN/xxxx> 의 타입이 <http://ex.org/bib/Book>
이면,
또한 <http://ex.org/bib/ArtisticWork> 의 타입을 갖는다.
http://example.com/ISBN/xxxx
2009 시맨틱 웹 튜토리얼: RDF 집중분석
Domain 과 Range



속성은 Domain(정의역)과 Range(공역)를 가질 수
있다.
Domain은 Property의 Subject 의 클래스를
알려준다.
Range는 Property의 Object(Value)의 클래스를
알려준다.
2009 시맨틱 웹 튜토리얼: RDF 집중분석
다음과 같은 Triple 있다.
2009 시맨틱 웹 튜토리얼: RDF 집중분석
Property <http://ex.org/bib/author>는 아래와 같이 domain 과
range를 갖는다
2009 시맨틱 웹 튜토리얼: RDF 집중분석
우리는 이와 같이 subject와 object 의 type을 추론할 수 있다.
2009 시맨틱 웹 튜토리얼: RDF 집중분석
RDF Syntax
2009 시맨틱 웹 튜토리얼: RDF 집중분석
Graph를 언어로 표현하기


Turtle
a text based format, easy to scribble, easy to read


RDF/XML
an XML based format, hard to read/write
2009 시맨틱 웹 튜토리얼: RDF 집중분석
Turtle – Basic Syntax




Triple은 마침표(.) 로 끝을 맺는다.
URIs 는 <> 로 감싸서 표현한다.
Literal 은 “” 로 감싼다.
약식 URI를 위해 prefix를 사용한다
<http://example.com/Thing>
<http://example.com/relation>
@prefix ex: <http://example.com> .
ex:Thing ex:relation “some text” .
ex:Thing ex:relation2 “some text2” .
2009 시맨틱 웹 튜토리얼: RDF 집중분석
“some text” .
Turtle – Basic Syntax

Blank Nodes
@prefix ex: <http://example.com> .
_:a ex:relation “some text” .

Literal with language
@prefix ex: <http://example.com> .
ex:thing ex:relation “hello@en” .
ex:thing ex:relation “Bonjour@fr” .

Literals with datatype
@prefix ex: <http://example.com> .
ex:Thing ex:relation
“24”^^http://www.w3.org/2001/XMLScheme#integer .
2009 시맨틱 웹 튜토리얼: RDF 집중분석
RDF/XML Syntax
example
title
RDF 개념 및 구문 소개
http://www.dbdb.kr/rdf_tutorial
author
DongBum Kim
<RDF xmlns:rdf=“http://www.w3.org/1999/02/22-rdf-syntax-ns#”
xmlns:ex=“http://www.dbdb.kr/”>
<Description about=“http://www.dbdb.kr/rdf_tutorial”>
<ex:author>DongBum Kim</ex:author>
<ex:title>RDF 개념 및 구문 소개</ex:title>
</Description>
</RDF>
2009 시맨틱 웹 튜토리얼: RDF 집중분석
Movie Database
URI : http://movie.naver.com/
2009 시맨틱 웹 튜토리얼: RDF 집중분석
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>
2009 시맨틱 웹 튜토리얼: RDF 집중분석
RDF Main Elements
<rdf:RDF> Element
RDF 문서의 root Element
<rdf:Description> Element
about 속성을 가진 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
rdf:about=“http://movie.naver.com/007quantumofsolace”>
.
<movie:title>007
퀀텀 오브
.
Description goes
here솔러스</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>
2009 시맨틱 웹 튜토리얼: RDF 집중분석
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>
2009 시맨틱 웹 튜토리얼: RDF 집중분석
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
2009 시맨틱 웹 튜토리얼: RDF 집중분석
XML과 무엇이 다른가?
2009 시맨틱 웹 튜토리얼: RDF 집중분석
다음 XML이 나타내고자 하는 것은?
or may be
<author>
<uri>page</uri>
<name>Ora</name>
</author>
or may be
<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>
or may be
<document href=“http://www.w3.org/test/page” author=“Ora” />
2009 시맨틱 웹 튜토리얼: RDF 집중분석
What is the author of page?
<v>
<x>
<y>a=“pppp”</y>
<z>
<w>qqqqq</w>
</z>
</x>
</v>
위 구문에서 설명하고자 하는 것은 무엇인가?
x
2009 시맨틱 웹 튜토리얼: RDF 집중분석
y
z
인가?
In RDF Graph
<Description about="http://www.w3.org/test/page" Author ="Ora" />
<?xml version="1.0"?>
<Description about="http://www.w3.org/test/page“>
<s:Author ="http://www.w3.org/staff/Ora" />
</Description>
page
2009 시맨틱 웹 튜토리얼: RDF 집중분석
has author
Ora
The RDF Graph displays the same thing
<Description about=“x" y=“z” />
<?xml version="1.0"?>
<Description about=“x“>
<y =“z” />
</Description>
x
2009 시맨틱 웹 튜토리얼: RDF 집중분석
y
z
분산된 데이터의 웹에서
Ora가
글을
작성했다
Ora가
영화 ‘xxx’에
출연했다
통합문서
Ora는 ‘page’의 저자이고,
영화 ‘xxx’에 출연했다
xxx
page
2009 시맨틱 웹 튜토리얼: RDF 집중분석
has author
Ora
plays in
RDF 활용 (RDF Vocabularies)






RSS 1.0
FOAF
FRBR
Creative Commons
SKOS
Geo
2009 시맨틱 웹 튜토리얼: RDF 집중분석
감사합니다.
Question?
2009 시맨틱 웹 튜토리얼: RDF 집중분석