Semantic + Web 따로 보지 말아줘요~!
얼마전에 재밌는 자료를 하나 접했습니다.
- Semantic Web for Dummies (바보도 알 수 있는 시맨틱웹)
2번째 페이지에 아래와 같은 내용이 나옵니다.
XML customised tags, like:
<dog>Nena</dog>
+ RDF relations, in triples, like:
(Nena) (is_dog_of) (Kimiko/Stefan) RDF는 이런 관계를 나타내고
+ Ontologies / hierarchies of concepts, like:
mammal -> canine -> Cotton de Tulear -> Nena 온톨로지는, 개념들간의 계층관계를 나타내며
+ Inference rules like:
If (person) (owns) (dog), then (person) (cares_for) (dog) 추론이라는 건, 결국 이렇게 작동한다라는..
= Semantic Web
- 맙소사! 이런 관점이야 말로, 우리가 피해야할 전형적인 오류라고 할 수 있습니다. 왜 그런지를 이제부터 논해보죠
지식 표현의 관점 - "Semantic" web
- 앞서 말한 내용은 맞습니다. 아주 잘 정리해주었네요. 예, 그런데 딱 절반만 맞는 거지요. 이런 논리는 Semantic이라는 부분. 즉, 정보의 의미를 잘 정형화된 데이터 포맷으로 쓰는게 중요하다! 라는 주장을 내세웁니다. 이 논리를 깊이 파고들면, 결국 지식표현(Knowledge Representation)의 관점에 빠져들게 됩니다. 정보를 잘 구성해서, 지식으로 표현하고, 그러면 그 지식이 우리를 이 정보의 홍수속에서 구원해줄거야! 라는...
- 문제는 많은 사람들이, 이런 지식표현의 관점에 얽매여 있다는 점입니다. 그래서 어떻게 하면, 온톨로지를 "잘" 구축할까 라던지. 데이터 포맷은 어떠야한다는지와 같은 이야기에만 집중하지요. 하지만, 어느 세월에 이 온톨로지를 전부 구축할까요? 사실, Semantic Web의 위력은 'Semantic'이란 관점이 아닌 다른 곳에 있습니다.
- 이제는 지겨운 Semantic Web Layer Cake
웹의 관점 - semantic "Web"
- 예, Semantic Web은 본디, 우리가 사용하는 World Wide Web을 목적으로 하고 있습니다. 그래서 여기서는 정반대의 가정을 합니다. 데이터를 얼마나 의미있게 기술하느냐는 중요하지 않습니다. 대신, 데이터들이 '공통의 구조'로 이리저리 연결될때의 가능성에 주목을 하고 있지요.
- RSS나 요즘 화제가 되는 FOAF같은 데이터 형식을 보신 분은 아시겠지만, 정말 단순합니다. 단순한 의미를 미리 약속해놓고, 같이 쓰는 것에 불과하죠. 하지만 그 위력은? 몇 가지 예를 들어보죠.
-
- RSS라는 간단한 포맷을 통해서, 우리는 정보를 자유롭게 구독하고, 필터링할 수 있게 되었구요
-
- FOAF를 통해 표현된 Social한 정보들을 통해, 나와 다른 Social Network 서비스를 이용하는 친구들과도 자유롭게 소통할 수 있게 되었습니다
-
-
- 앞서 언급된 Google의 Social Graph API 가 그 좋은 사례이구요
-
- Spokeo나, FriendFeed같은 서비스들도, 이런 표준 데이터가 확산되면 될수록 더 힘을 얻을 것입니다.
-
-
- 내 게시판과 니 블로그를 묶으면 재밌어질텐데.. 블로그나 게시판의 내용을 SIOC으로 엮어보세요. 가상 게시판이 뚝딱 탄생합니다 :)
- 여기서 말씀드린 데이터 포맷들은 하나의 사례에 불과합니다. 꼭 이런게 만능이 아니라, 요런 간단한 형식으로 정의된 데이터들이 이리저리 연결되면 될수록, 무한한 가능성이 생긴다는 이야기이
- 죠. 앞의 관점처럼, 멋진 온톨로지를 구축하지 않고, 그저 데이터끼리만 연결해도 이미 멋진 결과물이 나오거든요.
- 6단계만 거쳐도 모든 사람을 다 만날 수 있는, '연결'이 가진 가능성
따로 보지 말아줘요 - Linked Data
즉, 핵심은 무엇일까요? Tim Berners Lee가 처음에 말했던, Linked Data가 그 해답이라고 할 수있습니다. 정보를 '문서 뭉치(Documents)'가 아니라, 의미있는 URI로 잘게 나누어서 공개하세요. 그리고 그 URI가 가리키는 데이터들이 자유롭게 연결될 수 있도록 하세요. 그런 데이터의 연결. 그것이 바로 Semantic Web으로 가는 열쇠라는 얘기입니다. Semantic 과 Web을 따로 보는 것이 아니라, Web이라는 특수한 환경에서 Semantic을 바라봐야 하는 것이죠.
그럼 이런 Linked Data의 관점에서 Semantic Web을 구축하려면 어떤 규칙을 따라야 할까요? Semantic Web .. in a Nutshell이라는, 이번 글의 화두가 된 글에서는 다음과 같은 지침을 알려주고 있습니다.
Semantic Web 구축에 필요한 5가지
-
모든 사물을 표현할 수 있는 일관된 작명 방법 (A uniform naming scheme)
- HTTP URI를 사용하면 되구요
-
이런 사물간의 관계를 표현할 수 있는 데이터 모델
- RDF면 충분합니다. RDF에 대해서는 다음 글에 자세히 다루도록 하지요
-
이 데이터 모델을 통해 정보를 표현할수있는 포맷
- RDFa, Microformat 같은 형식을 통해 HTML에 직접 그런 정보를 표현할 수도 있구요
- 어떤 형태의 XML이라도, GRDDL과 같은 기술로, RDF로 변환할 수 있습니다
- 즉, Semantic Web의 혜택을 얻기 위해, 새로 애플리케이션을 구축할 필요는 없다는 이야기입니다.
-
이런 데이터들간의 관계를 찾을 수 있는 프로토콜
- HTTP면 충분하구요
-
위 조건들을 만족시키위한 도구
- 아직 Semantic Web을 위한 개발자 도구는 미약하기만 합니다. 아직 API 나 도구모음은 있으되, 편하게 쓸 수 있는 Framework가 없는 실정이라고 할까요? 이런 도구들이 점차 들어나면, 개발자들도 간단한 작업만으로 위 요건에 맞게 애플리케이션을 개발할 수 있을겁니다. ActiveRDF라는 Ruby 기반의 재밌는 프레임워크가 있는데, 나중에 다루기로 하지요
참 쉽죠?
- 따지고보면, Semantic Web은 그리 어려운 이야기가 아닐지도 모릅니다. 어려운 온톨로지를 몰라도 되구요. 복잡하게 애플리케이션을 새로 작성할 필요도 없습니다.
-
- 데이터들이 잘 연결될 수 있게 설계하고
-
- 그때 미리 정의된 형식을 조금 가져다 써주면 되는 것이지요
- 어떻습니까? 참 쉽죠? (Bob Ross 아저씨 톤으로 ^^) 아직 쉽지 않은 이야기라면, 더 쉽게 풀어나가보겠습니다. 바로 그것이 이 팀 블로그의 목적중 하나일테니까요. 데이터가 이러저리 연결되고, 의미없는 문서뭉치가 아닌, 내가 찾고 싶은 데이터를 콕 찝어 찾을 수 있는 세상. 이야기는 이제부터 시작입니다 ^^
- 나 아직 죽지 않았어~ 기다려봐~ 이야기는 이제부터 진짜 시작이라구~ 후훗~!
History
Last edited on 03/09/2008 00:01 by 험블
Comments (0)