이 표준은 데이터 서비스의 운영과 관리에 대한 메타데이터를 정의하며, 데이터 서비스에 대한 집합적인 정보를 표현하기 위한 RDF 어휘를 정의한다. 데이터맵 어휘는 데이터 서비스가 제공하는 관리, 운영, 현황에 대한 수치 정보를 표현하고, 이종의 데이터 서비스의 데이터의 현황을 쉽게 파악하고, 개별적인 데이터세트를 탐색하는데 활용할 수 있다.

이 문서는 한국정보통신기술협회(Telecommunications Technology Association)[TTA]에 의해 검토되었다. 현재 버전은 [TTAK.KO-10.1291]에 의해 관리되고 있으며, 최신 개정판은 TTA에서 찾을 수 있다. 데이터맵 어휘는 Data Catalog Vocabulary [[VOCAB-DCAT]], schema.org [[SCHEMA-ORG]] 등과 같이 기존 어휘를 용어를 통합하여 구축하였다. 참조한 어휘에 대해서는 reference에서 제공하는 공식 문서를 확인할 수 있다. 이 문서에 대한 의견, 질문이 있으면 hike.cau@gmail.com으로 연락할 수 있다.

Introduction

다양한 데이터가 급격히 증가함에 따라 데이터의 출처를 확인하고 접근하는 것이 중요해지고 있다. 데이터 제공자는 데이터 플랫폼과 같은 데이터 서비스를 통해 사용자에게 데이터를 제공한다. 특히, 오픈 데이터는 데이터를 라이선스에 한정없이 자유롭게 사용할 수 있는 새로운 패러다임을 만들고 있다. 한편, 오픈 데이터는 특정한 소프트웨어에 제약되지 않고, 웹 표준을 기반으로 활용할 수 있는 형식으로 제공된다. 최근 급속히 증가하고 있는 데이터 서비스는 오픈 데이터의 성장과 맥락을 함께 한다. 그러나, 데이터 서비스의 종류가 다양해지고, 제공하는 데이터의 규모도 증가함에 따라 분산적으로 운영되는 데이터 서비스 사이에서 데이터를 탐색하고 연계하는 것은 더욱 어려워지고 있다. 이종의 데이터 서비스 사이에서 데이터를 연계하기 위해 구문적∙의미적 수준의 상호운용성을 지원해야 한다.

Namespace

데이터맵 어휘의 네임 스페이스는 `http://vocab.datahub.kr/def/datamap/` 다. 데이터맵 어휘는 기존에 정의된 RDF 어휘를 재사용하기 위해 최소한의 클래스와 속성을 정의한다. 데이터맵 어휘는 [[VOCAB-DCAT]], Dublin Core [[DCTERMS]], [[SCHEMA-ORG]]의 용어를 광범위하게 재사용한다. 데이터맵 어휘에서 사용하는 네임스페이스와 접두사(prefix)는 다음 표와 같다.

접두사(prefix) Namespace IRI Source
`dcat` `http://www.w3.org/ns/dcat#` [[VOCAB-DCAT]]
`dct` `http://purl.org/dc/terms/` [[DCTERMS]]
`foaf` `http://xmlns.com/foaf/0.1/` [[FOAF]]
`rdf` `http://www.w3.org/1999/02/22-rdf-syntax-ns#` [[RDF-SYNTAX-GRAMMAR]]
`rdfs` `http://www.w3.org/2000/01/rdf-schema#` [[RDF-SCHEMA]]
`skos` `http://www.w3.org/2004/02/skos/core#` [[SKOS-REFERENCE]]
`xsd` `http://www.w3.org/2001/XMLSchema#` [[XMLSCHEMA11-2]]
`schema` `http://schema.org` [[SCHEMA-ORG]]
`owl` `http://www.w3.org/2002/07/owl#` [[OWL2-SYNTAX]]

데이터맵 어휘는 필수적인 요소에 한정해 정의하고, 기존 어휘의 재사용을 원칙으로 한다. 자원에 대한 일반적 기술은 추가적인 어휘를 정의하지 않고, RDF(Resource Description Framework) [[RDF-SCHEMA]], DCMI(Dublin Core Metadata Initiative) [[DCTERMS]], DCAT [[VOCAB-DCAT]] 등의 표준 어휘를 사용한다. 예를 들어, 데이터맵 어휘는 데이터 목록과 관련된 어휘를 자체적으로 정의하지 않고, DCAT(`dcat:Catalog`)어휘의 사용을 권장한다. 데이터맵의 모든 구성요소는 유일한 식별자를 부여할 수 있도록 URI(Uniform Resource Identifier) 체계를 적용하고, 데이터 사이의 연결을 위해 그래프(graph) 구조로 표현한다.

