링크드 데이터 구현을 위한 컨테이너화 메타데이터 기술에 대하여
  • 작성부서 국제교류홍보팀
  • 등록일 2023-01-13
  • 조회 1135
글자크기

타데이터 기술은 도서관 시스템의 중추이다. 메타데이터 기술 없이는 목록화나 디스커버리(Discovery)와 같은 핵심적인 도서관 서비스가 불가능할 것이다. 따라서 도서관 메타데이터의 성공적인 관리와 도서관의 안정적인 운영은 메타데이터 기술에 달려있다고 해도 과언이 아니다. 이 글에서는 링크드 데이터 실험을 포함한 혁신적인 메타데이터 기술 도구들을 살펴볼 것이다.


도서관 운영에 메타데이터 기술이 활용된다는 것을 상징하는 이미지이다.

펜실베니아대학교(University of Pennsylvania) 도서관의 IT 동향

: 링크드 데이터 구현을 위한 컨테이너화 메타데이터 기술에 대하여

2000년대 초반부터 하나의 개념으로서의 링크드 데이터가 도서관 시스템에 영향을 끼쳤다. 팀 버너스-리(Tim Berners-Lee)가 2001년에 처음으로 「사이언티픽 아메리칸(Scientific American)」에 ‘시맨틱 웹(Semantic Web)’이라는 개념을 소개했다. 그러나 도서관에서는 2001년 이후 십여 년이 지난 후에야 실질적으로 그러한 개념이 채택되기 시작했다. 도서관 메타데이터에서는 미국의회도서관(Library of Congress, LC)이 발행하여 관리한 ‘BIBFRAME 온톨로지(BIBFRAME ontology, https://bibframe.org/; https://www.loc.gov/bibframe/)’의 도입과 일련의 기금을 통해 설립된 LD4 커뮤니티(LD4 Community, https://sites.google.com/stanford.edu/ld4-community-site/home)가 중요한 역할을 했다.


몇몇 도서관 비품 공급자들은 통합도서관시스템(Integrated Library Systems, ILS)에서 링크드 데이터 요소들을 이미 지원하고 있거나 지원할 계획을 갖고 있다. 일례로, 엔티티 관리 모듈(Entity Management Module)을 개발하고 있는 FOLIO 도서관 플랫폼을 들 수 있다. FOLIO 엔티티 운영실무단(FOLIO Entity Management Working Group)의 활동은 https://wiki.folio.org/display/MM/Entity+Management+Working+Group 에서 볼 수 있다. 도서관 주도의 링크드 데이터 발견을 모색하는 또 다른 프로젝트로는 BIBFRAME 어휘집에서 링크드 데이터의 베타 카탈로그를 생성한 ‘쉐어-VDE(Share-VDE)’ 프로젝트군이 있다. 베타 검색 인터페이스는 https://www.svde.org/ 에서 볼 수 있다. ‘쉐어-VDE 프로젝트’의 현황을 확인하거나 이 프로젝트에 참여를 원한다면 https://wiki.share-vde.org/wiki/Main_Page 를 참조하자.

알마통합도서관시스템(Alma integrated library system)은 LC의 크로스워크(Crosswalk)1)를 이용하여 MARC를 BIBFRAME로 변환하고 링크드 데이터를 발행할 수 있다. 알마통합도서관시스템의 링크드 데이터 통합에 관한 보다 자세한 정보는 ‘엑스리브리스 개발자 네트워크 테크 블로그(ExLibris Developer Network Tech Blog, https://developers.exlibrisgroup.com/blog/exploring-linked-data-property-graphs/)’를 참조하자.

LS 기술과 관련해서 도서관 테크놀로지는 대체로 공급업체에서 제공한 것을 도서관 상황에 맞게 구성 및 변형한 것이다. 메타데이터 기술에 대한 로컬 익스텐션도 있는데, 도서관에서는 그것을 주기적으로 채택하기도 한다. 링크드 데이터와 관련한 신기술을 이용하려면 기술 지원이 필요하다. 디스커버리에서 링크드 데이터의 효과를 제대로 이용하려면 웹 호스팅, 데이터베이스 호스팅과 개발, 전문적인 소프트웨어 개발자, 메타데이터 전문성이 모두 필요할 것이다.

1. 컨테이너와 링크드 데이터

컨테이너화(Containerization)2)는 링크드 데이터 실험을 이행하는 한 가지 방법이다. 컨테이너화된 애플리케이션은 기술을 이행하는데 필요한 가장 기본적인 자원, 대체로 리눅스 기반 운영체제에서 최소로 필요한 부분만을 포함한다. 이러한 최소한도의 운영체제는 노트북이나 서버의 운영체제 등 더 넓은 컴퓨터 환경으로부터 분리되어 독립 실행되는 방식으로 설계된다. 가장 널리 사용되는 컨테이너화 소프트웨어 중 하나로 도커(Docker, https://www.docker.com/)3) 를 들 수 있다.

도서관 기술 전문가들은 도커를 이용하여 독립적이고 차단된 환경에서 데이터베이스나 애플리케이션 또는 스크립트를 실행할 수 있다. 도커는 여러분의 컴퓨터 인프라에서 데스크톱 샌드박스(Sandbox)4)구역, 즉 더 큰 기술 체계에 대한 영향을 최소 한도로 제한하면서 메타데이터 기술을 실험해볼 수 있는 공간으로써 사용될 수 있다. 애플리케이션 컨테이너화를 통해 새로 개발되었거나 아직 입증되지 않은 애플리케이션과 서비스를 시스템으로부터 분리시켜 실행해볼 수 있다.

