아카이브/ICT

▶ICT노트 :: Linked Open Data(LOD) 이해하기

비주얼라이즈 2015. 2. 6. 12:16



▶ICT노트 :: Linked Open Data(LOD) 이해하기


이번글에서는 '오래된 미래'라고 불리는 Linked Open Data(LOD)에 대해 살펴보고, 그를 이루고 있는 기술구조는 어떤 것들이 있는지 최대한 '쉽게'살펴보고자 한다.





Sematic Web과 Semantic Interoperability


LOD의 내용을 살펴보기에 앞서 간략하게나마 꼭 살펴보아야하는 개념들이 몇가지 있다. '이런게 있구나'정도의 내용만 정리한 것이니 용어들을 보고 기죽지말자.





Semantic Web


시맨틱웹. LOD내용을 이야기하면서 빼놓을 수 없는 개념이라고할 수 있다. 대충'아~'하면서 넘어갈 수 있지만, 앞으로 매번 그럴수만은 없으니 간단히 사전적정의정도만 살펴보기로 하자.


위키백과에 따르면 시맨틱웹이란 '의미론적인 웹'을말한다. 조금 더 쉽게 풀어말하자면, 온갖 정보들(문서파일, 영상파일,음악파일, 서비스데이터 등)이 분산되어있는 웹의 환경속에서 이러한 정보들을 '의미'를 기준으로 일정형태의 온톨로지 형태로 표현하자는 개념이다. 이로써 연관정보들끼리 연결되도록 하는 것이 가장 큰 목적이라고 할 수 있다. 



사진: 위키백과에 정의된 'semantic web'의 정의를 워들로 시각화했다.  웹의 창시자'Burners-Lee'의 이름도이고, 표준을 정의하고있는 'W3C', 그리고 'data'등의 단어가 눈에띈다. 이러한 사진으로 인해 대략적으로나마 시맨틱웹에 대해 가늠해 볼 수 있을 것이다.


사실 연관정보라는 것이 이전에 존재하지 않았냐 하면 그건 아니다. 네이버에 검색만해도 연관검색어가 표시되는 세상에서 이 "연결성을 찾자"라는 개념이 새롭게 느껴지지 않을 수 있다. 그러나 시맨틱웹, 그리고 살펴보게될 LOD에서 이야기하는 '연결'이란, 지금보다 더 나은 연결을위해 한가지 노력이 더 필요하다고 말하고있다. 




우리가 웹에서 자유롭고 싶다면, '컴퓨터'를 배려해주어야한다.


시맨틱웹, 그리고 LOD에서 강조하는 것은 팀 버너스리가 말했던 것처럼, 그동안은 온갖정보를 웹상에 올렸다면, 이제는 올리고자하는 정보에 어느정도 약속된 형태의 정보를 함께 표현하자는것이다. 







Semantic Interoperability란?


사전적인 뜻은 시맨틱 정보처리상호운영의 가능성이다. 조금더 쉽게 풀어서 이해해보자면, 특정 대상에 대한 기계들 간 동일한 코드를 사용하는 것이다. 이것은 각 기계들이 같은 포인트를 가지고 있어야 가능하다.



이것을 가능하게 만드는 기술들


온톨로지(Ontology) : 온톨로지는 어떤 기계가 특정 개념이나 대상에 대해 동의하고 동일한 포인터를 갖고있는 것을 말한다.


우리가 사용하고있는 핸드폰 번호를 생각해보자 아마 대부분의 사람들이 '010 -XXXX-XXXX'의 형태의 번호를 가지고있을 것이다. 우리는 이렇게 동일한 휴대폰번호를 가지고있기때문에, 휴대폰인증이나 결제에서도 동일한 방법으로 서비스를 이용하고 있다.




시맨틱 주석(Sematic Annotation) : 말그대로 시맨틱 기술을 적용한 주석을 다는 것을 말한다. 이것은 앞서말한 온톨로지의 vocablary에 의해 이루어진다.




