 |
| [developer CoD] |
SIOC: 시맨틱 웹 기술을 이용한 커뮤니티 간의 연결 |
 |


|
CoD 신청자: 이영석(zerosuk@hotmail.com)
CoD 신청 내용: Web 2.0의 다음 단계로, 시맨틱웹이 거론되는데 개념만 무성할 뿐 시맨틱웹 기술로 무엇을 할 수 있는지는 잘 알려지지 않고 있습니다. 혹시 실질적으로 활용할 수 있는 분야에 시맨틱 웹 기술이 적용된 예나, 적용할 수 있는 방법이 있다면 소개해주세요.
|
|
난이도 : 중급
2006년 10월 17일
여러분께서 원하시는 주제에 대해 맞춤형 컨텐츠를 제작해드리는 developer CoD(Contents on demand) 첫 번째 기사입니다. 이영석 회원님이 신청하신 시맨틱웹에 대한 실질적인 활용사례를 국내 전문가가 소개해드립니다.
머리말
시맨틱 웹은 기계가 데이터의 의미를 처리할 수 있는 환경을 제공해주는 측면에서 차세대 웹 기술로 주목 받고 있다. 그러나 초기 시맨틱 웹과 관련된 연구/개발은 온톨로지 즉, 추론에 대한 난해하고 연구적인 주제에 집중되었기 때문에 실용적인 사례를 찾기 힘들었다.
이번 문서에서 소개할 SIOC(Semantically Interlinked Online Community)는 시맨틱 웹 기술을 블로그와 같은 웹 애플리케이션에 적용한 사례이다. SIOC는 RDF 기반의 단순한 온톨로지를 이용해 데이터의 의미를 표현하고 관련된 데이터를 연결해 준다.
SIOC이란 무엇인가?
SIOC프로젝트(http://rdfs.org/sioc)는 시맨틱 웹 기술을 이용해 온라인 커뮤니티를 의미적으로 연결하기 위한 시도이다.
커뮤니티(블로그, 게시판) 내에 존재하는 정보는 커뮤니티 참여자에 의해 만들어지고 공유될 수 있지만, 다른 커뮤니티와는 연결되기 힘들다. 또한 커뮤니티 내의 포스트는 링크를 통해 다른 영역의 커뮤니티, 또는 커뮤니티의 포스트와 연결될 수 있지만 단순한 연결에 한정된다. 단순한 연결이란 포스트의 의미에 관계없이 문서에 하이퍼링크만이 추가된 것을 말한다.
단순한 연결을 넘어 의미적 수준에서 커뮤니티를 연결하기 위해 커뮤니티의 특징과 포스트의 세부 내용을 의미적으로 표현하는 것에 대한 요구가 커지고 있고, 그로 인해 부각된 것이 SIOC다.
그림 1에서 나타나는 다양한 커뮤니티는 포스트를 포함하고 있고 다른 커뮤니티를 참조하거나 다른 커뮤니티에 의해 참조될 수 있다. 이 때 커뮤니티는 온톨로지를 이용해 표현된 의미 정보를 기반으로 연결된다.

>그림 1. SIOC 데이터 흐름
>
SIOC 온톨로지, 커뮤니티 간의 관계 표현
SIOC는 커뮤니티 사이의 관계를 표현하기 위한 SIOC 온톨로지와 이를 처리하기 위한 애플리케이션들(SIOC 추출, 검색)로 구성되어 있다.
SIOC 온톨로지는 커뮤니티 구조와 컨텐트를 기술하기 위한 기본적인 어휘 집합이며 RDF/OWL을 이용해 표현할 수 있다. 커뮤니티는 사용자와 목적에 따라 구분되는데 SOIC 온톨로지는 이를 위해 6개의 클래스(Forum, Post, Role, Site, User, Usergroup)와 속성들을 제공하고 있다.
SIOC 온톨로지는 FOAF, RSS 1.0, Dublin Core 등과 같은 메타데이터 어휘 집합을 이용해 확장될 수 있는 유연한 구조를 갖고 있다.

>그림 2. SIOC 온톨로지 >
>
SIOC 온톨로지의 간단한 예를 살펴보도록 하자.
> >//사용자 정보
>Kim Hak Lae
>
>>c008e6bd0d6995e5241e3bcba54bbe0d0b20887a
> >Hak Lae
> >Kim
>
>
>//포럼 정보
>Main blog at sonagi's blog!
>
>
>//포럼 내의 컨텐트 정보
>
> >Wiki와 Blog
>
> >2006-09-18T21:46:40Z
> >@ Zoli Erdos Blogs and wikis are often lumped together, but there is a huge
difference: with a blog, the focus is still largely on communication, whereas using a wiki allows
*creation*. Wikis shine when it’s not the debate/discussion, the individual arguments/comments that
matter, but the synthesis of the collective wisdom.
> >>@ Zoli Erdos
Blogs and wikis are often lumped together, but there is a huge difference: with a
blog, the focus is still largely on communication, whereas using a wiki allows *creation*. Wikis shine
when it’s not the debate/discussion, the individual arguments/comments that matter, but the synthesis
of the collective wisdom.
]]>
>
>
>
>
> |
위의 온톨로지 예에서 sioc:User는 커뮤니티 사용자를 표현하기 위한 클래스이며, URI “http://www.blogweb.co.kr/?author=1 »의 사용자 정보를 sioc:name, sioc:email 속성을 이용해 표현하고 있다. sioc:Forum은 커뮤니티의 유형을 말하며 메일링 리스트, 게시판, 블로그, 유즈넷 등이 예가 될 수 있다.
sioc:Post는 포럼(Forum)에 출판된 메시지 또는 목록 등을 말한다. 예를 들어, 블로그를 SIOC로 표현한다면 sioc:Forum이 특정 블로그로, 블로그의 포스트는 sioc:Post로 표현할 수 있다. 또한 객체(http://www.blogweb.co.kr/?p=103)는 포럼 ”http://www.blogweb.co.kr/index.php?sioc_type=site#weblog”에 포함된 내용이며, 생성된 날짜와 컨텐트 정보를 갖고 있다.
어떻게 동작하는가?
SIOC은 커뮤니티에 있는 데이터를 SIOC로 생성하여 RDF로 저장하고 검색 기능을 제공한다. SIOC 인터페이스는 SIOC 데이터를 생성하기 위한 기능을 포함하는데 커뮤니티 매체에 따라 형태가 다를 수 있다. SIOC 데이터는 기본적으로 RDF로 표현되며 SPARQL을 이용해 트리플 구조를 검색할 수 있다.

>그림 3. SIOC 아키텍처 >
>
SIOC Exporter 툴 설치
SIOC을 사용하기 위한 첫 단계는 Exporter 툴을 설치하는 것이다. SIOC는 Wordpress와 Drupal을 위한 플러그인을 제공한다.
Wordpress에 SIOC Exporter를 설치하는 방법은 다음과 같다.
- Wordpress의 wp-content/plugins/에 sioc.php와 sioc-include.php를 복사한다
- WordPress의 Admin 계정을 통해 Plugins 메뉴에서 SIOC Plugin을 활성화(Activate) 시킨다.
Exporter 툴이 설치되면 SIOC Browser를 통해 자동으로 생성된 SIOC 데이터를 살펴볼 수 있다. SIOC 브라우저는 URI를 통해 SIOC 데이터를 검색할 수 있는 기능을 제공한다. SIOC 브라우저를 통해 생성된 정보는 W3C RDF Validator를 통해 유효성을 검증할 수 있다.

>그림 4. SIOC 브라우저 >
>
Semantic Radar 설치
Semantic Radar(http://rdfs.org/sioc/firefox)는 RDF 메타데이터의 링크를 자동적으로 검색해주며 Mozilla/Firefox의 확장(extension) 툴이다.
Semantic Radar는 시맨틱 웹 핑 서비스(Semantic Web Ping Service)를 이용해 웹 페이지를 SIOC, FOAF, DOAP와 같은 시맨틱 웹 메타데이터에 연결하기 기능을 제공한다. Semantic Radar를 설치하고 브라우저를 재시작하면 하단의 상태 바에 다음과 같은 아이콘을 볼 수 있다. 아이콘을 클릭하면 자동적으로 SIOC 브라우저로 연결된다.

>그림 5. Semantic Radar >
>
마치며
SIOC는 블로그, 포럼, 메일링 리스트와 같은 커뮤니티를 상호 연결할 수 있는 방법을 제공하며 시맨틱 웹 기술인 RDF를 이용해 온톨로지를 표현하고 SPARQL 기반 질의를 지원한다. SIOC 온톨로지는 단순하지만 확장 가능한 형태를 갖고 있기 때문에 FOAF와 같은 RDF 메타데이터와 결합하여 다양한 서비스를 제공할 수 있다.
복잡하지 않은 형태의 온톨로지는 웹 애플리케이션을 위한 필수조건이다. 사용자가 메타데이터를 입력하거나 생성하는데 많은 시간을 투자하지 않기 때문이다. SIOC는 의미적 메타데이터를 생성하기 위해 사용자의 추가적인 노력을 요구하지 않는다. SIOC 온톨로지는 사용자가 작성한 컨텐트를 SIOC Exporter를 통해 자동적으로 생성하며 RSS, FOAF와 같은 RDF 메타데이터와 결합될 수 있다.
SIOC 프로젝트에서는 블로그 뿐만 아니라 오픈포럼, 게시판 형태로 존재하는 컨텐트를 SIOC 온톨로지로 생성할 수 있는 애플리케이션들을 제공할 예정이다. SIOC 온톨로지를 기반으로 온라인 커뮤니티는 가상의 포럼 형태로 통합될 수 있다.
SIOC 프로젝트는 시맨틱 웹 기술을 웹 애플리케이션에 적용하기 위해 단순하고 확장 가능한 방법을 제공하고 있으며 이는 향후 시맨틱 웹 기술을 이용한 애플리케이션 개발에 중요한 시사점을 주고 있다.
참고 자료
- SIOC 프로젝트 사이트
- SIOC ESW Wiki
- U. Bojars, J.G. Breslin, A. Passant, "SIOC Browser - Towards a Richer Blog Browsing Experience", Accepted for the 4th Blogtalk Conference (Blogtalk Reloaded), Vienna, Austria, October 2006.
dW의 관련 기술 자료
- SOAP과 RDF (한글)
- 웹 서비스의 단점 (한글)
필자소개  | |  |
 김학래 sonagi,kim@gmail.com
DERI(Digital Enterprise Research Institute Galway, Ireland)의 연구원으로, 시맨틱 웹, 웹 2.0, social network, 지식경영 등에 관심을 갖고 연구하고 있다. 현재 DERI Lion, Nepomuk 프로젝트를 수행하고 있다. |
|