linked open data
DESCRIPTION
TRANSCRIPT
웹의 또 다른 모습 , 글로벌 데이터베이스 Linked Open Data
2012.04.07. 국립중앙도서관 박진호
This work is licensed under the Creative Commons 저작자표시 - 비영리 -변경금지 2.0 대한민국 License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/2.0/kr/ or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
이 자료는 네이버에서 제공한 나눔글꼴이 적용되어 있습니다http://hangeul.naver.com/font
Semantic Web ?
Web
The Web as Platform
웹을 플랫폼으로 거의 모든 정보활동이 일어나고 ,정보들은 웹에서 탄생하고 풍부해지고 재창조되고 ,
공유되고 , 확산되고 , 소멸된다 .
Web
Web of Documents
Web of DataGlobal Data-base
Resource
Resource
Resource
Resource
Resource
Resource
Resource
링크
링크 링크
링크
링크링크
링크
오늘날의 웹문서 중심의 Web(Web of Documents) - HTML
우리가 지향하는 바는Data(Things) 중심의 Web(Web of data)
SemanticWebPP
T
박진호
Senior
resear_cher
NLK
om
dc:creatordc:publisher
p:email
o:workplace
p:title
www.nl.go.
kr
o:homepage
<div class="vevent"><h3 class="summary"> 웹데브모바일 4 월 세미나 " 마크업 개발 upgrade!"</h3><p> 일시 : <span class="dtstart"> <abbr class="value" title="2012-04-7>2012 년 4 월 7 일 </abbr> 토요일 <span class="value"> 오후 1:00</span> <span class="dtend"> <span class="value">6:00am</span> </span></p><p> 장소 : <span class="location"> 성공을 도와주는 가게 (1644-3025) 본점 2 층 </span></p></div>
"The Semantic Web is an extension of the current web in which infor-
mation is given well-defined meaning, better enabling computers and people to work in cooperation."
Tim Berners-Lee, James Hendler, Ora Lassila, The Semantic Web, Scientific American, May 2001
아직까지 웹의 문서들은 HTML 로 작성 ,HTML 은 문법으로 숨겨진 의미 (Meaning, Semantics) 를 표현하지는 못함
만약 컴퓨터가 , 우리처럼 Meaning 을 이해할 수 있다면 , 우리 ( 사람 ) 의 정보검색 ( 탐색 ) 은 더 풍요로워질 것임
물론 HTML5 이야기는 아닙니다 .
Mr. Hatem Mahmoud
Syntax is the study of grammar
Semantics is the study of meaning
Syntax is how to say something
Semantic is the meaning behind what you say
Different syntaxes may have the same semantic:
x += y
x = x + y
[ 출처 : http://www.slideshare.net/sandhaus/all-about-rnews-evan-sandhaus]
structured
unstruc-tured
Wikipedia Vs Dbpediahttp://en.wikipedia.org/wiki/Samul_nori
http://dbpedia.org/page/Samul_nori
어떻게 Web 을 Global Database 로 활용할 것인가 ?
원칙과 표준이 필요합니다 .
Semantic W
eb layer C
ake
Elements of Linked Open Data Stack(revison 3)
Linked Data 기본 원칙
• Use URIs as names for things.
• Use HTTP URIs so that people can look up those
names.
• When someone looks up a URI, provide useful infor-
mation, using the standards (RDF, SPARQL)
• Include links to other URIs. so that they can
discover more things.
Metadata, XML
XML
• XML 은 메타 언어 (meta-language)
• eXtensible Markup Language 의 약자
• 데이터를 서술하기 위해 개발
• XML 태그는 정의된 것이 없음 , 스스로 자신의 태그를 정의할 수 있음
• XML 은 DTD, XML Schema 로 자기기술이 가능함 (Self-descriptive)
HTML Vs XML
<H1> 웹의 또 다른 모습 , 글로벌 데이터베이스 Linked Open Data</H1> <UL> <LI> 강사 : 박진호
<LI> 일시 : 2012.04.07<LI> 장소 : 성공을 도와주는 가게
</UL>
<nameOfLecture> <title> 웹의 또 다른 모습 , 글로벌 데이터베이스 Linked Open Data</title> <lecturer> 박진호 </lecturer > <date>2012.04.07</date> <place> 성공을 도와주는 가게 </place></nameOfLecture >
HTML
XML
XML Vs RDF
[ 출처 : http://www.oreillynet.com/xml/blog/2005/09/the_difference_between_xml_and.html]
XML 은 데이터 ( 문서 ) 의 구조 정의RDF 는 데이터 ( 문서 ) 의 구문의 의미 정의 ( 기계가 이해 )
RDF
• Resource Description Framework
• 웹 상의 자원을 기술하기 위한 W3C 표준
– Resource: URI 를 갖는 모든 것
– Description: 자원 (resource) 들의 속성 , 특성 , 관계
기술
– Framework: 위의 것들을 기술하기 위한 모델 , 언어 ,
문법
• RDF 는 컴퓨터 애플리케이션이 정보를 읽고 이해할 수
있도록 하기위한 표준 방법
• RDF 로 기술된 것은 웹에서 보여주기 위함은 아님[ 김동범 , 2010.12.03 Linked Data 의 RDF 어휘 이해하고 체험하기 , 2010 Korea Semantic Web Conference]
RDF 모델
• RDF 는 SPO, 주어 (Subject)/ 술어 (Predicate)/ 목적어
(Object) 로 구성됨
• “ 인간에 대한 예의” 의 “작가”는 “공지영”이다 .
• “http://www.amazon.com/Human-Decency-Jiyoung-
Gong/dp/8988095928” has a creator whose value is
“http://en.wikipedia.org/wiki/Gong_Ji-young”.
주어 (Subject) 술어 (Predicate) 목적어 (Object)
RDF 모델
“http://www.amazon.com/Human-Decency-Jiyoung-
Gong/dp/8988095928”
has a creator
whose value is “http://en.wikipedia.org/wiki/Gong_Ji-young”.
주어 (Subject)
술어 (Predicate)
목적어 (Object)
RDF Graph Model
주어(Sub-ject)
목적어(Object)
술어 (Predicate)
RDF Graph Model
http://www.amazon.com/Human-De-cency-Jiyoung-Gong/dp/8988095928
Gong Ji-young
http://purl.org/dc/terms/creator
RDF Graph Model
http://www.amazon.com/Human-Decency-Jiyoung-Gong/dp/
8988095928
http://purl.org/dc/terms/creator
http://en.wikipedia.org/wiki/Gong_Ji-young
1963-present
http://dbpedia.org/property/period
Jimoondang
http://purl.org/dc/terms/publisher
Gong Ji-young
http://dbpedia.org/property/name
RDF/XML 로 표현
<RDF xmlns:rdf=“http://www.w3.org/1999/02/22-rdf-syntax-ns#” xmlns:dc=http://purl.org/dc/terms/ xmlns:dbpprop="http://dbpedia.org/property/" >
<Description about=“http://www.amazon.com/Human-Decency-Jiyoung- Gong/dp/8988095928”> <dc:publisher>Jimoondang</dc:publisher> <dc:creator rdf:resource=“http://en.wikipedia.org/wiki/Gong_Ji-young”/> </Description>
<Description about=“http://en.wikipedia.org/wiki/Gong_Ji-young”> <dbpprop:name>Gong Ji-young</dbpprop:name> <dbpprop:period>1963-present</dbpprop:period > </Description></RDF>
명확한가 ? 충분한가 ?
인간에 대한 예의 공지영
작가 (writtenBy)
소설 (Class), 책 작가 (Class), 사람
Type Type
Ontology
• 철학 : 존재론 ( 存在論 ), 존재학 ( 存在學 )
– Onto(being) + logos(word)
– 세상의 구성요소에 대한 명확한 이해를 연구
• 언어학 : An ontology is a specification of a conceptualiza-
tion.
– 개념 ( 화 ) 의 명시적 명세 , 시소러스의 확장 개념
Ontology
• 컴퓨터 , 웹 분야
– an ontology is an explicit formal specification of a shared
conceptualization(Gruber, 1993)
– An ontology provides a shared vocabulary, which can be used
to model a domain — that is, the type of objects and/or con-
cepts that exist, and their properties and relations.(Arvidsson,
2008)
– 공유된 개념의 명시적 형식 (?)
Ontology
• an ontology is an explicit formal specification of a shared
conceptualization
– shared conceptualization: 인간과 컴퓨터가 공유하는
개념화
– Explicit Formal: 기계가 읽을 수 있는 형식으로 상세하게 개
념 , 개념간의 관계 등을 표현
Ontology
• 개념화
– 우리 눈에 보이는 사물 혹은 추상적인 것들을 구체적인 집합으로 만듦
– SUV, 덤프트럭 , 세단 = 탈것 (Vehicle)
– 남자 , 여자 = 사람
– 라이언헤드 , 롭드와프 , 더치 = 토끼
분류 !!
개념
내포[ 질적개념 : 합쳐도 개념을
나타내지 못함 ]
외연 [ 양적개념 :
합치면 개념을 나타냄 ]
토끼
내포큰 귀를 가지고
앞발보다 뒷발이 길고 시뻘건 눈을
가진 포유류
외연 라이언헤드 ,
롭드와프 , 더치
Ontology 요소
• 클래스 (Class) : 개념 , 조직화된 언어
• 관계 (Relation) : 개념간의 관계
• 함수 (Function) : 개념 간의 관계가 갖는 값 , 속성이 계속해서
적용
• 공리 (Axiom) : 추론의 기반 . 유효한 규칙 . 증명 없이 자명한
진리 ,
다른 명제 증명하는 전제
• 인스턴스 (Instance) : 개념을 표현하는 대상 객체
인간에 대한 예의 공지영
isWrittenBy
소설 소설가
type type
문학인문학
subClassOfsubClassOf
RDF
RDFS
isWrittenBy
domain
시인
subClassOf
range
RDF Schema
• RDF 를 확장하기 위한 소규모의 Vocabulary 를 정의
– Class, subClassOf, type
– Property, subPropertyOf
– Domain, range
RDF Schema Example(RDF Description)
<?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://www.animals.fake/animals#">
<rdf:Description rdf:ID="animal"> <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/></rdf:Description>
<rdf:Description rdf:ID="horse"> <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/> <rdfs:subClassOf rdf:resource="#animal"/></rdf:Description>
</rdf:RDF>
[ 출처 : http://www.w3schools.com/rdf/rdf_schema.asp]
RDFS / RDF Classes
Element Class of Subclass of
rdfs:Class All classes
rdfs:Datatype Data types Class
rdfs:Resource All resources Class
rdfs:Container Containers Resource
rdfs:Literal Literal values (text and numbers) Resource
rdf:List Lists Resource
rdf:Property Properties Resource
rdf:Statement Statements Resource
rdf:Alt Containers of alternatives Container
rdf:Bag Unordered containers Container
rdf:Seq Ordered containers Container
rdfs:ContainerMembershipProperty
Container membership properties Property
rdf:XMLLiteral XML literal values Literal
[ 출처 : http://www.w3schools.com/rdf/rdf_reference.asp]
RDFS / RDF Properties
Element Domain Range Description
rdfs:domain Property Class The domain of the resource
rdfs:range Property Class The range of the resource
rdfs:subPropertyOf Property Property The property is a sub property of a property
rdfs:subClassOf Class Class The resource is a subclass of a class
rdfs:comment Resource Literal The human readable description of the resource
rdfs:label Resource Literal The human readable label (name) of the resource
rdfs:isDefinedBy Resource Resource The definition of the resource
rdfs:seeAlso Resource Resource The additional information about the resource
rdfs:member Resource Resource The member of the resource
[ 출처 : http://www.w3schools.com/rdf/rdf_reference.asp]
RDF Attributes
Element Domain Range Description
rdf:about Defines the resource being described
rdf:Description Container for the description of a resource
rdf:resource Defines a resource to identify a property
rdf:datatype Defines the data type of an element
rdf:ID Defines the ID of an element
rdf:li Defines a list
rdf:_n Defines a node
rdf:nodeID Defines the ID of an element node
rdf:parseType Defines how an element should be parsed
rdf:RDF The root of an RDF document
xml:base Defines the XML base
xml:lang Defines the language of the element content
rdf:aboutEach (removed)
rdf:aboutEachPrefix (removed)
rdf:bagID (removed)
[ 출처 : http://www.w3schools.com/rdf/rdf_reference.asp]
RDFaMicroformatsHTML5 MicroData
RDFaMicroformatsHTML5 MicroData
WEB
Your web pages have an underlying meaning that people un-derstand when they read the web pages. But search engines have a limited understanding of what is being discussed on those pages. By adding additional tags to the HTML of your web
pages—tags that say, "Hey search engine, this information describes this specific movie, or place, or person, or video"—you can help search engines and other applications better understand your content and display it in a useful, relevant way. Microdata is a set of tags, introduced with HTML5, that allows you to do this.
HTML5 MicroData
[Daum 영화 ]
itemscope and itemtype
<div> <h1> 화차 </h1> <span> 감독 : 변영주 (1966 년 12 월 20 일 출생 )</span> <span> 미스터리 </span> <a href="../movies/hwacha2012_trailer.html"> 예고편 </a> </div>
<div itemscope itemtype="http://schema.org/Movie"> <h1> 화차 </h1> <span> 감독 : 변영주 (1966 년 12 월 20 일 출생 )</span> <span> 미스터리 </span> <a href="../movies/hwacha2012_trailer.html"> 예고편 </a> </div>
itemprop
<div itemscope itemtype="http://schema.org/Movie"> <h1> 화차 </h1> <span> 감독 : 변영주 (1966 년 12 월 20 일 출생 )</span> <span> 미스터리 </span> <a href="../movies/hwacha2012_trailer.html"> 예고편 </a> </div>
<div itemscope itemtype="http://schema.org/Movie"> <h1 itemprop="name"> 화차 </h1> <span> 감독 : <span itemprop="director"> 변영주 (1966 년 12 월 20 일 출생 )</span> <span itemprop="genre"> 미스터리 </span> <a href=“../movies/hwacha2012_trailer.html” itemprop="trailer"> 예고편 </a> </div>
Embedded items
<div itemscope itemtype="http://schema.org/Movie"> <h1 itemprop="name"> 화차 </h1> <span> 감독 : <span itemprop="director"> 변영주 (1966 년 12 월 20 일 출생 )</span> <span itemprop="genre"> 미스터리 </span> <a href=“../movies/hwacha2012_trailer.html” itemprop="trailer"> 예고편 </a> </div>
<div itemscope itemtype="http://schema.org/Movie"> <h1 itemprop="name"> 화차 </h1> <span> 감독 : <span itemprop="director“ itemscope itemtype="http://schema.org/Person"> 변영주 (1966 년 12 월 20 일 출생 )</span> <span itemprop="genre"> 미스터리 </span> <a href=“../movies/hwacha2012_trailer.html” itemprop="trailer"> 예고편 </a> </div>
Microdata vocabulary
Microsoft, Google,Yahoo...
RDFa
• RDF in attributes
• XHTML 웹 문서 안에 RDF 메타데이터를 포함시킬 수 있는
메커니즘
RDFa
<div> <h2> 웹의 또 다른 모습 , 글로벌 데이터베이스 Linked Open Data</h2> <h3> 박진호 </h3></div>
XHTML
<div xmlns:dc="http://purl.org/dc/elements/1.1/"> <h2 property="dc:title“> 웹의 또 다른 모습 , 글로벌 데이터베이스 Linked Open
Data</h2> <h3 property="dc:creator"> 박진호 </h3> </div>
RDFa
RDFa
<div typeof="foaf:Person" xmlns:foaf="http://xmlns.com/foaf/0.1/">
<p property="foaf:name"> 박진호 </p>
<p> Email: <a rel="foaf:mbox" href=“[email protected]"> [email protected]
com </a></p>
<p> Phone: <a rel="foaf:phone" href="tel:+82-590-0792">+82 590 0792 </
a></p>
</div>
RDFa
Microformats
• Microformat 은 기존 HTML 태그의 확장으로 의미적인
정보를 강화함
– 웹 페이지에 있는 사람 , 이벤트 , 블로그 포스트 , 리뷰와 같은
것들을 표현함
– 다음의 (X)HTML 의 속성을 사용해서 표현가능함
• class , rel, rev
• Humans first, machines second
Microformats
<head profile=“http://www.w3.org/2006/03/hcard”><div class=“vcard”> <div class=“fn”> 박진호 </div> <div class=“org”> 국립중앙도서관 </div> <div class=“tel”>02-590-0792</div> <a class=“url” href=“jinokor.tumblr.com”>jinokor.tumblr.com</a></div>
<div> <div> 박진호 </div> <div> 국립중앙도서관 </div> <div>02-590-0792</div> <a href=“jinokor.tumblr.com”> jinokor.tumblr.com</a></div>
HTML
Microformats(XHTML)
Microformats
Microformats
hCalendar<div class="vevent" id="hcalendar- 웹데브모바일 -4 월 - 세미나 " 마크업 - 개발 -upgrade!""><a class="url" href="http://www.webdevmobile.-com/xe/58840"><abbr class="dtstart" title="2012-04-07">April 7th</abbr>, <abbr class="dtend" title="2012-04-08"> 2012</abbr> <span class="summary">웹데브모바일 4 월 세미나 " 마크업 개발 upgrade!"</span> at <span class="location"> 성공을 도와주는 가게 (1644-3025) 본점 2 층 </span></a><div class="tags">Tags: <a rel="tag" href="http://eventful.com/events/tags/%EC%9B%B9%EB%8D%B0%EB%B8%8C%EB%AA%A8%EB%B0%94%EC%9D%BC"> 웹데브모바일 </a><a rel="tag" href="http://eventful.com/events/tags/%EC%84%B8%EB%AF%B8%EB%82%98"> 세미나 </a><a rel="tag" href="http://eventful.com/events/tags/%EB%A7%88%ED%81%AC%EC%97%85%20%EA%B0%9C%EB%B0%9C"> 마크업 개발 </a></div>
<p style="font-size: smaller; ">This <a href="http://microformats.org/wiki/hcalendar">hCalendar event</a> brought to you by the <a href="http://microformats.org/code/hcalendar/creator">hCalendar Creator</a>.</p></div>
Google Recipe
hRec
ipe
spec
ifica
tion
Facebook events
hCal
enda
r, hC
ard
Netflix OData Catalog API Example
http://odata.netflix.com/Catalog/ Collections: Titles, TitleAwards, People, Genres, Languages, …
The Metadata…/$metadataGenres…/GenresCount of horror movies…/Genres('Horror Movies')/Titles/$countKorean movies…/Languages('Korean')/Titles?$filter=Type eq 'Movie'Horror movies from the '70s …/Genres('Horror Movies')/Titles?$filter=ReleaseYear le 1979 and ReleaseYear ge 1970 In JSON format: …&$format=json
"The Semantic Web is an extension of the current web in which infor-
mation is given well-defined meaning, better enabling computers and people to work in cooperation."
Tim Berners-Lee, James Hendler, Ora Lassila, The Semantic Web, Scientific American, May 2001
복잡한 게 아닙니다 . 기계가 이해할 수 있다 (No)사람과 기계가 같이 이해할 수 있는 공유의 장 !
기계가 이해할 수 있다는 것은 사실
좀 더 엄격하고 , 정확하고 ,
명확한 규칙과 정의가 필요
하고 싶은 이야기는 ,
RDF, RDFa, Microformat, Microdata,Odata 를 공부해라 ? 배워라 ? 써라 ?
StandardDataOPEN
DataPlatform
개념화 MetadataVocabulary…
• http://www.flickr.com/photos/6x7/67066884/• http://www.flickr.com/photos/gipukan/6136322832/• http://www.flickr.com/photos/amattox/3236510649/• http://www.flickr.com/photos/f-l-e-x/3096005116/• http://www.flickr.com/photos/sterlic/4299633060/• http://www.flickr.com/photos/dullhunk/3448804778/• http://www.flickr.com/photos/angeldye/4107785451/• http://www.flickr.com/photos/29071316@N06/4176526126/• http://www.flickr.com/photos/lintmachine/2920423031/
[ 이미지 출처 ]