도서관의 기술 환경은 매우 다양하다. 여러 도서관에 공통적인 고민은 보안과 융통성 간의 균형을 잡는 것이다. 여기서 컨테이너화된 애플리케이션이 유용하게 사용될 수 있다. 이용자는 컨테이너 안에서 실험적인 소프트웨어를 설치할 수 있다. 해당 애플리케이션을 웹으로 공유하거나 프로덕션 서비스의 출시를 준비하는 경우 서버에서 도커를 실행하는 일이 가능하다. 또는 노트북이나 데스크톱에서 도커로 실험해볼 수도 있다. 메타데이터 실험에 익숙하지 않은 사람들을 위해 내가 가장 자주 사용하는 컨테이너 몇 개를 간단한 설명과 함께 아래 표에 정리해 보았다.


이미지명

도커 파일

설명

Stardog RDF Database

(https://www.stardog.com/)

https://hub.docker.com/r/stardog/stardog

엔터프라이즈(Enterprise)

RDF 데이터베이스

Apache Jena

(https://jena.apache.org/index.html)

https://jena.apache.org/documentation/fuseki2/fuseki-docker.html

오픈소스 RDF 데이터베이스

Annif Tutorial

(https://github.com/NatLibFi/Annif-tutorial)

https://github.com/NatLibFi/Annif-tutorial/blob/master/Dockerfile

자동화된 주제 색인을 위한

링크드 데이터 기반의

기계학습 소프트웨어 패키지

Conciliator

(https://github.com/codeforkjeff/conciliator)

https://github.com/codeforkjeff/conciliator/blob/main/Dockerfile

OpenRefine 레컨실리에이션

(Reconciliation) 서비스

Skosmos

(https://github.com/NatLibFi/Skosmos)

https://github.com/NatLibFi/Skosmos/blob/master/
dockerfiles/Dockerfile.ubuntu

SKOS와 SPARQL를 이용한

유의어 사전 및

제어된 어휘(Vocabulary) 브라우저

표1. 링크드 데이터 실험을 위한 도커 파일

2. 브라우저에서의 메타데이터 기술 실험

어떤 컴퓨터 환경에서는 도커 데스크톱을 설치하기가 어려울 수 있다. 컴퓨터 환경으로 인해 소프트웨어 설치가 불가능하다면, 도커 대신 브라우저 기반 컨테이너를 이용해볼 수 있다. 글리치(Glitch, https://glitch.com/) 플랫폼은 “누구나 웹을 구축할 수 있는 친근한 장소”이다. 이용자는 스타터 프로젝트를 ‘리믹스(re-mix)’하거나 새로운 템플릿을 가지고 웹 애플리케이션을 설계할 수 있다. ‘리믹스’는 맞춤 변경이 가능하면서 동시에 베이스 애플리케이션에 있는 기존의 ‘유스 케이스(use case)’ 를 이용하는 새 프로젝트에서 코드를 이용할 수 있다는 말이다. 글리치 플랫폼의 이용자들은 브라우저에서 코드 편집기를 이용해서 웹 애플리케이션을 개발하고, 그런 다음 글리치를 플랫폼으로 이용해서 웹에 직접 발행할 수 있다.

글리치 플랫폼을 이용하려면 웹사이트(https://glitch.com/signup)에서 계정을 만들면 된다. 글리치 서비스는 무료이다. 그러나 웹 애플리케이션에 몇 가지 컴퓨팅 자원을 추가하려면 유료 서비스인 글리치 프로(Glitch Pro, https://help.glitch.com/kb/article/73-glitch-pro/)를 구매해서 ‘항상 사용(Always On)’ 기능을 이용할 수 있다. ‘항상 사용’ 기능은 실행 프로세스가 길고 사용하지 않을 때 일시 중단이 불가능한 애플리케이션으로 실험할 때 유용할 수 있다.

이 글을 작성하는 현재, 글리치의 스타터 애플리케이션은 기본 웹사이트나 노드 앱, 리액트(React) 또는 블로그를 포함하고 있다. 또한 공개된 깃허브(GitHub) 리포지터리로부터 URL을 제공하여 GitHub에서 직접 웹 편집기로 코드를 들여오기할 수도 있다. 이용자가 프로젝트를 생성하면 생성된 프로젝트가 이용자의 글리치 게시판에 표시된다. 글리치는 프로젝트를 한 곳에 모아 찾아보기 쉽도록 만들기 위해 ‘재생목록(Playlist)’이라는 개념을 도입했다. 이 글의 나머지 부분에서는 도서관 링크드 데이터(Library Linked Data) 재생목록에 들어있는 프로젝트들에 대해 설명할 것이다. 이 사이트의 이용자라면 누구나 재생목록에 있는 프로젝트를 새로운 프로젝트로 리믹스할 수 있다.

링크드 데이터 도구(Linked Data Tools) 재생 목록은 https://glitch.com/@JimHahn/linked-data-tools 에서 볼 수 있다. 이 재생 목록에 있는 첫 번째 애플리케이션은 API 와 SPARQL 엔드포인트(Endpoint)를 드러내는 위키베이스(Wikibase) 라면 어느 것에 대해서나 컨피겨(Configure) 될 수 있는 레컨실리에이션 엔드포인트(API)이다. 이 API가 있으면 어느 위키베이스에서나 제어되지 않은 문자열을 엔티티 식별자로 조정(Reconcile)시킬 수 있다. 여기서 예로 제시하는 위키베이스는 호스팅 된 위키베이스 클라우드(Wikibase Cloud)의 테스트 인스턴스(Test Instance)를 의미한다. 위키베이스 클라우드 서비스를 이용하면 서버에 설치하지 않고도 링크드 데이터 플랫폼 위키베이스로 실험할 수 있다.

이 클라우드 서비스를 기반으로 한 것이 LD4 위키베이스용 레컨실리에이션 API이다. LD4 위키베이스 실무단은 위키베이스 클라우드 인스턴스에 ‘대체 주제 라벨(Alternate Subject Label)’을 넣는 것에 집중했다. 그런 다음, 대체 라벨을 (OpenRefine데이터 클린업 도구와 같은) 레컨실리에이션 도구로 가져올 수 있는데, 그러면 도서관 기술 전문가가 대체 라벨 작업에서 이전 작업을 이용할 수 있을 것이다.

다음 두 프로젝트는 MARC의 BIBFRAME 전환을 지원하도록 설계된 LC의 변환 크로스워크(Transformation Crosswalk)를 포함한다. 전통적으로, 변환은 옥시진(Oxygen) 과 같은 XML 편집기에서 실행하거나 데스크톱에 있는 프로세싱 터미널을 통해 실행된다. 이러한 방법은 대체로 상용 소프트웨어를 이용해야 하거나, 실행을 위해 기술 지원을 받아야 할 가능성이 있다. MARCXML을 BIBFRAME RDF/XML로 변환(https://marc2bibframe2.glitch.me/)하거나 BIBFRAME RDF/XML을 MARC XML로 변환(https://bibframe-to-marc.glitch.me/)하는 용도의 글리치 애플리케이션은 웹 기반의 변환방식을 사용하는데, 이것은 XML 프로세싱을 위해 색소니카(Saxonica)로 노드 프로젝트를 들여오기하여 가능했다(https://www.npmjs.com/package/saxon-js). 이러한 브라우저 기반의 메타데이터 변환 애플리케이션들이 기반하고 있는 프레임워크는 GitHub의 오픈 소스(https://github.com/Saxonica/helloWorldNodeJS)에서 찾을 수 있다:

링크드 데이터 도구 재생목록에 있는 마지막 프로젝트는 글리치 애플리케이션(https://glitch.com/~scholia)으로 실행되는 스콜리아(Scholia) 프로젝트의 인스턴스(https://scholia.toolforge.org/)를 포함한다. 글리치 플랫폼을 이용해서 스콜리아의 인스턴스를 호스팅함으로써 서비스를 구동하는 쿼리를 점검하고, 특정 용도에 쿼리를 맞추기 위해 수정할 수 있다. 새로운 쿼리를 개발하는 것도 가능하다. 글리치 호스팅에서는 또한 특정 기관에 맞게 서비스의 이름을 정할 수 있고, 학술 유형에 따라 쿼리를 큐레이션 할 수도 있다. 일례로, 어떤 학자들은 논문이나 디폴트 스콜리아가 강조하는 콘퍼런스 자료보다는 단행본 콘텐츠를 강조하기를 원할 것이다. 그러한 수정사항들을 글리치 애플리케이션에서 테스트해볼 수 있다.

3. 결론

이 글에서는 링크드 데이터 기능의 실험과 관련하여 컨테이너화된 메타데이터 기술을 설명하고, 도커나 글리치와 같은 컨테이너화된 방법들을 검토했다. 이러한 플랫폼 안에서는 더 큰 운영체제에서 보안과 안정적인 운영이 필요할 때 그러한 운영체제로부터 차단하여 독립적으로 실험을 이행할 수 있음을 보여주었다. 컨테이너는 시스템과 실험을 분리시킬 수 있는 방법을 제공한다. 이러한 도구들은 펜실베니아대학교 도서관에서 링크드 데이터의 구현을 발전시키는데 중요한 역할을 했다. 도서관은 이제 컨테이너화된 메타데이터 기술 전략을 발전시킴으로써 링크드 데이터 서비스와 기능을 발전시키면서 주요 시스템들에 대한 접근성을 안정적으로 유지할 수 있다.


글_ 짐 한(Jim Hahn)

  펜실베니아대학교 메타데이터연구소장(Head of Metadata Research)


편집_최연수


1) 여러 데이터를 근간으로 한 표준 간에 데이터 요소의 의미와 구조를 매핑하는 것으로 공통으로 사용되는 용어를 표준화하고 요소를 조직화하여 정보를 표준화 하는 방법

2) 논리 구획(컨테이너)을 호스트 운영체제(OS)에 만들고, 애플리케이션 실행에 필요한 것들을 서버 내에 하나로 모아 별도로 사용할 수 있게 만든 것. 호스트 서버 등 하드웨어에 의존하지 않고 애플리케이션 운영이 가능한 환경을 제공한다.

3) 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 프로젝트 (용어 출처: 위키백과)

4) 보호된 범위 내에서 프로그램을 작동시키는 보안 소프트웨어 (용어출처: NAVER 국어사전)

담당부서 : 국제교류홍보팀 (02-590-0797 )
위로