Korean Institute of Information Technology
[ Article ]
The Journal of Korean Institute of Information Technology - Vol. 16, No. 9, pp.95-102
ISSN: 1598-8619 (Print) 2093-7571 (Online)
Print publication date 30 Sep 2018
Received 16 Jul 2018 Revised 13 Sep 2018 Accepted 16 Sep 2018
DOI: https://doi.org/10.14801/jkiit.2018.16.9.95

링크드 데이터 기반 저장/응용 플랫폼 및 분석 시스템 시각화 구현

정은미* ; 이용주**
*경북대학교 IT대학 컴퓨터학부
**경북대학교 IT대학 컴퓨터학부 교수
Linked Data based Storage/Application Platform and Implementation of Analysis System Visualization
Eunmi Jung* ; Yongju Lee**

Correspondence to: Yongju Lee School of Computer Science and Engineering, Kyungpook National University, 80, Daehak-ro, Buk-gu, Daegu 702-701, Korea Tel: +82-53-950-7285, E-mail: yongju@knu.ac.kr

초록

링크드 데이터는 기존의 Open API 서비스들과는 달리 웹 그 자체를 거대한 데이터베이스로 간주하여 수준 높은 쿼리를 수행할 수 있으며, 서로 다른 소스로부터 서로 다른 자원들을 융합하여 새로운 가치의 콘텐츠를 만들 수 있다. 본 논문에서는 링크드 데이터 생명주기 관련 기술에 맞는 저장⋅검색⋅활용서비스 플랫폼을 제안하였다. 특히 본 연구에서는 1개 영역의 융합 콘텐츠 시범서비스를 선정하고(예, 대구 음식점) 이에 대한 도메인 온톨로지를 설계하고 링크드 데이터를 구축하였다. 구축된 데이터를 저장소의 SPARQL 엔드포인트로 질의하고 그 결과를 여러 형태의 차트로 나타낸 시각적 분석 시스템을 구현하였다.

Abstract

Linked Data, unlike existing Open API services, can be regarded as a huge database to perform high-level queries, and it is possible to create new value contents by fusing different resources from different sources. In this paper, we propose a storage, search, and utilization service platform that meets the Linked Data life-cycle technology. In particular, we select a hybrid content trial service (e.g., Daegu restaurant), design a domain ontology for this convergence service, and build Linked Data for this ontology. We can query the constructed Linked Data with the SPARQL endpoint of the repository. We also implement a visual analysis system that shows the result in various charts.

Keywords:

linked data, visualization, analysis system, hybrid content service, RDF, SPARQL

Ⅰ. 서론

링크드 데이터(Linked Data)는 웹을 구성하는 데이터들 간의 연결을 목표로 기존의 문서 중심의 웹이 아닌 각각의 자원을 대상으로 상호 연결된 데이터 중심의 웹을 말한다. 링크드 데이터는 사실(fact) 데이터를 포함하는 데이터 객체에 URI(Uniform Resource Identifier)를 부여하고 이를 웹 프로토콜인 HTTP(HyperText Transfer Protocol)를 통해 누구나 웹(Web) 상에서 자유롭게 데이터를 활용할 수 있게 하는 기술이라 할 수 있다[1]. 즉, 링크드 데이터를 통해 기존 문서 위주의 WWW(World Wide Web) 전달 방식을 페이지가 아닌 데이터 간 연결 중심으로 전환하여 보다 풍부한 자원의 생산과 효율적인 활용이 가능한 방식으로 웹을 지능화시킨다.

링크드 오픈 데이터(LOD, Linked Open Data) 프로젝트[2]는 2007년엔 20억 개의 RDF(Resource Description Framework) 트리플과 2백만 개의 링크에서 2011년엔 316억 개의 RDF 트리플과 5억 개의 링크로 급속히 증가하였고, 2017년도에는 2011년도 295개 데이터셋이 1,139개 데이터셋으로 엄청난 규모의 초대용량 빅데이터로 발전하였다.