Terminology used in Datamap

개념 모델(Conceptual Model)

일반적으로 맵(map)은 어떤 공간을 기호로 나타내는 지도를 의미한다. 컴퓨터 공학 관점에서 맵은 키(key)와 값(value)을 쌍으로 나열되는 자료 구조이고, 데이터 매핑(mapping)은 서로 다른 데이터 모델 사이의 대응 관계를 갖는 데이터 요소를 말한다. 본 표준에서 제안하는 데이터맵은 데이터 서비스가 운영∙관리하는 메타데이터와 이들 사이의 의미적 관계를 표현하기 위한 데이터 구조로 정의한다. 예를 들어, 데이터 서비스는 관리를 담당하는 기관이 있고, 제공하는 데이터세트와 모든 데이터세트를 요약한 데이터 목록을 갖고 있다. 데이터맵은 담당 기관과 데이터세트의 관계를 정의하고, 해당 데이터 서비스가 보유한 데이터세트의 수량를 표현할 수 있다.

데이터맵은 데이터 서비스의 주체가 관리하는 모든 메타데이터 항목을 표현하기 위한 어휘이다. 데이터맵 의 개념 모델은 다음과 같다.

데이터맵 , , 의 관계로 정의한다. 이때, 는 데이터 서비스의 집합이고, 가 보유한 메타데이터의 집합이다. 메타데이터의 집합은 기관, 데이터세트, 서비스 유형과 같은 속성을 정의한다. 의 이진 관계이다. 하나의 데이터 서비스는 정의된 메타데이터를 통해 확장할 수 있다. 예를 들어, 분류체계, 데이터형식과 같은 항목은 데이터 서비스에서 제공하는 정보이지만, 외부의 데이터와 개념적으로 연결될 수 있는 정보를 포함한다. 이와 유사하게 개별 데이터맵은 이종의 데이터맵과 연계되거나, 상위 수준의 데이터맵과 통합될 수 있다. 통합된 데이터맵 은 개별 데이터맵의 속성을 집합시킨 정보로 표현한다.

개별 데이터맵 , 는 서로 연결되어 메타 수준의 데이터맵 로 통합시킬 수 있다. 통합된 데이터맵은 주제별 데이터 목록으로 구성하거나, 기관 사이의 대규모 데이터 목록을 통합하는 목적으로 구성할 수 있다. 예를 들어, 국가 수준의 데이터맵 는 개별 기관이 관리하는 이종의 데이터맵을 연계해 통합할 수 있다.

Vocabulary overview

Datamap vocab overview
Overview of Datamap model

핵심 클래스와 속성

데이터맵 어휘의 핵심 클래스는 `dm:Datamap`를 포함한 4가지 핵심 클래스로 이루어져있다.

데이터맵에서 개별 카탈로그는 [[VOCAB-DCAT]]으로 표현할 수 있다. `dm:Datamap` 클래스는 `dm:catalog` 속성을 사용하여 [[VOCAB-DCAT]]의 카탈로그 어휘와 연계한다. 만약, 데이터맵 어휘에서 데이터세트를 개별적으로 연결하려면 `dm:dataset` 속성을 사용한다.

Basic example

다음의 예시는 어떻게 데이터포털과 같은 데이터 서비스가 데이터맵으로 표현될 수 있는지에 대한 간결한 방법을 제공한다. 모든 예시는 Turtle [[Turtle]] 구문으로 작성되었다.

데이터맵은 다음과 같이 표현할 수 있다. `dm:catalog` , `dm:dataset` 을 통해 데이터맵이 보유하고 있는 카탈로그와 데이터세트를 표현한다. 데이터맵의 분류체계는 `skos:ConceptScheme`으로 표현하여, 각 분류 항목의 집합을 의미한다. `dm:DatamapStat`은 데이터맵이 보유하고 있는 정량적 수치 정보를 `dm:numberOfDataset`, `dm:numberOfOrganization` 으로 표현하여 총 데이터세트 수와 총 데이터 제공기관 수를 나타낸다.

