공공데이터를 연결하라…‘LOD’

가 +
가 -

공공데이터 품질에 대한 논의가 많아지면서 ‘링크드 오픈데이터'(Linked Open Data, LOD) 구축 사례가 늘어나고 있다. 국가 DB 사업이나 공공데이터 사업에서 LOD를 지원하면서 특허청, 국립수목원, 국사편찬위원회, 한국교육학술정보원 등 10개가 넘는 기관에서 LOD를 제공하고 있다. 지난해부터는 LOD 관련 해커톤이나 컨퍼런스도 개최되는 모습이다.

개방형 데이터가 URI로 연결된 LOD

LOD는 ‘링크드 데이터’ 구축 원칙에 맞게 개방된 데이터다. 이 원칙은 W3C 중심으로 발전되고 있다.

링크드 데이터의 4가지 원칙

  1. URI의 사용: 링크드 데이터는 웹문서의 위치를 나타내는 URL 중심의 식별체계를 지양한다. 즉, 개별 문서에 존재하는 개별 객체에 각각 URI를 부여하는 것이다.
  2. HTTP URI의 사용: 링크드 데이터는 URI 중에서도 HTTP 프로토콜을 통해 접근할 수 있는 URI를 제안하고 있다. 이는 링크드 데이터에 대한 접근성을 강화하려는 목적이다.
  3. RDF의 사용: 링크드 데이터는 RDF와 같이 트리플 모형으로 구조화된 데이터를 사용해야 한다. 웹의 데이터를 정형화된 구조로 나타내고, 연계하기 위해서이다.
  4. 링크정보의 부여: 위 3가지 원칙을 지켰다고 해도, 풍부한 링크정보가 없다면 웹에 존재하는 데이터를 연결하기는 어려울 것이다. 기존의 시맨틱웹에서도 링크 정보를 부여할 수는 있었으나, 그 보다는 구조화된 표현(3번과 같이)을 주로 강조했다. 링크드 데이터에서는 보다 발전된 시맨틱웹을 위해 링크정보를 부여하는 것이 매우 중요하다.
    (출처 : 위키피디아)

LOD는 URI라는 식별자를 중심으로 웹에 있는 데이터들을 연결한다. 소나무에 대한 정보를 수목원에서 작성했다고 치자. 수목원은 소나무의 명칭과 뜻, 분포지역, 사진 등을 정리해 올리게 된다. 하지만 국립중앙도서관에 있는 소나무와 관련된 책도 있을 수 있다. 두 기관은 각각의 데이터를 웹에 올리고, 소나무를 지칭하는 식별자를 찾아 서로 연결한다. LOD 사례다.

lod_04

▲소나무와 관련된 LOD. 위에는 국립수목원이 입력한 정보이고, 아래는 국립중앙도서관이 입력한 소나무 관련 서지 정보다

기존 통계 데이터들과 달리, LOD는 DB에 대한 전문적인 지식이 있어야 활용할 수 있다. SPARQL(‘스파클’이라고 읽는다)이라는 언어도 이해해야 하고, RDF라는 형식도 익혀야 한다. 시맨틱 웹 전문업체 프로토마에서 LOD 사업을 진행했던 관계자는 “SQL 같은 DB를 다룬 사람이라면 LOD를 충분히 활용할 수 있다”라고 설명했다.

웹을 공동 데이터 저장소로

LOD가 공공데이터에서 활용되면 같은 데이터를 여러 번 만들지 않아도 된다. 웹 자체를 거대한 DB로 활용하며, 누구나 LOD에 접근할 수 있다. 새로운 데이터를 만들 때 이미 있는 LOD를 활용해도 된다. 다른 기관의 데이터를 참고하면서 데이터 품질에 대해 논의하고 기관·개인·정부끼리 자연스레 협업할 수 있다. LOD는 RDF 형식을 따르는 만큼, 데이터를 표준화하기도 쉽다.