현재 링크드 데이터에 대한 핵심 이슈는 링크드 데이터를 기반으로 한 응용 애플리케이션의 개발이다[3]. 링크드 데이터는 기존의 Open API 서비스들과는 달리 웹 그 자체를 거대한 데이터베이스로 간주하여 수준 높은 쿼리를 수행할 수 있으며, 서로 다른 소스로부터 서로 다른 자원들을 융합하여 새로운 가치의 콘텐츠를 만들 수 있다. 이는 그동안 몇 개 한정된 데이터 소스만 가지고 작업이 이루어졌던 Web 2.0 응용과는 달리 링크드 데이터 애플리케이션은 데이터 레벨 링크를 통해 런타임(run time)에 새로운 데이터 소스를 발견할 수 있게 해준다. 따라서 웹상에 새로운 데이터 소스를 발견할 수 있고 그 소스를 추적하여 부분적 결과물이 아닌 완전한 해답을 제공해 줄 수가 있다.

특히, 본 논문에서는 초보자라도 쉽게 링크드 데이터를 발행할 수 있고 데이터 간 연계 및 활용할 수 있는 시각적 링크드 데이터 분석 시스템을 개발한다.


Ⅱ. 관련 연구

2.1 해외 링크드 데이터 활용 현황

2009년 미국 정부는 공공데이터 개방 사이트(http://data.gov)를 개설하고 공공정보에 대한 접근을 용이하게 하여 국민의 창의적인 혁신을 지원하고 있다. 2010년 영국도 이와 유사한 플랫폼인 CKAN (http://ckan.org)을 오픈소스로 공개하였다. 디비피디아(http://dbpedia.org)는 위키피디아(http://www.ikipedia.org)로부터 RDF 데이터를 추출하여 웹에서 이들 정보들이 활용 가능하도록 하였고 현재 약 400만개의 개념(things)이 기술되어 있고 영어 외에 119개 언어로 구성된 정보를 제공하고 있다. BBC 방송은 미디어 분야 중 가장 적극적으로 LOD를 직접 활용하고 업무영역까지 확장하여 실제 사용자들에게 BBC가 생산하는 막대한 정보들을 상호 연계⋅공유된 형태로 제공되고 있다. 또한, 음악, 스포츠, 정치, 학습 등 디지털 콘텐츠 영역의 SPARQL(Simple Protocol And Rdf Query Language) 엔드포인트(Endpoint)를 제공하여 링크드 데이터를 효율적으로 이용할 수 있도록 하였다. 연이어 뉴욕타임즈가 링크드 데이터 프로젝트를 수행하였고, 미의회도서관이 LCSH (Library of Congress Subject Headings) 링크드 데이터를 구축하였으며, 미국의 전자제품 소매회사인 베스트바이가 Good- Relations 온톨로지를 이용해 제품정보를 링크드 데이터 형식으로 발행하였다. 최근 들어 도서관 영역에서 링크드 데이터를 적용하는 사례가 늘고 있는데, 특히 국립중앙도서관들이 앞장서고 있으며 대표적으로는 미국, 스웨덴, 항가리, 독일, 프랑스, 영국 등이 있다.

2.2 국내 링크드 데이터 활용 현황

우리나라도 최근 분야별로 LOD 구축사업을 추진하고 있으나 아직까지는 대부분 사업의 초기단계이고 그 효과를 검증하기 위한 시범사업 수준에 머무르고 있다. 한국과학기술정보연구원(KISTI)은 논문, 특허, 보고서, 동향정보 등을 서비스하고 있는 NDSL 데이터를 일부 RDF 트리플로 변환하여 링크드 데이터 서비스를 제공하고 있으며, 최근에는 서울시의 열린데이터광장(http://data.seoul.go.kr)이나 한국정보화진흥원(NIA)의 국가 공유자원 포털(http://data.go.kr)을 통해 각 부처의 다양한 데이터를 통합 구축하여 제공하고 있다. 또한 NIA는 링크드 오픈 데이터 시범 사업인 공공DB피디아(http://lod.data.go.kr)를 통해 공공데이터를 대상으로 링크드 데이터를 시범적으로 구축하고 있다. 그러나 국내의 경우 링크드 데이터는 아직 시작 단계로써 구축분야 및 연결이 잘 맞지 않아 기술 저변확대가 절실히 필요한 상황이다. 2015년 세계 각국의 공공데이터 개방 현황을 조사한 WWW 재단의 ODB(Open Data Barometer) 보고서에 따르면 한국은 17위를 차지해 전년보다 5단계 후퇴한 것으로 나타났다. 이는 공공데이터의 양적 개방 확대에도 불구하고 링크드 데이터와 같은 기계 판독형 데이터가 많지 않아 접근성이 떨어지고 공공데이터의 재이용 및 활용도가 낮기 때문이다.


Ⅲ. 링크드 데이터 저장 및 응용 플랫폼

본 연구의 최종 목표는 누구나 자유롭게 LOD를 발행하고 연계⋅활용할 수 있는 링크드 데이터 기반 저장⋅검색⋅활용서비스 플랫폼을 개발하는 것이다. 이를 통해 쉽게 창의적인 아이디어를 개발⋅공유할 수 있는 차세대 웹 환경을 제공한다. 특히, 다음과 같은 링크드 데이터 생명주기에 맞추어 관련기술들을 개발함으로써 실질적이고 유용한 시맨틱 웹 3.0 개발 도구를 지원한다(그림 1 참조).

Fig. 1.

Related technologies for linked data life cycle

  • • 데이터 수집: 정형/비정형 데이터를 RDF 데이터로 변환하여 저장
  • • 온톨로지 구축: 자동 온톨로지 학습방법에 의한 상위레벨 OWL(Web Ontology Language) 온톨로지 구축
  • • 저장/색인: 초대용량 링크드 데이터를 위한 압축된 데이터 저장 및 인덱싱 기술 개발
  • • 분석 시스템(analysis system): 사용자를 위한 시각적인 링크드 데이터 검색 및 SPARQL 질의어 그리고 사용자를 위한 직관적인 분석 도구 개발

본 장에서는 이러한 생명주기 각 단계에 대한 포괄적인 개념 및 현재 구현 상태를 먼저 살펴보고 본 논문에서는 이들 중 분석 시스템에 대한 시각화에 관한 내용을 4장에서 중점적으로 자세히 다룬다.

3.1 데이터 수집

본 연구에서는 1개 영역의 융합 콘텐츠 시범서비스를 선정하고(예, 대구 음식점) 융합 콘텐츠 상위 온톨로지 모델 및 융합 콘텐츠 시범 서비스를 위한 도메인 온톨로지 모델을 설계하였다[4]. 대구 음식점 정보에 대한 클래스와 오브젝트 및 데이터 속성은 그림 2와 같다.

Fig. 2.

Class, object and data properties

3.2 온톨로지 구축

RDF는 어휘를 정의하는 능력이 부족하기 때문에 클래스 간 상하관계를 정의할 수 있는 RDFS(RDF Schema)를 같이 사용한다. 그러나 자원 간의 동일성과 이질성, 집합관계나 제한조건은 RDF나 RDFS로는 표현할 수가 없다. 이에 W3C는 더욱 표현력이 풍부하고 다양한 개념을 표현할 수 있는 OWL을 표준 온톨로지 언어로 제안하고 있다. 복잡한 온톨로지를 구축하기 위해서는 툴 사용이 필수적이며 현재 가장 널리 쓰이는 OWL 저작툴은 Protégé다. 따라서 본 연구에서는 Protégé 오픈소스 온톨로지 저작툴을 사용하여 OWL을 구축하였다. 한편, 온톨로지 학습방법에 의한 온톨로지 자동 구축 기법은 현재 개발 중이다[5].

3.3 저장 및 색인

링크드 데이터를 위한 저장과 색인기법에 대한 연구는 데이터베이스 커뮤니티에서 차세대 연구 분야로 인식되어 지고 있으나 RDF 트리플은 그래프로 모델링되기 때문에 기존의 RDBMS나 웹 기술들이 직접 적용될 수가 없다. 따라서 본 과제에서는 분산되고 변동성이 심한 초대용량 링크드 데이터에 대한 압축된 데이터 저장 및 색인 기법으로써 확장된 다차원 히스토그램 MDH*[6]와 3차원 R*-tree를 이용한 인덱싱 기법[7]을 개발하였다. 그러나 저장 및 색인에 관한 이슈는 본 논문의 범위를 벗어나는 내용이므로 다른 논문에서 자세히 다루기로 하고 여기서는 이에 대한 내용을 생략한다.

3.4 분석 시스템

아직까지 링크드 데이터 검색은 사용하기 쉬운 시각적인 인터페이스를 지원하고 있지 않다. LOD2 프로젝트(http://okfn.org/projects/lod2)에서는 시맨틱 툴들을 사용하여 비즈니스 데쉬 보드 활용 예를 데모하고 있으며 그래프 차트를 보여주는 브라우저를 시연하고 있다. 본 연구에서는 그림 3과 같이 SPARQL Endpoint를 개발하여 대구시의 행정구별 식당수를 질의하였으며, 그림 4와 같이 행정 구역별로 식당수를 질의하는 내용을 구현하였다. 한편, 모바일 매쉬업 구현 기술로는 링크드 오픈 데이터를 활용한 시맨틱 모바일 매쉬업[8]을 기반으로 안드로이드 운영체제 상에서 구글의 새로운 맵인 GoogleMap API V2를 활용하였고 스마트폰 제약사항을 극복하기 위한 클라우드 컴퓨팅 개념을 접목시켰다(그림 5 참조)[9]. 분석 시스템의 시각화에 관한 내용은 다음 장에서 자세히 다룬다.

Fig. 3.

Retrieval example of SPARQL endpoint

Fig. 4.

Map and pie chart

Fig. 5.

Semantic mobile mashup


Ⅳ. 분석 시스템 시각화

본 논문의 주된 내용은 분석 시스템의 시각화에 관한 설계 및 구현이다. 이를 위해 온톨로지를 먼저 구축하고 링크드 데이터를 발행한 후 시각적 분석 시스템을 구현하고자 한다.

4.1 온톨로지 구축

우리는 공공데이터 포털(data.go.kr)에서 제공하는 공공데이터를 활용하여 링크드 데이터를 구축한다. 이를 위해 공공데이터의 온톨로지를 먼저 설계한다.

1) 데이터 선정 및 수집

본 연구에서는 대구시의 여러 공공데이터들 중 음식점 정보를 구축 데이터로 선정하였고, 제공되는 오픈 데이터 형태는 CSV다.

2) 데이터 모델링

음식점 데이터 요소들을 토대로 다음과 같이 온톨로지를 구축한다.

① 클래스 정의 : 수집한 데이터에서 고유한 URI를 가질 수 있는 객체를 클래스로 정의하였다. 한식, 중식, 양식 등의 음식 분류 항목과 업태 또한 고유한 URI를 가질 수 있기에 각각 클래스(i.e., FoodBusinessCategory, BusinessType)로 정의하였다(그림 6 참조).

Fig. 6.

Class of restaurant

② 속성 정의: 속성은 Object property(클래스간 관계를 나타내는 속성)과 Datatype property(클래스에 대한 특성을 나타내는 속성) 두 가지로 나뉘며, 아래와 같이 정의하였다(그림 7, 8 참조).

  • • Object property
  • - isBusinessCondition: Restaurant와 FoodBusinessCategory의 관계
  • - isTypeOfBusiness: Restaurant와 BusinessType의 관계
  • • Datatype property
Fig. 7.

Object property

Fig. 8 .

Datatype property

4.2 링크드 데이터 발행

Protégé의 플러그인 중 Excel Sheet 형태의 데이터를 RDF 데이터로 변환해주는 Cellfie 플러그인을 이용하여 링크드 데이터를 발행한다. 이 플러그인은 변환하고자 하는 엑셀 데이터를 사용자가 작성한 RDF 변환 Rule을 바탕으로 자동으로 링크드 데이터를 발행해 준다[10]. 발행한 데이터는 Apache fuseki[11] 서버에 저장한다.

4.3 시각적 분석 시스템 구현

RDF 데이터 분석을 위한 차트 표현을 위해 SPARQL 질의문을 작성한다. 질의를 위해 링크드 데이터가 저장된 트리플 저장소 Endpoint로 접속하여 질의하고 그 결과를 받아온다. Apache jena 프레임워크[11]를 이용하여 질의 결과를 처리하여 HashMap으로 저장하고, 저장된 결과를 JSON으로 변환한 후 결과를 차트로 나타낸다. 우리가 구현한 분석 시스템의 구조는 그림 9와 같다.

Fig 9.

Architecture of analysis system

그림 10은 Endpoint에서 반환 받은 쿼리 결과를 처리하는 절차를 나타낸 순서도이다. 쿼리 결과값에서 한 문장마다 id값(?s)에 해당하는 value를 찾아서 Datatype이 정의되어 있으면 이를 파싱하여 HashMap에 저장하고, 한 문장이 끝날 때까지 반복한다. 한 문장이 끝난 후 이를 ArrayList에 다시 저장하고 앞서 기술한 절차를 반복하고, 더 이상 처리할 결과가 없을 때 ArrayList를 반환한다.

Fig. 10.

Data analysis sequence

그림 11은 행정 구역별로 식당수를 질의하여 대구시 지도 모양으로 그 결과를 나타낸 모습이다. 이외에도 그림 12와 같이 음식 분류별 식당수를 파이 차트로 그 결과를 나타낼 수 있다. 또한 좌석수별 수용 가능 좌석수를 세로 차트로 표현할 수도 있다.

Fig. 11.

MapChart of number of restaurants by administrative district

Fig. 12.

PieChart of number of restaurant by food category


Ⅴ. 비교 분석

본 논문에서 구현한 분석 시스템과 RDF 통계 데이터 브라우저인 CubeViz[12]를 비교⋅분석하였다. 분석을 위해 데이터량을 5,000개부터 시작하여 30,000개까지 5,000개 단위로 임의로 증가시켜 성능을 비교한다. 비교 대상으로 선정한 CubeViz는 오픈소스 소프트웨어로 RDF Data Cube 어휘[13]를 사용한 통계 데이터를 차트로 시각화한다.

그림 13은 두 시스템에서 데이터를 분석하여 차트로 나타내는 데 걸리는 시간을 보여주고 있다. 세로축은 시간(초단위), 가로축은 데이터량을 나타낸다. 비교 결과, 본 분석시스템의 성능(파란색)이 10,000개까지는 비슷한 양상을 보이다 15,000개부터 확연하게 차이가 나는 것을 확인할 수 있다.

Fig. 13.

Result of return time

또한, CubeViz는 RDF 통계 어휘를 사용한 반면, 본 분석시스템은 일반적인 링크드 데이터를 차트로 시각화환 점에서 차이가 있다.


Ⅵ. 결론

현재 국내에서는 공공데이터 포털을 통해 국가서지, 논문, 특허 등 여러 정보를 링크드 오픈 데이터로 제공하고 있으나 이러한 링크드 데이터를 활용한 사례는 많지 않다. 본 논문에서는 링크드 데이터 생명주기 관련 기술에 맞는 저장⋅검색⋅활용서비스 플랫폼을 제안하였고, 특히 본 연구에서는 1개 영역의 융합 콘텐츠 시범서비스를 선정하고(예, 대구 음식점) 이에 대한 도메인 온톨로지를 설계하고 링크드 데이터를 구축하였다. 구축된 데이터를 저장소의 SPARQL Endpoint로 질의하고 그 결과를 여러 형태의 차트로 나타낸 시각적 분석 시스템을 구현하였다.

분석 시스템을 CubeViz와 비교⋅분석한 결과 둘 모두 데이터 량이 증가할 때 결과 반환 시간이 소폭 상승하였으나, 데이터 량이 많아질수록 반환시간의 차이가 확연히 차이난다는 사실을 확인 할 수 있었다. 향후 기 구현한 분석 시스템의 질의문과 결과 데이터 처리 기능에 대한 보완과 RDF 통계 어휘와 일반 링크드 데이터에 대한 좀 더 고도화된 분석 기법에 관한 연구를 수행해 볼 필요가 있다.

Acknowledgments

이 논문은 2016년도 정부(교육부)의 재원으로 한국연구재단의 지원을 받아 수행된 기초연구사업임 (No. 2016R1D1B02008553).

References

  • M. D. Cho, W. S. Oh, and H. Park, "Linked Data R & D Report: Mainly of subject name and author name authority data", National Library of Korea, Dec), (2011.
  • http://www4.wiwiss.fu-berlin.de/lodcloud/state/, [accessed: Sep. 13. 2014]
  • A. N. Ngome, and C. Unger, "Special Issue on Question Answering for Linked Data", Semantic Web, 8(4), p509-510, Jan), (2017. [https://doi.org/10.3233/SW-170255]
  • E. Jung, E. Jeon, C. Lee, and Y. Lee, "Charts of Famous Restaurants in Daegu based on Linked Data", 2018 KIPS Spring Conference, p512-515, May), (2018.
  • Y. Lee, "Semantic-Based Data Mashups Using Hierarchical Clustering and Pattern Analysis Methods", Journal of Information Science and Engineering, 30(5), p1601-1618, Sep), (2014.
  • Y. Lee, "MDH*: Multidimensional Histograms for Linked Data Queries", Lecture Notes on Information Theory, 2(3), p243-248, Sep), (2014. [https://doi.org/10.12720/lnit.2.3.243-248]
  • Y. J. Lee, "Linked Data Indexing Techniques Using 3D R*-tree", Journal of KIIT, 15(11), p31-38, Nov), (2017. [https://doi.org/10.14801/jkiit.2017.15.11.31]
  • Y. J. Lee, "Semantic Mobile Mashup Using Linked Open Data", Journal of KIIT, 14(11), p93-100, Nov), (2016. [https://doi.org/10.14801/jkiit.2016.14.11.93]
  • S. Lee, T. Kim, S. Park, and Y. Lee, "DBpedia Web Search Application using Google Cloud Natural Language API", 2018 KIPS Spring Conference, p509-511, May), (2018.
  • S. R. Ha, J. H. Yim, and H. Rieh, "A Study on the Procedure for Constructing Linked Open Data of Records Information by Using Open Source Tool", Journal of the Korean Society for Information Management, 34(1), p341-371, Mar), (2017.
  • https://jena.apache.org, [accessed: Jul. 01. 2017]
  • http://aksw.org/Projects/CubeViz.html, [accessed: Aug. 11. 2018]
  • https://www.w3.org/TR/vocab-data-cube/, [accessed: Aug. 11. 2018]
저자소개
정은미 (Eunmi Jung)

2014년 : 계명대학교 컴퓨터공학(학사)

2014년 ~ 2017년 : 한국교육 학술정보원 연구원

2017년 ~ 현재 : 경북대학교 IT대학 컴퓨터학부 석사과정

관심분야 : 시맨틱 웹, 빅데이터, 웹 데이터베이스

이용주 (Yongju Lee)

1985년: 한국과학기술원 정보검색전공(공학석사)

1997년 : 한국과학기술원 컴퓨터공학전공(공학박사)

1998년 8월 ~ 현재 : 경북대학교 IT대학 컴퓨터학부 교수

관심분야 : 링크드 데이터, 시맨틱 웹, 빅데이터, 웹 사이언스

Fig. 1.

Fig. 1.
Related technologies for linked data life cycle

Fig. 2.

Fig. 2.
Class, object and data properties

Fig. 3.

Fig. 3.
Retrieval example of SPARQL endpoint

Fig. 4.

Fig. 4.
Map and pie chart

Fig. 5.

Fig. 5.
Semantic mobile mashup

Fig. 6.

Fig. 6.
Class of restaurant

Fig. 7.

Fig. 7.
Object property

Fig. 8 .

Fig. 8 .
Datatype property

Fig 9.

Fig 9.
Architecture of analysis system

Fig. 10.

Fig. 10.
Data analysis sequence

Fig. 11.

Fig. 11.
MapChart of number of restaurants by administrative district

Fig. 12.

Fig. 12.
PieChart of number of restaurant by food category

Fig. 13.

Fig. 13.
Result of return time