`dm:owns`는 기관이 데이터맵을 보유하고 관리하고 있음을 표현하며 복수의 데이터맵을 가질 수 있다. 역으로, `dm:operatedBy` 를 통해 데이터맵이 어떤 기관에서 관리되는지 표현할 수 있다. 기관은 `foaf:Organization`, `schema:Organization`을 권장한다.

데이터맵과 카탈로그, 데이터세트의 연결은 다음과 같이 기술될 수 있다. `:datamap-001` 은 `:catalog-001` , `:catalog-002` , `:catalog-003`의 데이터 카탈로그를 가지고, `:dataset-001` , `dataset-002` , `dataset-003` 의 데이터세트를 보유하고 있다.

데이터맵은 이종의 데이터맵과 통합할 수 있다. 2개 이상의 데이터맵이 결합한 데이터맵은 `dm:integratingStatus`를 통해 나타낼 수 있다. 통합된 데이터맵의 데이터맵 수(`dm:numberOfDatamap`), 카탈로그 수(`dm:numberOfCatalog`), 데이터세트 수(`dm:numberOfDataset`)와 컬럼 수(`dm:numberOfColumn`)은 `:datamap-003` 과 `:datamap-004` 의 중복을 포함한 합으로 표현된다. `dm:numberOfColumn`의 집계 기준은 `rdfs:Literal`과 URI로 표현된 모든 컬럼이다. 반면, 문자열로만 표현된 중복값을 제거하고 URI로 식별가능한 `dm:Column`만 집계한 값은 `dm:numberOfColumnURI`로 표현할 수 있다.

Vocabulary specification

Class: Datamap

Class: `dm:Datamap`
Definition: 데이터 서비스 안에 있는 모든 개체와 개체 사이의 메타데이터 관계를 표현하기 위한 클래스
Sub-class of: `rdfs:Resource`
Usage note: `dm:integratingStatus`를 사용하여 단일 데이터맵과 이종 결합된 데이터맵을 구분할 수 있다.

Property: title

Property: `dct:title`
Definition: 데이터맵의 이름
Range: `rdfs:Literal`

Property: description

Property: `dct:description`
Definition: 데이터맵이 표현하는 데이터포털 또는 서비스에 대한 설명
Range: `rdfs:Literal`

Property: issued

Property: `dct:issued`
Definition: 데이터맵을 처음 서비스한 날짜
Range: `rdfs:Literal`
Usage note: ISO 8601 또는 [[XMLSCHEMA11-2]]과 같은 표준을 권장한다. 예:yyyy-mm-dd

Property: modified

Property: `dct:modified`
Definition: 데이터맵을 갱신한 날짜
Range: `rdfs:Literal`
Usage note: ISO 8601 또는 [[XMLSCHEMA11-2]]과 같은 표준을 권장한다. 예:yyyy-mm-dd

Property: has datamap

Property: `dm:hasDatamap`
Definition: 서로 다른 데이터맵을 포함하는 데이터맵 (예: 메타 수준에서 통합된 데이터맵을 구성하기 위해 사용)
Domain: `dm:Datamap`
Range: `dm:Datamap`
Inverse property of: `dm:datamapOf`

Property: datamap of

Property: `dm:datamapOf`
Definition: 상위의 데이터맵에 포함된다
Domain: `dm:Datamap`
Range: `dm:Datamap`
Inverse property of: `dm:hasDatamap`

Property: operated by

Property: `dm:operatedBy`
Definition: 데이터맵은 하나 이상의 기관에 의해 관리된다
Domain: `dm:Datamap`
Usage note: 기관은 URI로 식별가능하도록 `foaf:Organization`, `schema:Organization`을 권장한다.

Property: contributor

Property: `schema:contributor`
Definition: 데이터맵 관리에 기여하는 기관
Domain: `dm:Datamap`
Usage note: 기관은 URI로 식별가능하도록 `foaf:Organization`, `schema:Organization`을 권장한다.

Property: has catalog

Property: `dm:catalog`
Definition: 데이터맵은 데이터 카탈로그를 가진다
Domain: `dm:Datamap`
Range: `dcat:Catalog`

Property: has dataset