Reasoning : 이것은 현재 하고 있다고 말하기는 힘든 단계이다. 앞서 말했던 온톨로지(Ontology)와 시맨틱주석(Semantic Annotation)을 통해 이르는 단계로서, 연결된 '지식'들로 인해 지능적인 움직임을 이뤄낼 수있는 단계를 의미한다. 


'Reasoning'은, 아직 언제라고 확실히 말할 수 있는 시점은 아니지만, LOD가 도달하고자하는 목표점이라고 볼 수 있을것이다.




Linked Open Data 에서의 표준의 종류







이름 그대로 LOD는 '연결'이 갖는 의미가 크다. 


다른 분야에서와 마찬가지로 LOD세계에서도 자신이 표준이라고 주장하는 곳이 굉장히 많다. 표준이 되면 그러지 못할때보다 훨씬 더 많은 이점이 생긴다. 이것은 공식적인 표준의 종류는 아니고. LODAC 2015에서 이명진 박사가 정리한 내용이다.



Linked Open Data에서 "강한 표준"이란


이명진(2015)은 LOD에서의 강한 표준으로 "Linked Data를 구출하고 활용하기 위해 기본적으로 지켜야하는 W3C의 표준들"이라고 설명했다. 이 내용에 대해서는 W3C 공식페이지에서 직접 확인할 수 있다.