LOD를 많이 쓰는 대표적인 곳은 도서관이다. 전세계 도서관은 보통 MARC 체제를 기반으로 도서 정보 데이터베이스를 만든다. MARC는 기계가 읽을 수 있는 형식으로 데이터를 변환한다. 이 데이터들은 주로 책의 표제, 저자명, 판 사항, 발행 사항, 형태 사항, 주제, 주기에 대한 정보를 담고 있다. 이러한 공통된 데이터 규격이 있기 때문에 전세계 도서관은 같은 기준으로 데이터를 찾거나 저장할 수 있다. RDF로 데이터를 저장한 경우, 도서관 뿐 아니라 더 많은 기관과 데이터를 주고받거나 관리하기 쉬워진다. 국립중앙도서관은 MARC와 더불어 RDF로 LOD를 만드는 작업을 진행하고 있다.

lod_02

LOD의 중요성을 주도적으로 이야기하는 단체는 W3C다. 팀 버너스 리는 개방형 데이터의 수준을 5단계로 나누어 품질을 정의하고 있는데, 가장 높은 수준의 데이터를 LOD라고 표현했다. 1단계는 포맷을 고려하지 않은 데이터다. 표를 스캔해서 PDF나 HWP로 올린 경우가 1단계 수준의 공공데이터다. 2단계는 표를 이미지가 아닌 구조화된 데이터를 제공하는 형태다. 엑셀 파일로 표를 제공하는 것이 이에 해당한다. 3단계는 비독점 포맷을 사용한 데이터다. 엑셀 파일 대신 CSV 파일로 데이터를 공개한 경우 3단계 데이터라고 말할 수 있다. 4단계는 개체를 가리킬 수 있도록 URI를 제공하는 경우다. 마지막 5단계는 다른 데이터끼리 연결할 수 있는 데이터를 말한다. 많은 공공데이터 기관들이 데이터 품질을 이야기할 때 이 5단계 기준을 참고한다.

lod_01

▲팀 버너스 리가 정한 오픈데이터 5단계.

국내에선 아직 시범사업 단계

LOD는 데이터 자체가 많고 이를 연결할 수 있는 요소가 많아야 의미가 있다. 국내에선 현재 공공데이터의 양 자체가 그리 많지 않아 LOD를 활용하는 사례가 적은 편이다. 정부 관계자는 “LOD를 시범사업 성격으로 진행하면서 필요성이나 활용성에 대해 논의하고 있다”라며 설명했다. 해외에선 디비피디아가 좋은 활용 사례로 언급되고 있다. 디비피디아는 위키피디아에 있는 정보를 RDF로 변환해 모아둔 저장소다. 디비피디아에 있는 정보를 활용하면 개인 웹사이트에 위키피디아 정보를 바로 보여줄 수 있다.

프로토마에서 LOD 사업을 진행했던 관계자는 “우리나라는 아직 학술 관련 데이터나 정보성 데이터를 LOD로 만들고 있다”라며 “특허청 같이 기업에 좀 더 유용한 LOD가 많아져야 활용성이 높아질 것”이라고 설명했다. 오원석 리스트 대표는 “공공데이터 분야에서 100% 완벽한 구축이라는 것은 없다”라며 “계속 품질을 높이는 노력이 필요하고, LOD로 공공데이터 품질을 관리할 수 있다”라고 설명했다.

인터뷰/ 특허청 이동훈 정보활용팀 주무관

“산업재산권 정보 많이 활용되길”

특허청은 지난 3월 ‘산업재산권 LOD’를 공식 출시했다. 특허청이 처음부터 LOD를 고려한 건 아니었다. 내부에 있는 많은 데이터를 어떻게 전달할까 고민하다가 LOD를 선택했다. 기존 특허정보 검색 방식은 특허 출원에 대해 출원인, 발명자, 청구항 등의 상세 정보를 제공하는 데 그쳤다. 반면 특허 LOD는 출원인 정보만 알면 동일인이 출원한 특허, 상표, 디자인 정보 등을 쉽게 연결해 볼 수 있다.

LOD_Patent_03

이동훈 특허청 주문관은 “보통 LOD를 만들 때 데이터 종류나 문서 형식 다양해 이를 정리하는 데 많은 시간을 보낸다”라며 “특허청은 이미 표준화된 문서로 정보를 저장하고 있기 때문에, 데이터를 분류하고, 정의하는 과정이 좀 더 수월했다”라고 말했다.