Property: `dm:dataset`
Definition: 데이터맵은 하나 이상의 데이터세트를 갖는다
Domain: `dm:Datamap`
Range: `dcat:Dataset`

Property: has column

Property: `dm:column`
Definition: 데이터맵의 데이터세트를 구성하는 컬럼
Domain: `dm:Datamap`, `dcat:Dataset`
Usage note: 데이터세트를 구성하는 컬럼은 문자열과 URI로 표현할 수 있다. 컬럼을 의미적으로 해석하고 중복값 제거를 위해 데이터맵 구축 시, 컬럼의 값으로 `dm:Column`을 권장한다.

Property: url

Property: `schema:url`
Definition: 데이터포털 또는 데이터 서비스의 URL
Domain: `dm:Datamap`
Usage note: 데이터포털의 웹페이지 URL 또는 데이터맵을 구성하는 카탈로그,데이터세트가 존재하는 웹페이지 URL을 기입한다.

Property: endpointURL

Property: `dm:endpointURL`
Definition: 데이터 서비스에 접근할 수 있는 엔드포인트
Domain: `dm:Datamap`
Range: `rdfs:Resource`
Usage note: 데이터 서비스에서 제공하는 자원에 접근 가능한 엔드포인트 URL을 기입한다. 예를 들어, 영국 데이터포털(data.gov.uk)의 sparql endpointURL은 http://statistics.data.gov.uk/sparql이다. 더 많은 예시는 이곳을 참고할 수 있다.

Property: category

Property: `dm:category`
Definition: 데이터포털 또는 데이터 서비스가 사용하는 분류체계
Domain: `dm:Datamap`
Range: `skos:ConceptScheme`
Usage note: 데이터맵의 대상인 데이터포털 또는 데이터서비스에서 제공하는 데이터세트의 분류체계를 나타낸다. `skos:ConceptScheme`은 개별 주제(`skos:Concept`)의 집합을 나타내는 클래스이다. 분류체계를 구성하는 항목들을 탐색하기 위해선 `skos:inScheme`, `skos:relatedMatch`등 속성을 활용할 수 있다.

Property: integrating status

Property: `dm:integratingStatus`
Definition: 이종의 데이터맵과의 결합 여부 (예: Yes 또는 No)
Domain: `dm:Datamap`
Range: `xsd:boolean`
See also: `dm:hasDatamap`, `dm:datamapOf`

Property: available status

Property: `dm:availableStatus`
Definition: 데이터 서비스의 운영 상태 (예: Yes 또는 No)
Domain: `dm:Datamap`
Range: `xsd:boolean`

Property: harvesting status

Property: `dm:harvestingStatus`
Definition: 데이터맵이 외부 데이터의 수집을 포함하고 있는지 여부 (예: Yes 또는 No)
Domain: `dm:Datamap`
Range: `xsd:boolean`
Usage note: 외부 데이터 수집이란 해당 데이터맵의 데이터 서비스가 직접 구축한 데이터가 아닌 외부에서 구축되고 관리하는 데이터를 수집하는 것을 의미한다.

Class: DatamapStat

Class: `dm:DatamapStat`
Definition: 데이터맵의 정량적 수치를 표현하기 위한 클래스
Sub-class of: `rdfs:Resource`

Property: datamapStat

Property: datamapStat `dm:datamapStat`
Definition: 데이터 카탈로그의 정량적 수치를 표현한다.
Domain: `dm:Datamap`
Range: `dm:DatamapStat`

Property: the size of physical datasets

Property: `dm:sizeOfDataset`
Definition: 데이터포털 또는 데이터 서비스에서 제공하는 모든 데이터세트의 물리적 규모
Domain: `dm:DatamapStat`, `dm:CatalogStat`
Range: `xsd:nonNegativeInteger`
Usage note: 데이터맵이 보유한 모든 데이터세트의 메가바이트 총합이다.

Property: the number of datamaps

Property: `dm:numberOfDatamap`
Definition: 데이터맵이 보유한 이종의 데이터맵 수량
Domain: `dm:DatamapStat`
Range: `xsd:nonNegativeInteger`

Property: the number of catalogs

Property: `dm:numberOfCatalog`
Definition: 데이터맵이 갖고 있는 데이터 카탈로그의 수량
Domain: `dm:DatamapStat`
Range: `xsd:nonNegativeInteger`