[ Picture : W3C에서 이야기하는 LINKED DATA : http://www.w3.org/standards/semanticweb/data ]







Linked Open Data에서 "약한 표준"이란


그다음으로 LOD에서의 약한 표준이란 것에 대해 이명진(2015)은 " 용어집과 같이 필수적으로 지켜야 하는 것들은 아니지만 활용성을 높이기 위해 지켜야 하는 표준들"이라고 설명했다. 




우리는 '산'이라고 말하지만, 영어권 국가에서는 'Mountain'이라고 말한다. 이러한 상황에서 우리가 연결하기위해 굳이 산을 mountain이라고 부를 필요는 없다. 다만, 이러한 콘텐츠에대한 vocablary를 작성할 때에는 산과 mountain 모두를 연결지어주는 것이 바람직하다.







기술적 아키텍쳐 관점에서의 LOD의 표준



Picture : Linked Data를 Semantic web의 하위카테고리안에서 설명하고 있는 W3C의 페이지 모습 

주소는 : http://www.w3.org/standards/semanticweb/data 



LOD(Linked Open Data)라는 것은 기본적으로 '시맨틱웹(Semantic Web)'이라는 거대한 패러다임 속에 속해있다. 앞서 살펴봤던 W3C에서도 LOD는 시맨틱의 하위카테고리로 다뤄지고 있다. 그렇다면 우리는 LOD을 이해하기위해 드넓은 시맨틱웹이라는 개념과 흐름에 대해서 알아야하는 것일까?





시맨틱웹은 어렵다. 정말 다행스럽게도, LOD2014에서 "LOD는 시맨틱웹만큼 어려운것이 아니다."라는 언급이 많았다. 


정말 다행스럽게도, 우리가 LOD를 이해하기 그정도 까지의 괴로움이 있는 것은 아니다. 분명 LOD가 시맨틱웹이라는 거대한 패러다임 속에 속해있지만, 그중에서도 진짜 우리가 접할만한, 활용할만한 부분부터 야금야금 이해해나가면 된다.




위 사진은 Semantic Web Standard를 기준으로 두고, 이번 LOD를 이해하기위해 '먼저'살펴보아야하는 부분을 표시한 것이다. 이 중에서 OWL도 사용정도에 따라 선택적이라고 한다. 일단 눈에 보이는 대로만 받아들여도 부담의 절반은 사라진 셈이다.



Linked Open Data의 필수개념  URL(Uniform Resource Identifier)


LOD를 활용하거나, 이해하기위해서는 필수적으로 이해해야 할 개념들이 몇가지 있다. 




URI는 위 사진 속에서 설명한대로 "무언가를 식별하기 위해 사용하는 것"들을 의미한다. 우리가 웹상이 아닌 현실세계에서 개인별로 하나씩만 부여된 주민등록번호를 가지고 자신을 증명하듯이, URI도 웹상에서 무언가를 시별하기위해 사용되는 값들을 의미한다.









Linked Open Data의 필수개념 ② XML(Extensible Markup Language)


두 번째로 알아야할 내용은 XML이다. 개발자 또는 개발에 조금이라도 관심이 있는사람이라면 한번쯤 들어봤을 XML. 여기서 이야기하고자하는 것은 XML의 함수식은 아니다.




비개발자인 분들을 위해 함께 적자면, XML은 다른 언어에 비해 "사람과 컴퓨터가 함께보기위해 만든 형식"이라고 할 수 있다.










Linked Open Data의 필수개념 ③ RDF(Resoruce Description Framework)


세 번째는 RDF에 대한 개념이다. 여기서 말하는것은 우리에게 익숙한 'PDF'가 아니다. 




LOD에서의 'RDF'는 쉽게 말해 "무엇인가에 대해 SOV(주어, 목적어, 동사)로 설명하는 부분을 말한다. 이를 통해 각 개체에 대한 정보를 기술하게 된다.


RDF Serialization 의 종류에는 4가지가 있다. 이것은 기계가 처리하기위한 로테이션 방법들을 의미하며, LOD를 이해하고자하는 단계라면 이 내용은 건너띄어도 된다.



RDF Serialization의 종류


- N-Triples

- Notation 3

- Turtle

- RDF/XML






Linked Open Data의 필수개념 ④ RDFS(RDF Schema)


우리가 무언가를 프로그래밍 할 때 특정 형태의 클래스들을 만들어 사용하는 것처럼 RDFs는 이러한 일정 형태의 '그릇'을 만드는 역할을 수행한다. 이러한 점은  OWL(Web Ontology Language)와 동일하다. OWL은 RDFS보다 자세한 사항들을 처리할 수 있지만, 기본적인 개념을 활용해 LOD를 접하고자하는 사람들은 RDFS만 이해해도 충분하다. 




OWL에서 곱셈을 하지않아도 RDFS에서 덧셈을 여러번 해버리면 되기 때문이다. LOD를 활용해 응용서비스등을 개발하고자하는 경우처럼, 전문적인 지식이 필요할경우 OWL까지 섭렵하는 것을 추천한다고 한다.








Linked Open Data의 필수개념 ⑤ R2RML


이 R2RML은 RDB(데이터베이서)의 데이터를 RDF형태로 바꾸어주는 랭귀지라고 할 수 있다. 이와관련해서도 특정형태의 표준형태가 존재한다. W3C에서도 이에대해서 기준을 제시하고 있다.




사진 : W3C에서 확인할 수 있는 R2RML에 대한 프로세스과정 , http://www.w3.org/TR/2012/REC-r2rml-20120927/



위 사진을 보고 호기심이 생기는 직종이 아니라면, 굳이 읽을 필요는 없다. R2RML이라는 이름에서 2가 'to'를 의미한다는 점을 기억하고 무엇을 무엇으로 바꾸는 것이구나. 라는 정도만 먼저 이해하고 넘어가도 좋다.







LOD에 관한 꽤 많은 것을 봤다. 머리가 아파온다. 새로운개념을 배운다는 것은 항상 쉬운일이 아니다. 그래도 조금만더 조금만 더 하면 도움을 얻을 수 있는 곳이 많다. 이번 LOD 2015에서, 이명진(㈜리스트 이사)님께서 'LOD세계'에 처음 접하는 사람들을 위해 친절하게도 단계별로 이해해야하는 내용들을 나누어 주셨다. 



- 서비스 제공자 관점에서의 표준

- 응용서비스 개발자 관점에서의 표준


이에대해서는 다음 글에서 따로 정리해보도록 하겠다.




참고자료


"Linked Open Data Annual conference[LODAC] 2015 - Open Data, Linked Open Data", 국립중앙도서관, 2015.2