1. 2009 시맨틱 웹 튜토리얼: RDF 집중분석 RDF 개념 및 구문 소개 김동범 (eastkim@gmail.com, eastkim@twitter)시맨틱 웹 스터디 그룹(http://groups.google.com/group/semanticwebstudy)2009-10-31
2. What is RDF? 2009 시맨틱 웹 튜토리얼: RDF 집중분석 RDF stands for Resource Description Framework : URI를 갖는 모든 것 (웹 페이지, 이미지, 동영상등) : 자원(Resource)들의 속성, 특성, 관계 기술 : 위의 것들을 기술하기 위한 모델, 언어, 문법
3. Where is RDF on the Semantic Web Layer 2009 시맨틱 웹 튜토리얼: RDF 집중분석 Semantic Aspect 시맨틱웹 표준의 첫 번째 Layer Web Aspect Image source : http://www.w3.org/2007/Talks/0130-sb-W3CTechSemWeb/
4. RDF Definition W3C RDF 문서에서의 정의 Framework for representing information in the Web. 웹에 있는 Resource에 대한 정보를 표현하기 위한 언어 특히, 웹 Resource에 대한 Metadata를 표현하기 위함. 2009 시맨틱 웹 튜토리얼: RDF 집중분석
5. RDF 탄생 스토리 1990년대 중반 Ramanathan V. Guha (Apple) MCF (Meta Content Framework) 라는 메타데이터 포맷 개발 RDF의 모태가 됨 1997년 Guha의 Netscape로 이직 Tim Bray 와 함께 MCF/XML 프로젝트 착수 MCF/XML: Microsoft 의 CDF (Channel Document Format) 과 경쟁하기 위한 프로젝트 1998년 RDF 제안 (W3C) 시맨틱 웹의 기본 구성요소가 됨 2009 시맨틱 웹 튜토리얼: RDF 집중분석
6. Semantic Web 언어의 흐름 DAML+OIL RDF Scheme (W3C WD) RDF (W3C WD) DAML Ontology (information science) SPARQL (WD) 1996.11 1999 2002 1997.08 1970s 1998.04 1999 2000 2004.10 XML (W3C WD) OIL (Europe IST Project) OWL (W3C WD)
15. RDF Data Model 2009 시맨틱 웹 튜토리얼: RDF 집중분석 RDF는 Graph Model을 갖고 있다. subject Object predicate 술어 (Property, Relation) 목적어 (Resource, Literal) 주어 (Resource) URI Blank Node URI Literal URI
16. RDF is A Graph !! 2009 시맨틱 웹 튜토리얼: RDF 집중분석 The formal semantics of RDF is described using graphs. Think in terms of graphs, not XMLor documents. By Ian Davis (ian.davis@talis.com)
17. Graph Model 예제 2009 시맨틱 웹 튜토리얼: RDF 집중분석 http://dbpedia.org/resource/Billie_Jean has a singer whose value is Michael Jackson Subject : http://dbpedia.org/resource/Billie_Jean (URI) Predicate: http://www.example.com/terms/singer (URI) Object: Michael_Jackson(Literal) By Ian Davis (ian.davis@talis.com)
24. RDF Schema RDF Schema는 property에 대한 추가 정보 제공함으로써 사용 방법을 보다 명확히 함 (Domain, Range) Resource의 타입을 기술 (type, Class) Book, Person, Publisher Not Like XML Scheme Resource를 설명하는데 있어 의미 표현을 추가한 것 2009 시맨틱 웹 튜토리얼: RDF 집중분석
25. RDFS example 2009 시맨틱 웹 튜토리얼: RDF 집중분석 Resource <http://example.com/ISBN/xxxx>의 타입(type)은 <http://ex.org/bib/Book> 이다. http://example.com/ISBN/xxxx Source : http://research.talis.com
26. RDFS example 2009 시맨틱 웹 튜토리얼: RDF 집중분석 <http://ex.org/bib/Book>은 <http://ex.org/bib/ArtisticWork> 의 하위 클래스다.
27. RDFS example 2009 시맨틱 웹 튜토리얼: RDF 집중분석 <http://example.com/ISBN/xxxx> 의 타입이 <http://ex.org/bib/Book>이면, 또한 <http://ex.org/bib/ArtisticWork> 의 타입을 갖는다. http://example.com/ISBN/xxxx
28. Domain 과 Range 속성은 Domain(정의역)과 Range(공역)를 가질 수 있다. Domain은 Property의 Subject 의 클래스를 알려준다. Range는 Property의 Object(Value)의 클래스를 알려준다. 2009 시맨틱 웹 튜토리얼: RDF 집중분석
33. Graph를 언어로 표현하기 Turtle a text based format, easy to scribble, easy to read RDF/XML an XML based format, hard to read/write 2009 시맨틱 웹 튜토리얼: RDF 집중분석
34. Turtle – Basic Syntax Triple은 마침표(.) 로 끝을 맺는다. URIs 는 <> 로 감싸서 표현한다. Literal 은 “” 로 감싼다. 약식 URI를 위해 prefix를 사용한다 2009 시맨틱 웹 튜토리얼: RDF 집중분석 <http://example.com/Thing> <http://example.com/relation> “some text” . @prefix ex: <http://example.com> . ex:Thingex:relation “some text” . ex:Thing ex:relation2 “some text2” .
35.
36. RDF/XML Syntax 2009 시맨틱 웹 튜토리얼: RDF 집중분석 example title RDF 개념 및 구문 소개 http://www.dbdb.kr/rdf_tutorial DongBumKim author <RDF xmlns:rdf=“http://www.w3.org/1999/02/22-rdf-syntax-ns#” xmlns:ex=“http://www.dbdb.kr/”> <Descriptionabout=“http://www.dbdb.kr/rdf_tutorial”> <ex:author>DongBumKim</ex:author> <ex:title>RDF 개념 및 구문 소개</ex:title> </Description> </RDF>
39. RDF Main Elements 2009 시맨틱 웹 튜토리얼: RDF 집중분석 <rdf:RDF> Element RDF 문서의 root Element <rdf:Description> Element about속성을 가진 resource를 식별(기술)하기 위해 사용 Resource를 기술하기 위한 여러 Element(title, director, etc)를 포함 <?xml version=“1.0”> <RDFxmlns:rdf=“http://www.w3.org/1999/02/22-rdf-syntax-ns#” xmlns:movie=“http://movie.naver.com/”> . . Description goes here . </RDF> <Descriptionrdf: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> <Descriptionrdf:about=“http://movie.naver.com/2husbands”> <movie:title>아내가 결혼했다</movie:title> … </Description>
43. 2009 시맨틱 웹 튜토리얼: RDF 집중분석 or may be <author> <uri>page</uri> <name>Ora</name> </author> <document> <details> <uri>href=“page”</uri> <author> <name>Ora</name> </author> </details> </document> or may be <document href=“page”> <author>Ora</author> </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” /> 다음 XML이 나타내고자 하는 것은?
44. What is the author of page? 2009 시맨틱 웹 튜토리얼: RDF 집중분석 <v> <x> <y>a=“pppp”</y> <z> <w>qqqqq</w> </z> </x> </v> 위 구문에서 설명하고자 하는 것은 무엇인가? x z y 인가?
45. In RDF Graph 2009 시맨틱 웹 튜토리얼: RDF 집중분석 <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 Ora has author
46. The RDF Graph displays the same thing 2009 시맨틱 웹 튜토리얼: RDF 집중분석 <Description about=“x" y=“z” /> <?xml version="1.0"?> <Description about=“x“> <y =“z” /> </Description> x z y
47. 분산된 데이터의 웹에서 2009 시맨틱 웹 튜토리얼: RDF 집중분석 Ora가 글을 작성했다 Ora가 영화 ‘xxx’에 출연했다 통합문서 Ora는 ‘page’의 저자이고, 영화 ‘xxx’에 출연했다 xxx page Ora has author plays in