Property: the number of datasets

Property: `dm:numberOfDataset`
Definition: 데이터포털 또는 데이터 서비스가 제공하는 데이터세트의 총 수량
Domain: `dm:DatamapStat`, `dm:CatalogStat`
Range: `xsd:nonNegativeInteger`

Property: the number of organizations

Property: `dm:numberOfOrganization`
Definition: 데이터포털 또는 데이터 서비스에 데이터를 제공하는 기관의 수량
Domain: `dm:DatamapStat`, `dm:CatalogStat`
Range: `xsd:nonNegativeInteger`

Property: the number of columns

Property: `dm:numberOfColumn`
Definition: 데이터포털 또는 데이터 서비스에서 제공하는 데이터세트의 컬럼 총 수량
Domain: `dm:DatamapStat`, `dm:CatalogStat`
Range: `xsd:nonNegativeInteger`
Usage note: 데이터세트는 `dm:column`을 통해 컬럼을 가진다. 컬럼은 문자열(`rdfs:Literal`)과 URI로 표현할 수 있다. 해당 속성은 `dm:column`으로 표현된 모든 값을 집계하기 때문에 같은 컬럼이 존재해도 중복으로 집계한다.

Property: the number of distinct columns

Property: `dm:numberOfColumnURI`
Definition: 데이터포털 또는 데이터 서비스에서 제공하는 모든 데이터세트의 중복 없는 컬럼의 수량
Domain: `dm:DatamapStat`, `dm:CatalogStat`
Range: `xsd:nonNegativeInteger`
Usage note: URI로 식별가능한 컬럼(`dm:Column`)을 기준으로 집계하여 중복되는 데이터세트의 컬럼을 제외한 컬럼의 총 수량이다.

Property: the number of metadata

Property: `dm:numberOfMetadata`
Definition: 데이터포털 또는 데이터 서비스에서 제공하는 데이터세트 메타데이터 항목 수량
Domain: `dm:Datamap`
Range: `xsd:nonNegativeInteger`
Usage note: 데이터세트의 메타데이터(제목, 설명, 등록일, 제공기관 등) 항목 수를 의미한다. 데이터세트에 대한 설명이 구체적일수록 메타데이터 항목 수가 많다.

Property: the number of tag

Property: `dm:numberOfTag`
Definition: 데이터포털 또는 데이터 서비스에서 사용하고 있는 모든 태그 또는 키워드의 수량
Domain: `dm:DatamapStat`
Range: `xsd:nonNegativeInteger`
Usage note: 데이터세트의 태그 또는 키워드는 `dcat:keyword`로 표현된 값을 집계하는 것을 권장한다.

Property: the number of views

Property: `dm:numberOfView`
Definition: 데이터맵의 모든 데이터세트를 조회한 총 횟수
Domain: `dm:DatamapStat`
Range: `xsd:nonNegativeInteger`

Property: the number of downloads

Property: `dm:numberOfDownload`
Definition: 데이터맵의 모든 데이터세트를 다운로드한 총 횟수
Domain: `dm:DatamapStat`
Range: `xsd:nonNegativeInteger`

Property: the number of registered users

Property: `dm:numberOfRegisteredUser`
Definition: 데이터포털 또는 데이터 서비스에 등록한 사용자 수
Domain: `dm:DatamapStat`
Range: `xsd:nonNegativeInteger`

Class: CatalogStat

Class: `dm:CatalogStat`
Definition: 데이터 카탈로그의 정량적 메타데이터
Sub-class of: `rdfs:Resource`

Property: catalogStat

Property: catalogStat `dm:catalogStat`
Definition: 데이터 카탈로그의 정량적 수치를 표현한다.
Domain: `dcat:Catalog`
Range: `dm:CatalogStat`

Property: the size of physical datasets

Property: `dm:sizeOfDataset`
Definition: 데이터 카탈로그에서 제공하는 모든 데이터세트의 물리적 규모
Domain: `dm:DatamapStat`, `dm:CatalogStat`
Range: `xsd:nonNegativeInteger`
Usage note: 데이터 카탈로그가 보유한 모든 데이터세트의 메가바이트 총합이다.

Property: the number of datasets