특허청이 공개한 LOD는 15억 트리플로, 5가지 범주로 나누어 제공하고 있다. 기존 RDB에 속성 값을 정의하고 메타데이터를 입력하는 과정 등을 거쳐 RDF 형식으로 전환했다. 총 구축 기간은 1년 정도 걸렸다. ‘트리플’은 RDF 메타데이터 모델을 표현하는 용어다. 주어-술어-목적어 (subject-predicate-object) 형식으로 메타데이터를 표현하는 데서 나온 말이다.

LOD_Patent_04

▲LOD 구축 과정(사진 : 산업재산권LOD 홈페이지)

특허청이 LOD를 만들 때 가장 고심한 부분은 데이터 공개 범위다. 현재 한국 특허청은 미국, 일본, 중국, 유럽과 협약을 맺어 산업재산권 데이터를 공유하고 있다. 누군가가 산업재산권 정보를 검색하는 서비스를 만들 때 해외에도 비슷한 정보가 있는지 비교할 수 있다면 더 유용할 것이다. 특허청은 이러한 활용성을 고려해 협약을 맺은 다른 나라 산업재산권 데이터도 LOD로 접근할 수 있도록 구축했다.

특허청을 비롯한 많은 공공기관들은 LOD를 공개하면서, 데이터를 활용한 서비스는 만들어놓지 않았다. 서비스 개발은 민간분야 몫이기 때문이다. LOD 홈페에지에선 LOD 주소와 세부 데이터를 검색할 수 있는 도구들을 볼 수 있다. 특허청은 개발자들의 이해를 돕기 위해 활용 예제도 함께 제공하고 있다.

특정 출원인 코드에 해당되는 출원인의 특허 정보를 불러오고 싶다고 치자. 개발자는 특허청 LOD 데이터에 접근해야 한다. 이때 ‘PREFIX’라는 선언문과 함께 LOD 주소를 입력하면 된다. 만약 또 다른 LOD가 있다면 추가로 주소를 입력해 더 많은 데이터에 접근할 수 있다. 그리고 SELECT문으로 원하는 조건에 맞게 필요한 데이터만 불러올 수 있다.

예를 들어, ‘representativeCode’라는 필드명에서 ‘419980086133’ 데이터를 불러오고, 이와 연관된 이름(longName_ko), 종류(title_ko) 등을 함께 화면에 보여줄 수 있다. 어떤 필드명에 어떤 데이터가 있는지는 ‘데이터 브라우저’라는 메뉴에서 확인할 수 있다. 모든 구문은 SPARQL 문법을 따라야 하며, W3 홈페이지에서 확인할 수 있다.

LOD_Patent_01

▲예제를 보면 데이터에 어떻게 접근하는지 볼 수 있다. 각 홈페이지에는 데이터에 관한 LOD 주소가 있고, 이를 PREFIX 라는 구문과 함께 입력하면 된다. 세부 구문은 SPARQL 문법을 확인해야 한다.

LOD_Patent_02

▲위 질의에 대한 결과

LOD_Patent_05

▲LOD를 제공하는 홈페이지에 가면 데이터들의 구성도를 볼 수 있는 메뉴가 있다. 이를 통해 각 필드마다 어떤 데이터가 있는지 확인할 수 있다

이동훈 주문관은 “LOD는 기반시설과 같다”라며 “단기간이 아닌 각 단계별로 목표를 갖고 관리하고 있다”라고 설명했다. 특허청은 최근 다른 데이터들과 연결할 수 있는 ‘인터링킹’에 관심을 갖고 있다.

“LOD는 다른 데이터와 연결돼야 큰 가치가 생깁니다. 아직 LOD 양이 적은 편이라 어떻게 활용할 수 있을지 고민하고 있습니다. 제가 특허청에서 LOD를 담당하고 있다 할지라도 다른 기관 데이터에 대해선 잘 알 수 없습니다. 앞으로 여러 기관이 함께 모이는 자리가 많았으면 좋겠습니다. 다른 기관의 LOD를 알아가면서 좀 더 다양한 아이디어를 공유할 수 있을 거라고 봅니다. 만약 다른 기관에서 LOD 구축을 고려하고 있다면, 구축 사전 단계부터 데이터 연결성을 고려하면 좋을 것 같습니다.”

네티즌의견(총 0개)