시맨틱 웹, 그리고 링크드 데이터

링크드 데이터는 2006년 웹의 창시자이자 시맨틱웹의 창시자인 Tim Berners-Lee의 Linked Data Design Issue(http://www.w3.org/DesignIssues/LinkedData.html)를 통해 처음 소개되었다. 2009년을 거치면서 몇몇 성공적인 링크드 데이터 구축사례를 통해 (특히, data.gov.uk의 덕분에) 매우 급속하게 시맨틱 웹 진영에 퍼지게 되었고, 아마도 링크드 데이터의 실현이 시맨틱 웹이라는 기술의 성공 여부를 가늠하게 될 것 같다.
그런데, 시맨틱 웹도 잘 모르는데 링크드 데이터라니? 게다가 심심치 않게 데이터 웹, 또는 Web of Data라는 용어까지 등장한다. 각각의 개념과 그 관계를 어떻게 정리할 수 있을까?

2001년에 Tim Berners-Lee, Ora Lassila, 그리고 Jim Hendler가 쓴 유명한 시맨틱웹에 관한 논문 “The Semantic Web”(Scientific American, May 2001)에서 시맨틱웹은 다소 이상적으로 보인다. 데이터의 의미를 알아서 해석하고 이에 따라 자동화된 처리를 알아서 수행하는 웹 에이전트로 그려지는 시맨틱 웹에 대한 개념은 매우 추상적이다. RDF라는 시맨틱웹 표준은 데이터베이스 라는 관게형 데이터 모델에 갇혀 있는 사람들에게 그래프 모델의 확장성과 다양한 데이터의 통합 능력이라는 장점을 이해시키기 어려웠고, 다른 한편으로는 OWL이 가지는 추론 능력에 대한 지나친 기대가 오히려 시맨틱웹은 너무 어렵다는 인상을 낳게 했다.

그런 상황에서 맨 처음 시맨틱웹을 주창했던 Tim Berners-Lee를 비롯한 연구자들은 시맨틱웹이 가진 원래의 목적과 장점을 부각시킴으로써 어떻게 시맨틱웹을 현실화 시킬 것인가 고민했고, 그 대안으로서 Linked Data를 제시한 것이다.

[시맨틱웹은 연결된 데이터(linked data)의 웹이다]

Linked Data Design Issue에서 밝힌 Linked Data의 네가지 원칙을 보면 Linked Data란 무엇인지 파악이 가능하다.

‘Linked Data’의 네가지 원칙

1. 개체를 식별하기 위해서 URIs(Unique Resource Identifiers)를 사용한다.
2. 이들 개체가 이용자에 의해 참조하거나 참조되기 위해 HTTP URIs를 사용한다.
3. URI가 참조되었을 때 그 개체에 대한 유용한 정보를 제공한다.
4. 웹상에서 관련 있는 다른 정보를 발견하기 위해 데이터 내에서 다른 개체로의 링크를 포함한다.

즉, 실세계의 사물(thing)에 대응되는 웹 상의 개체(entity)에 URI를 부여하고 이에 대한 디스크립션(메타데이터, 또는 설명)을 기술한 후, HTTP를 통해 접근할 수 있도록 발행함으로써 HTTP URL과 유사한 방식으로 URI에 대해 “http://~~~”라고 웹에서 요청(request)을 보내면 해당하는 유용한 정보를 리턴하는 것이다.

곧, 이전의 웹에서의 HTML document -> RDF data 로, URL -> URI 로, 단순 링크는 다양한 의미적 속성(property)를 가진 링크로 바뀐 것이다. 이렇게 HTML이라는 문서가 아니라 RDF라는 형식으로 된 데이터는 그 의미를 구별하게 됨으로써(HTML 태그가 아니라 RDF 디스크립션을 통해서), 기계가 이해가능한(machine-readable) 데이터가 되는 것이다.

“시맨틱웹은 단지 데이터를 웹으로 제공하는 것이 아니라, 데이터 간의 링크를 만듦으로써, 인간이나 기계 모두 데이터의 웹을 탐험할 수 있도록 해준다. Linked data를 통해 유용한 데이터를 얻게 되면, 그 데이터에 관계된 데이터로 계속되는 항해가 가능하다.” – Tim Berners Lee, Linked Data Design Issue

TBL의 동료이자 data.gov의 시맨틱 웹 프로젝트(http://www.data.gov/semantic/index)를 이끌고 있는 Jim Hendler의 블로그 포스트(http://blogs.nature.com/jhendler/2010/06/01/linked-open-government-data-and-the-semantic-web)에서 Jim은 시맨틱 웹의 목적은 “현재의 문서 웹과 유사한 ‘데이터의 월드 와이드 웹’을 만들기 위해 웹 상의 데이터베이스들을 서로 연결(link)시킬 수 있는 시스템을 만드는 것”이라고 분명히 밝히고 있다. 그러므로, 링크드 데이터는 원래의 시맨틱 웹의 목적인 “데이터의 웹”을 실현하기 위한 더욱 구체화된 방법이고, 수단이며, 기술이다.

링크드 데이터 < 데이터의 웹 <= 시맨틱 웹?


지난 SemTech 2009에서 Alexandre Passant[1]가 발표한 자료에서는 다음과 같은 그림을 통해 이들 간의 관계를 설명한다. 데이터의 웹은 시맨틱 웹과 정확히 일치하는 같은 개념은 아니며, 포함관계로 설명할 수 있다. 앞에서 말했듯이 링크드 데이터는 데이터의 웹을 구현하기 위한 기술이며, 방법으로서 그 구성요소라고 할 수 있다.

데이터를 기계가 이해가능하도록 RDF화 하고 공통의 어휘(common vocabularies- 예를 들어, SKOS, DBPedia, FOAF 등)이용해 데이터를 디스크립션하고,서로 연결(link)한다. 웹으로 발행함으로써 데이터를 웹에 공개한다. 이러한 링크드 데이터 원칙에 따라 Linked Open Data(LOD, 즉, data cloud)가 형성된다. 이것이 바로 데이터가 거미줄처럼 얽히는 (시맨틱) 데이터의 웹 세상이다.

이러한 데이터의 웹 세상이 되면 내가 만든 데이터 뿐만 아니라 남이 만든 데이터도 링크를 통해 재사용이 가능하다. 따라서 다양한 데이터를 융합한 새로운 데이터를 쉽게 만들어 낼 수 있다(mashup). 이렇게 융합된 데이터는 또다시 웹을 통해 공개되고 발행된다. 이것이 바로 시맨틱 웹이 꿈꾸는 디지털 데이터의 생태계이고 유통환경이다. 그러한 시맨틱 데이터의 생태계가 조성된다면, 한편에서는 시맨틱 데이터를 이용해서 기계와 기계 간의 데이터가 자유롭게 교환되고, 온톨로지 및 규칙 기반의 추론을 통해 그 의미가 해석되고 처리됨으로써 자동화된 서비스로 우리에게 제공되는 궁극적인 시맨틱 웹 세상, 진정한 유비쿼터스 세상이 도래하지 않을까?

[references]

1. Tim Berners-Lee, “Design Issues: Linked Data“, 2006, http://www.w3.org/DesignIssues/LinkedData.html
2. Tom Heath, “Linked Data? Web of Data? Semantic Web? WTF?http://tomheath.com/blog/2009/03/linked-data-web-of-data-semantic-web-wtf/
3. Passant, Alexandre, Tummarello, “Hello, Open Data World!”, Giovanni SemTech 2009, T2_MON_0830_Passant_Alexandre_Tummarello_Giovanni_Color.pdf
4. Jim Hendler, “Linked Open Government data and the Semantic Web”, http://blogs.nature.com/jhendler/2010/06/01/linked-open-government-data-and-the-semantic-web

Advertisements

Open, Linked Data for a Global Community: Berners-Lee at Gov 2.0 Expo 2010

Gov 2.0 Expo 2010에서 Tim Berners-Lee의 Linked Data에 대한 발표가 있었습니다.


LinkedOpenData

 http://artofsystems.blogspot.com/2009/03/linked-data-end-user-applications.html

 

Linked Data: End-User Applications?

LinkedData는 웹에 데이터를 퍼블리쉬하는 데 있어 거시적 시맨틱웹(big-Semantic Web) 기술을 어떻게 사용할 것인지에 대한 합의된 규칙(common sense rules)이다.

 

  • RDF로 데이터를 퍼블리시
  • HTTP URI를 사용해서 RDF 데이터에 있는 리소스에 이름을 붙이기
  • URI를 역참조(dereferencable)할 수 있게 만들고
  • 표준 스키마 언어(OWL) 을 이용하는 것.

 

Linked Data는 최근  비로소 시맨틱웹의 실제적인 버전을 가진 한 종류로서 추진력을 받게 되었다. 상대적으로 적은 노력으로 퍼블리시 된 데이터의 양이 많아졌지만, 실험실 외부에 존재하는 그 데이터를 사용하는 애플리케이션은 그리 많지 않다.

 

반면에 기업에서 Linked Data를 사용한 예가 있는데, BBC에서 하고 있는 몇가지 작업들(http://blogs.talis.com/nodalities/2009/01/building-coherence-at-bbccouk.php)이 바로 그것이다.

 이 포스트는 Linked Data의 장점을 취하는 현실적인 End-user 애플리케이션에 대한 것이다. “real”이 의미하는 것은 이용자가 자신의 데스크탑이나, 또는 핸드폰, 웹 브라우저등에서 풍부한 유저 인터페이스를 통해 어떤 태스크를 할 수 있게되는 것을 의미한다.

몇번의 trial-and-error를 통해 다음과 같은 사항들을 정리해 보았다:

  • 애플리케이션이 고정된 데이터 셋 이외의 것을 다룰 수 있도록 만들어지는지?. 예를 들어 Marbles같은 브라우저는 모든 가능한 Linked Data를 네비게이트할 수 있는 반면, 다른 시스템은 내부의 데이터로 한정된다.
  • 링크가 이용자에게 보여질 수 있는지? 예를 들어, 일반적인 브라우저는 이용자가 링크를 보고 다른 곳으로 이동하기 위해 선택할 수 있다. 한편, 소셜 네트워크 브라우저는 자동적으로 FOAF 네트워크를 어떻게 확장할 것인지 선택할 수 있고 여러 정보원으로부터 온 데이터를 포함하는 요약 뷰를 보여 준다.
  • 추론이 중요한지?? 즉, raw data를 이용자에게 제시할 것인지 아니면 추론을 사용해서 새로운 트리플을 생성(또는 필터링)할 것인지?

 

 

  • 추론에 대해서 : 새로운 트리플을 융합할 것인지?{Yes, No}
  • 네비게이션? {user-visible links, invisible links}
  • 확장성? {Yes, Somewhat, NO} 다른 온톨로지 fragment와의 조합(온톨로지를 완전히 이해하지 못하더라도)

 

 “National Register Radar”라는 iPhone 애플리케이션 – 지리적 위치와 U.S. National Register of Historic Places Database의 Linked Data 버전을 이용하여 이용자가 자신 주변의 장소에 대한 역사에 “상황적 인식(situational awareness)”를 가지도록 도와주는 애플리케이션으로 특정 종류의  Linked Data인 hardcoded 지식을 사용하며 low-level 링크는 감추며 summary view를 제공하면서 추론은 하지 않고 발견한 데이터만 제시함.

저자는 초기 버전인 이러한 애플리케이션의 개발을 위해서는 하드코딩이 필요하며(특히, non-x86 프로세서와 non Java 기반의 모바일 기기에 대한 고려가 필요하다고) external library가 요구된다고 주장. 특히 휴대폰에 탑재된(on-phone) 트리플 스토어나 Sparql 쿼리는 필요하지 않으며 전통적인 애플리케이션 개발 기법이 적용된다고 함.

저자는 Linked Data가 End-User 레벨 보다는 기업내부의 인프라스트럭처가 될 것이라고 전망.

 

이 글은 스프링노트에서 작성되었습니다.