Property: `dm:numberOfDataset`
Definition: 데이터 카탈로그에 속한 데이터세트의 총 수량
Domain: `dm:DatamapStat`, `dm:CatalogStat`
Range: `xsd:nonNegativeInteger`

Property: the number of columns

Property: `dm:numberOfColumn`
Definition: 데이터 카탈로그에 속한 데이터세트의 컬럼 총 수량
Domain: `dm:DatamapStat`, `dm:CatalogStat`
Range: `xsd:nonNegativeInteger`
Usage note: 데이터세트는 `dm:column`을 통해 컬럼을 가진다. 컬럼은 문자열(`rdfs:Literal`)과 URI로 표현할 수 있다. 해당 속성은 `dm:column`으로 표현된 모든 값을 집계하기 때문에 같은 컬럼이 존재해도 중복으로 집계한다.

Property: the number of distinct columns

Property: `dm:numberOfColumnURI`
Definition: 데이터 카탈로그에 속한 제공하는 모든 데이터세트의 중복 없는 컬럼의 수량
Domain: `dm:DatamapStat`, `dm:CatalogStat`
Range: `xsd:nonNegativeInteger`
Usage note: URI로 식별가능한 컬럼(`dm:Column`)을 기준으로 집계하여 중복되는 데이터세트의 컬럼을 제외한 컬럼의 총 수량이다.

Property: the number of organizations

Property: `dm:numberOfOrganization`
Definition: 데이터 카탈로그에 속한 데이터세트를 제공하는 기관의 수량
Domain: `dm:DatamapStat`, `dm:CatalogStat`
Range: `xsd:nonNegativeInteger`

Class: Dataset

데이터맵의 데이터세트는 [[VOCAB-DCAT]]의`dcat:Dataset`을 재사용하여 표현한다. [[VOCAB-DCAT]]어휘를 모두 활용할 수 있으며, 더 많은 정보는 `dcat:Dataset`을 확인할 수 있다.

Class: `dcat:Dataset`
Definition: 데이터의 집합
Usage note: `dm:Datamap`은 데이터포털이 제공하는 데이터세트를 `dcat:Dataset`으로 표현한다. 데이터맵과 데이터세트를 연결하는 속성은 `dm:dataset`이다.

Property: title

Property: `dct:title`
Definition: 데이터세트의 제목
Range: `rdfs:Literal`

Property: description

Property: `dct:description`
Definition: 데이터세트의 설명
Range: `rdfs:Literal`

Property: publisher

Property: `dct:publisher`
Definition: 데이터세트의 제공기관
Usage note: 데이터세트를 공개, 개방, 게재하는 기관을 표현한다. `foaf:Organization', `scheme:Organization`을 권장한다.

Property: theme

Property: `dcat:theme`
Definition: 데이터세트의 주제분류
Domain: `dcat:Dataset`
Range: `skos:Concept`

Property: keyword

Property: `dcat:keyword`
Definition: 데이터세트의 키워드
Domain: `dcat:Dataset`

Property: issued

Property: `dct:issued`
Definition: 데이터세트 등록일
Domain: `dcat:Dataset`
Usage note: ISO 8601 또는 [[XMLSCHEMA11-2]]과 같은 표준을 권장한다. 예:yyyy-mm-dd

Property: modified

Property: `dct:modified`
Definition: 데이터세트 수정일
Domain: `dcat:Dataset`
Usage note: ISO 8601 또는 [[XMLSCHEMA11-2]]과 같은 표준을 권장한다. 예:yyyy-mm-dd

Property: contactPoint

Property: `dcat:contactPoint`
Definition: 연락처
Domain: `dcat:Dataset`
Usage note: 데이터세트에 대해 문의가 가능한 연락처 정보를 표현한다. 전화번호나 이메일 등의 정보를 작성할 수 있다.

Class: Column

컬럼은 `skos:Concept`의 속성을 재사용한다. 컬럼을 의미적으로 연결하기 위해 `skos:broader`, `skos:narrower`, `skos:related` 등을 활용한다. 컬럼 간 관계가 정의된 데이터세트는 새로운 정보를 확장하고 추출할 수 있다.

Class: `dm:Column`
Definition: 데이터세트의 개별 컬럼
Sub-class of: `skos:Concept`

Property: title

Property: `dct:title`
Definition: 컬럼명
Range: `rdfs:Literal`

Property: description

Property: `dct:description`
Definition: 컬럼에 대한 설명
Range: `rdfs:Literal`

Property: type

Property: `dct:type`
Definition: 컬럼의 데이터타입
Usage note: 컬럼의 데이터타입을 지정한다. 문자열, 숫자, 날짜 타입과 같은 일반적인 타입이나, 특정 도메인에서 사용하는 코드 또는 단위 등을 지정할 수 있다.

데이터맵 어휘의 적용 사례

사례: 공공데이터포털

공공데이터포털에 있는 데이터 목록을 데이터맵 어휘로 표현할 수 있다. `#data portal`은 데이터맵의 인스턴스이며, 공공데이터포털이 보유하고 있는 데이터세트의 현황과 운영·관리적인 정보를 포함하고 있다. 공공데이터포털의 상세 정보를 표현하기 위해 데이터세트의 규모 (`dm:numberOfDataset`), 개방기관(`dm:numberOfOrganization`), 서비스 상태 (`dm:availableStatus`) 속성을 적용하고 있다. 분류 체계는 공공데이터포털에서 정의한 분류체계를 `skos:ConceptScheme`으로 정의하고, 각 인스턴스는 `skos:Concept`로 정의한다.

example usage of datamap: data.go.kr
Example usage of Datamap: data.go.kr

데이터맵의 연계와 검색

데이터맵은 개별 데이터 서비스에 적용하거나 이종의 데이터맵을 연계해 새로운 데이터맵을 구성할 수 있다. Figure 3에서 보듯이, 데이터맵 공공데이터포털빅데이터 플랫폼 통합데이터지도의 데이터맵 의 통합으로 생성된 메타 수준의 데이터맵이다. 가 동일한 속성 정보를 갖고 있다면 는 집합된 정보로 표현된다. 예를 들어, 데이터세트의 규모는 `dm:numberOfDataset` 속성의 값을 합계해서 집합적으로 표현할 수 있다.

example of datamap concept
Example Datamap concept

아래의 질의는 통합된 데이터맵이 갖고 있는 데이터세트의 규모를 검색하기 위한 `SPARQL` 질의문이다. 이 질의의 결과는 중복을 포함한 66,586개의 데이터세트로, 통합 데이터맵에 연계된 데이터세트의 총 규모를 의미한다(2021년 3월). 즉, 서로 다른 데이터맵 에서 동일한 속성으로 표현한 값은 통합된 데이터맵에서 의미적으로 같은 정보로 해석한다.

반면, 분류체계와 같이 자원 유형(resource)의 값을 갖고 있는 개체는 데이터맵 사이의 의미적 일치 관계를 먼저 정의하고 통합해야 한다. 먼저, 데이터 값의 URI를 식별할 수 있는 체계를 공통으로 적용해 유일성을 보장해야 한다. 예를 들어, 공공데이터포털과 지방자치단체 데이터포털의 분류체계는 동일하지 않다. 교통과 관련된 주제는 ‘교통물류’와 ‘교통’을 사용하고 있기 때문에, 키워드가 아닌 URI 체계를 적용하여 유일성을 보장하는 것이 필요하다. 개별 분류항목은 `skos:Concept`로 구성하고, `skos:relatedMatch`로 연계한다. 이종의 데이터맵에서 사용하는 분류 항목이 연관되어있다면 통합적인 검색이 가능하다. 아래의 질의는 통합 데이터맵에서 분류체계가 ‘교통물류’인 데이터세트의 규모를 확인하는 질의이다. 이 질의를 수행하면 개별 데이터맵에서 ‘교통물류’을 주제로 갖는 데이터포털과 데이터세트 수량을 질의 결과로 얻을 수 있다(2022년 3월).

Acknowledgements

데이터맵 어휘는 [[RDF-SCHEMA]]를 사용하여 형식화된 OWL2 온톨로지 [[OWL2-SYNTAX]] 이다. 데이터맵 어휘의 각 클래스와 속성은 IRI로 표시되며 데이터맵 어휘의 모든 온톨로지 요소는 네임 스페이스 `http://vocab.datahub.kr/def/datamap/`이다. 또한 여러 외부 어휘, 특히 [[VOCAB-DCAT]], [[DCTERMS]] 및 [[SCHEMA-ORG]]에 정의된 요소를 재사용한다.