DSPL 개발자 가이드

DSPL은 데이터 세트 게시 언어를 의미합니다. 표현 형식입니다. metadata (데이터 세트에 대한 정보, 이름 및 공급자, 그 안에 포함되고 표시되는 개념) 및 데이터 세트의 실제 데이터입니다. 이 형식으로 설명된 데이터 세트는 Google 공개 데이터 Google 탐색 도구를 이용하면 Google 지도를 풍부하고 시각적으로 데이터를 수집하는 데 사용됩니다

참고: Google Public Data에 데이터를 업로드하려면 다음 안내를 따르세요. 공개 데이터 업로드 도구를 사용하려면 Google 계정이 있어야 합니다.

이 문서는 자신의 콘텐츠가 공개 데이터 탐색기에서 사용할 수 있습니다. 튜토리얼에서 그치지 않고 DSPL 스키마 및 지원되는 기능에 대해 자세히 알아보세요. 기본적인 지식만 관계형 데이터베이스에 대한 지식도 유용하죠.

필수 사항은 아니지만 튜토리얼을 읽어보는 것이 좋습니다. 이 튜토리얼은 좀 더 짧고 이해하기 쉬울 수 있습니다.

개요

DSPL 데이터 세트는 XML 파일과 CSV 세트를 포함하는 .zip 파일입니다. 할 수 있습니다. CSV 파일은 데이터 세트의 데이터가 포함된 간단한 테이블입니다. XML 파일은 데이터 세트의 메타데이터를 설명합니다. 후자는 측정에 대한 설명과 같은 정보 메타데이터구조적 메타데이터는 테이블 간의 참조와 같습니다. 이 메타데이터 전문가가 아닌 사용자가 데이터를 탐색하고 시각화할 수 있습니다.

절차

일반적으로 DSPL 데이터 세트를 만드는 과정은 다음과 같습니다 (일부 발생할 수 있습니다.

  1. DSPL XML 파일을 만듭니다.
  2. 데이터 세트에 사용할 외부 데이터 소스를 식별합니다.
  3. 개념, 슬라이스, 주제 (선택사항)를 정의합니다. 반복적으로 DSPL 파일의 콘텐츠를 업데이트합니다.
  4. 소스 데이터를 .csv 파일로 내보냅니다.
  5. DSPL 데이터 세트를 만듭니다.
  6. Google에 데이터 세트를 제출합니다.

XML 구조

개요

DSPL XML 파일은 개념, 슬라이스, 주제 및 표 간의 구조적 관계를 나타냅니다. 이 파일은 직접 만들 수 있지만 데이터 처리 도구는 스크립트를 사용하면 프로세스를 크게 간소화할 수 있습니다. 에서 실행됩니다.

파일에는 표에 요약된 여러 섹션이 포함되어 있습니다. 참조하세요. 표에 이어 각 전자에 대해 더 큰 관점에서 자세히 알아보세요.

섹션 요약 추가 정보
헤더 및 가져오기 데이터 세트의 다른 모든 요소의 상위 요소입니다. 다음이 포함됩니다. 대상 네임스페이스 (즉, 식별자)와 네임스페이스를 지정할 수 있습니다 문서
데이터 세트 정보 데이터 세트의 이름, 설명, URL 문서
제공업체 정보 데이터 세트 제공업체의 이름, 설명, URL입니다. 문서
개념

'사물'의 정의 데이터 세트에 표시되는 단어 (예: 국가, 실업률, 성별 등)

각 개념에는 고유한 식별자가 있으며, 이는 슬라이스 및 테이블입니다.

문서
슬라이스

통계 데이터가 있는 개념의 조합은 데이터 세트로 그룹화됩니다. 각 슬라이스에는 측정기준측정항목:

슬라이스는 개념을 참조하며 표도 테이블에는 실제 데이터를 수집하는 데 사용됩니다 각 슬라이스에는 실제 데이터가 포함된 테이블만 확인할 수 있습니다

문서
테이블 개념 및 슬라이스에 대한 데이터를 정의합니다. 개념 테이블 보유 열거형 및 슬라이스 테이블에는 통계 데이터가 포함됩니다. 테이블이 정의됨 실제 데이터를 포함하는 .csv 파일을 가리킵니다. 문서
주제 데이터 세트 개념을 구성하기 위한 카테고리입니다. 필수는 아니지만 이러한 데이터를 탐색하는 사용자에게 매우 유용할 수 있습니다. 문서

헤더 및 가져오기

공개 데이터 네임스페이스 선언

DSPL 데이터 세트는 최상위 수준 <dspl> 요소로 시작합니다. 모든 데이터 세트 정보를 묶고 네임스페이스가 있습니다. 예를 들면 다음과 같습니다.

<?xml version="1.0" encoding="UTF-8"?>
<dspl targetNamespace="http://www.example.com/mystats"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://schemas.google.com/dspl/2010" >
    ...
</dspl>

네임스페이스는 네임스페이스에 연결될 수 있는 XML 스키마 (XML 요소 및 속성 집합) 이 targetNamespace는 데이터 세트를 식별하는 URI를 제공합니다. 이 URI는 실제 리소스를 가리킬 필요는 없지만 콘텐츠를 설명하는 문서로 URI를 확인하는 아이디어나 데이터 세트로 그룹화됩니다.

targetNamespace는 제공할 필요가 없습니다. 만약 사용하지 않는 경우 가져오기 시 자동으로 생성됩니다. 있습니다.

targetNamespace 속성 뒤에는 사용될 다른 XML 스키마를 지정하는 xmlns 속성 있습니다. 모든 DSPL 파일에는 Google 공개 데이터 스키마, URI가 'http://schemas.google.com/dspl/2010' 이를 기본 네임스페이스입니다 또한 표준 W3 XML 스키마도 포함되어야 합니다. 'http://www.w3.org/2001/XMLSchema-instance'로 식별됨 따라서 다른 네임스페이스를 추가하여 데이터를 추출해야 합니다

기타 데이터 세트 네임스페이스 가져오기

데이터 세트는 다른 데이터 세트의 정의 및 데이터를 재사용할 수 있습니다. Google 데이터 세트는 프로젝트 내에서 일반적으로 사용되는 개념을 정의하는 사용자 데이터에 표시됩니다. 예를 들어 대부분의 데이터 세트는 는 년을 나타냅니다. 새로운 개념을 정의하는 대신 연도를 사용하여 'http://www.google.com/publicdata/dataset/time'의 데이터 세트로 그룹화됩니다. 자세한 내용은 표준 개념 페이지를 참조하세요.

외부 데이터 세트를 사용하려면 <import> 요소를 다음 위치에 추가합니다. 네임스페이스 선언 바로 뒤에 DSPL 파일을 추가하고 다음과 같이 가져옵니다.

<import namespace="http://www.google.com/publicdata/dataset/google/time"/>

그런 다음 가져온 네임스페이스 (이 경우 time="http://www.google.com/publicdata/dataset/google/time") 을 다음과 같이 파일 상단의 네임스페이스 선언에 추가합니다.

<?xml version="1.0" encoding="UTF-8"?>
<dspl targetNamespace="http://www.stats-bureau.com/mystats"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://schemas.google.com/dspl/2010"
    xmlns:time="http://www.google.com/publicdata/dataset/google/time" >
<import namespace="http://www.google.com/publicdata/dataset/google/time"/>

이제 DSPL 파일이 Google 공개 데이터의 요소를 참조할 수 있습니다. 시간 데이터 세트와 함께 표시됩니다. 반복 이 프로세스를 실행할 수 있습니다.

외부 데이터 세트의 콘텐츠 참조

다른 데이터 세트를 가져온 후에는 개념, 슬라이스, 데이터를 분류하여 볼 수 있습니다. 이를 위해 prefix:other_id 형식의 참조로, 여기서 prefix는 다음 네임스페이스에 사용되는 접두어입니다. 외부 데이터 세트에 데이터를 추가할 수 있습니다

이 슬라이드는 year 개념을 참조한 time 데이터 세트 (위에 설명됨):

<slices>
  <slice id="country_slice">
    <dimension concept="country"/>
    <dimension concept="time:year"/>
    <metric concept="population"/>
    <table ref="country_slice_table"/>
  </slice>
  ...
</slices>

데이터 세트 정보

<info> 요소에는 설명 정보가 포함됨 학습합니다 관련 XML 요소에 대한 예제와 세부정보는 다음과 같습니다. 참조하세요.

<info>
  <name>
    <value>Unemployment Rates</value>
  </name>
  <description>
    <value>Worldwide unemployment rates by region</value>
  </description>
  <url>
    <value>http://www.example.com/mystats/info.html</value>
  </url>
</info>

요소

요소 필수 여부 설명
<info> 데이터 세트에 대한 모든 설명 정보를 포함합니다. 제공 서비스 하위 요소 <name> <description>, <url>
<name> <info>의 하위 요소입니다. 하위 요소 포함 <value>: 데이터 세트로 그룹화됩니다.
<description> 선택사항 <info>의 하위 요소입니다. 하위 요소 포함 <value>: 데이터 세트로 그룹화됩니다.
<url> <info>의 하위 요소입니다. 더 많은 정보가 포함된 URL 링크 데이터 세트에 관한 정보를 제공합니다

제공업체 정보

<provider> 요소는 데이터 세트 제공자입니다. 관련 XML 요소에 대한 예제와 세부정보는 다음과 같습니다. 참조하세요.

<provider>
  <name>
    <value>Bureau of Statistics</value>
  </name>
  <url>
    <value>http://www.example.com</value>
  </url>
</provider>

요소

요소 필수 여부 설명
<provider> 데이터 세트 제공자에 관한 모든 설명 정보를 포함합니다. 하위 요소 <name><url>입니다.
<name> 선택사항 <provider>의 하위 요소입니다. 하위 요소 포함 <value>: 데이터 세트의 이름을 식별합니다. 제공업체
<url> 선택사항 <info>의 하위 요소입니다. 더 많은 정보가 포함된 URL 링크 데이터 세트 제공자에 관한 정보

개념

설명

각 데이터 세트에는 하나 이상의 개념이 포함됩니다. 개념은 데이터 세트에 표시되는 데이터 유형의 정의입니다. 데이터 세트는 예를 들어 인구통계학적 인구 데이터에는 국가, 주, 인구 및 연도입니다. 에 해당하는 데이터 값은 해당 개념의 인스턴스라고 합니다. 개념은 일반적으로 데이터 세트에 설명되지만 일부 개념 (예: 시간 또는 연도) 외부 데이터 세트에 설명되어 있을 수 있습니다.

각 개념에는 하나 이상의 속성이 있을 수 있습니다. 속성은 시간이 지남에 따라 안정적인 개념 인스턴스의 특성입니다. 예를 들어 국가 개념은 name 속성을 가질 수 있습니다. population, capital

개념은 하나 이상의 속성을 가질 수도 있습니다. 속성은 개별 인스턴스가 아닌 개념 수준에서 정보를 수집합니다. 대상 예를 들어 실업률 개념이 포함된 데이터 세트가 있다면 속성을 사용하여 이 개념이 백분율임을 나타낼 수 있습니다. 속성의 일반적인 용도의 또 다른 예는 확인할 수 있습니다

다음은 고유 ID가 있는 국가 개념의 예입니다. countryname 속성 개념 ID는 슬라이스와 테이블에서 개념을 참조하는 데 사용됩니다.

<concept id="country" extends="geo:location">
  <info>
    <name><value>Country</value></name>
    <description>
      <value>My list of countries.</value>
    </description>
  </info>
  <type ref="string"/>
  <property id="name">
    <info>
      <name><value>Name</value></name>
      <description>
        <value>The official name of the country</value>
      </description>
    </info>
    <type ref="string" />
  </property>
  <property concept="geo:continent" isParent="true"/>
  <property id="capital" concept="geo:city" />
  <table ref="countries_table" />
</concept>

예제의 기본 원리는 다음과 같습니다.

  • 이 코드는 countryname 속성 continent, capital
  • 이 개념은 geo:location, 즉 위치를 참조하세요. geo:location, country를 확장하여 확장된 개념으로 정의된 모든 속성과 속성을 상속합니다. 속성 이름, 설명, URL, 위도 및 경도입니다. 보통 country가 이러한 속성 중 일부를 재정의하고 제공된 속성과 일치하는 경우에 한합니다. 이해할 수 있습니다.
  • <info> 요소의 개념은 키를 설명합니다. 개념에 대한 정보를 얻을 수 있습니다. 이는 데이터 세트의 공개 데이터 탐색기의 방문 페이지
  • <type> 요소의 개념은 있습니다. 여기서는 문자열이지만 다를 수 있습니다. 기본 개념 인구의 유형은 integer입니다. 개념 Eurovision winner의 유형은 불리언일 수 있습니다.
  • <property> 요소는 고유 ID (id), info, type입니다. 속성은 또한 개념을 참조할 수 있습니다. 해당 값이 이러한 개념의 유효한 인스턴스임을 나타냅니다.
  • 이 개념은 다음 항목을 가리키는 데이터 테이블을 참조합니다. 실제 데이터가 포함된 CSV 파일로 복사됩니다. 데이터 테이블이 참조됨 예를 들면 다음과 같습니다. <table ref="countries_table"/>

    개념이 테이블을 참조하는 경우 관련 데이터 파일에 개념의 모든 인스턴스입니다. 예를 들어 테이블을 만들 수는 없습니다. 데이터 세트에 포함된 몇 개의 국가만 나와 있습니다. (있는 경우 원하는 국가의 하위 집합인 경우 개념을 설명하는 데 사용됩니다. 예: mycountries).

요소

요소 필수 여부 설명
<concepts> 최상위 요소 모든 <concept> 포함 요소
<concept> 개념을 식별합니다. 필수 속성 값입니다. id는 데이터 세트 내의 개념에 고유해야 합니다. 만약 개념은 개념 데이터 테이블을 참조하며, id은(는) 개념을 설명하는 열 제목과 일치해야 합니다. 데이터 표입니다. extends 속성은 이 개념은 또 다른 개념을 확장합니다. 이 extends는 동일하게 정의된 개념의 ID와 일치해야 합니다. 데이터 세트이거나 prefix:concept_id 형식이어야 합니다. 여기서 concept_id는 가져온 prefix와 연결된 외부 데이터 세트입니다.
<info> 선택사항 개념에 대한 설명 정보를 포함합니다.
<name> <info>의 하위 요소입니다. 개념의 이름입니다. 이 하위 요소 <value>에 예를 들면 Country입니다.
<description> 선택사항 <info>의 하위 요소입니다. 하위 요소 포함 <value>: 있습니다.
<url> 선택사항 <info>의 하위 요소입니다. 하위 요소 포함 <value>: 있습니다.
<pluralName> 선택사항 <info>의 하위 요소입니다. 복수형 이름은 있습니다. 하위 요소 <value>에 텍스트가 포함되어 있습니다. - 예: Countries
<totalName> 선택사항 <info>의 하위 요소입니다. 조합의 이름입니다. 개념의 모든 인스턴스입니다. 하위 요소 <value> 텍스트를 포함합니다(country의 경우). 예를 들어 World일 수 있습니다.
<type> 선택사항 개념으로 설명된 콘텐츠의 유형을 식별합니다. 필수 ref 속성에 허용되는 값은 다음과 같습니다. <ph type="x-smartling-placeholder">
    </ph>
  • 문자열
  • float
  • 정수
  • 날짜
  • 부울
해당 개념이 다른 개념을 확장하는 경우 유형이 생략될 수 있습니다. 이 경우 확장된 개념에서 상속됩니다.
<property> 선택사항

개념의 속성(예: capital) 값은 필수 속성(id)이 있습니다. 선택사항인 concept 속성을 사용하여 다음을 수행할 수 있습니다. 이 속성의 값이 지정된 있습니다. concept를 지정하면 id 생략할 수 있습니다. 값은 참조된 개념 (예: <property concept="geo:country"/>는 다음과 동일합니다. <property id="country" concept="geo:country"/>).

속성에는 부울 isParent 속성이 포함될 수 있습니다. 개념의 인스턴스 간의 관계를 나타냄 이 속성의 값은 계층적입니다.

속성에는 부울 isMapping 속성이 포함될 수 있습니다. 은 개념과 속성의 값을 나타냅니다.

속성은 중첩된 infotype: 개념과 동일하게 정의됩니다. 속성에서 속성이 지정되지 않은 경우 type가 필요합니다. concept 속성이며 있는 경우 해당 개념을 참조한 것입니다.

<attribute> 선택사항

개념의 속성입니다. 속성은 개념에 대한 정보 (예: GDP는 백분율임). 값은 필수 속성(id)이 있습니다. 선택사항인 concept 속성을 사용하여 다음을 수행할 수 있습니다. 이 속성의 값이 지정된 있습니다. concept를 지정하면 id 생략할 수 있습니다. 해당 값은 참조된 개념입니다. (예: <attribute concept="unit:unit"/>는 다음과 동일합니다. <attribute id="unit" concept="unit:unit"/>입니다.

속성은 중첩된 infotype: 개념과 마찬가지로 정의됩니다. type는 속성이 concept 속성이며 있는 경우 해당 개념을 참조한 것입니다.

<table> 선택사항 개념에 대한 데이터가 포함된 데이터 테이블을 식별합니다. 이 필수 ref 속성의 값이 표와 일치해야 합니다. 관련 <table> 요소에 지정된 ID입니다.

슬라이스

설명

슬라이스는 데이터가 존재하는 개념의 조합입니다. 한 조각 에는 두 가지 개념 참조인 측정기준측정항목: 측정기준은 세그먼트를 분류하거나 필터링하는 데 사용되는 개념입니다. 데이터를 수집하는 데 사용됩니다 반면 측정항목은 관찰된 값 또는 각 데이터 포인트와 연결된 값

일반적으로 측정기준은 범주형이지만 측정항목은 범주형이 아닙니다. 시간 변동이 있는 숫자 값입니다. 각각에 대한 몇 가지 프로토타입 예는 다음과 같습니다. 다음과 같습니다.

  • 측정기준: 국가, 주, 카운티, 지역, 연도, 월, 성별, 연령 카테고리, 업종 세그먼트
  • 측정항목: 인구, GDP, 실업률, 문해력, 수익, 비용, 가격

<slices>
  <slice id="country_slice">
    <dimension concept="country"/>
    <dimension concept="time:year"/>
    <metric concept="population"/>
    <table ref="country_slice_table"/>
  </slice>
  ...
</slices>

예제의 기본 원리는 다음과 같습니다.

  • 이 슬라이스는 국가별 인구를 나타냅니다.
  • population 측정항목과 측정기준이 있습니다. country, year 각 측정기준은 이미 다른 곳에 정의되어 있습니다 country 개념 및 측정항목 population가 현재 슬라이스와 동일한 데이터 세트에 있습니다. 다음과 같이 참조됩니다. concept="country"
  • 가져온 데이터 세트 시간에 year 개념이 있습니다. 개념 이름 (year) 앞에 사용된 접두사로 식별 다음과 같이 수정합니다. concept="time:year"
  • 슬라이스가 CSV 파일을 가리키는 데이터 테이블을 참조합니다. 실제 데이터를 포함합니다. 데이터 테이블은 다음과 같이 참조됩니다. <table ref="country_slice_table"/> (위 참조) 자세한 내용은 데이터 세트 참조)

참고: 일반적으로 데이터 세트는 측정항목을 최소로 유지하고 의미 있는 측정항목이나 측정기준에 따라 달라집니다. 예를 들어, 시간 경과에 따라 Female Unemployment님 및 Male Unemployment님, 단일 측정항목 Unemployment을 만들고 측정기준을 추가합니다. Female 및 인스턴스가 있는 Gender Male

요소

요소 필수 여부 설명
<slices> 최상위 요소 모든 <slice> 포함 요소
<slice> 선택사항 슬라이스를 식별합니다. 필수 속성 값입니다. id는 슬라이스별로 고유해야 합니다.
<dimension> 선택사항 개념을 참조하여 슬라이스의 차원을 정의합니다. 이 필수 속성 concept의 값이 정확하게 일치해야 합니다. 개념의 고유 ID이며 개념이 가져온 외부 데이터 세트에 속하는지 확인할 수 있습니다
<metric> 선택사항 개념을 참조하여 슬라이스의 측정항목을 정의합니다. 값은 필수 속성인 concept이(가) 다음과 정확하게 일치해야 합니다. 개념의 고유 ID이며 개념이 데이터를 가져오는 것입니다
<table> 슬라이스의 데이터가 포함된 데이터 테이블을 식별합니다. 값은 필수 ref 속성의 값은 테이블 ID와 일치해야 합니다. 관련 <table> 요소에 지정되어 있습니다.
<mapDimension> 선택사항 <table>의 하위 요소입니다. concepttoColumn 속성을 포함합니다. 첫 번째의 값은 슬라이스의 차원이고 두 번째의 값은 표 열입니다. 전자에 해당합니다.
<mapMetric> 선택사항 <table>의 하위 요소입니다. concepttoColumn 속성을 포함합니다. 첫 번째의 값은 슬라이스의 측정항목을 볼 수 있고 두 번째의 값은 표의 열입니다. 전자에 해당합니다.

테이블

설명

DSPL 파일의 tables 섹션은 테이블을 생성할 수 있습니다 이러한 테이블은 개념 또는 리소스별로 참조할 수 있습니다. 슬라이스로 분할됩니다. 각 <table> 요소는 테이블 및 테이블 유형, 테이블이 포함된 CSV 파일을 가리킵니다. 데이터를 수집하는 데 사용됩니다

<tables>
  <table id="country_slice_table">
    <column id="country" type="string"/>
    <column id="year" type="date" format="yyyy"/>
    <column id="population" type="integer"/>
    <data>
      <file format="csv" encoding="utf-8">country_slice.csv</file>
    </data>
  </table>
  ...
</tables>

샘플의 기본 원리는 다음과 같습니다.

  • 이 샘플은 country_slice_table 테이블을 설명합니다. 이 테이블에 country, year, 열이 있음 population입니다.
  • 테이블의 각 열에는 id 속성 이 ID는 열 머리글이 표시됩니다.
  • 선택적 type 속성의 값은 데이터를 정의합니다. 지정할 수도 있습니다
  • <data> 요소는 실제 .csv 파일을 설명합니다. (country_slice.csv) - 테이블의 데이터가 포함됩니다. 파일 형식은 다음과 같습니다. 항상 csv입니다.

요소

요소 필수 여부 설명
<tables> 최상위 요소 모든 <table> 포함 요소
<table> 테이블을 식별합니다. 필수 속성 값입니다. id는 테이블에서 고유해야 합니다.
<column> 선택사항 <table>의 하위 요소입니다. 열에 관한 정보 포함되어 있습니다. 다음 속성이 포함됩니다. <ph type="x-smartling-placeholder">
    </ph>
  • id (필수): 열의 ID입니다.
  • type (선택사항): 정보의 데이터 유형 지정된 열에 표시됩니다. 허용되는 값은 string입니다. float, integer, date 또는 boolean입니다.
<data> 선택사항 <table>의 하위 요소입니다. 에서 참조하는 데이터 파일 할 수 있습니다. 파일 이름이 URL 형식인 경우 (예: http://...)이 포함된 경우 적절한 프로토콜 (HTTP, HTTPS 또는 FTP) 그렇지 않으면 파일이 데이터 세트와 함께 번들로 제공되어야 합니다. 필수 속성 format의 값은 항상 csv입니다. encoding 속성은 선택사항이므로 .csv 파일은 UTF-8로 인코딩해야 합니다.

주제

설명

Topics는 개념을 계층적으로 분류하여 사용자가 탐색할 수 있도록 합니다. 데이터 세트를 더 쉽게 살펴볼 수 있습니다

<topics> 요소는 <concepts> 요소를 포함해야 합니다. (순서 요소가 중요하며, 파일이 업로드되지 않은 경우 데이터 세트를 업로드하지 요소가 잘못된 순서로 표시됨). 주제를 사용하려면 개념 정의입니다.

다음은 주제 정의의 예입니다.

<topics>
  <topic id="population_indicators">
    <info>
      <name>
        <value>Population indicators</value>
      </name>
    </info>
  </topic>
  ...
</topics>
  

...다음은 개념에서 이 주제를 참조한 예시입니다.

<concept id="population">
  <info>
    <name>
      <value>Population</value>
    </name>
    <description>
      <value>Size of the resident population.</value>
    </description>
  <topic ref="population_indicators"/>
  <type ref="integer"/>
</concept>

주제는 중첩될 수 있으며 개념은 둘 이상의 주제를 참조할 수 있습니다.

요소 정의

요소 필수 여부 설명
<topics> 최상위 요소 모든 <topic> 포함 요소
<topic> 주제를 식별합니다. 필수 속성 값입니다. id는 데이터 세트에서 고유해야 합니다.
<info> 선택사항 <topic>의 하위 요소입니다. 다음에 대한 정보를 포함합니다. 주제에 대해 살펴보겠습니다.
<name> 선택사항 <info>의 하위 요소입니다. 하위 요소 <value>은 주제의 이름을 지정합니다.

DSPL 데이터 파일

XML 메타데이터 파일 외에 DSPL 데이터 세트는 CSV 형식으로 된 1개 이상의 데이터 파일을 포함합니다. 각 데이터 파일 는 데이터 세트의 테이블을 지원하고 <data>...</data> 섹션. 개념적으로 이러한 파일은 연결된 테이블은 정의 또는 슬라이스 데이터. 이러한 각 데이터 파일 형식은 아래에 자세히 설명되어 있습니다.

용도에 관계없이 모든 데이터 파일은 쉼표로 구분된 (CSV) UTF-8 텍스트 파일입니다. 파일에는 일반 text; HTML이 없습니다. 데이터 파일은 수동으로 만들 수 있지만, 원본 데이터가 포함된 도구에서 데이터를 마사지해야 함 소스 (예: 스프레드시트) 또는 내보낸 파일 자체에 있습니다.

파일은 데이터 세트와 함께 번들로 묶거나, 이름이 원격 소스에서 HTTP, HTTPS 또는 FTP를 통해 가져온 URL입니다.

개념 데이터 파일

개념 데이터 파일에는 각 개념에 대한 관련 정보가 포함되어 있습니다. 이 개념 정의는 <table> 요소를 사용하여 이 파일을 찾습니다.

다음은 country 개념에 관한 표의 예입니다. 다음을 정의합니다.

country, name
AD, Andorra
AF, Afghanistan
AI, Anguilla
AL, Albania
AO, Angola
AQ, Antarctica
AS, American Samoa

이 예제의 작동 방식은 다음과 같습니다.

  • 매핑이 지정되지 않으면 데이터 파일의 첫 번째 줄 (열 제목)가 개념 ID 및 해당 속성과 정확히 일치해야 합니다. ID를 나타냅니다. 하지만 열의 값은 데이터 파일에서 동일하지 않아도 되며 개념 테이블입니다. 이 경우 첫 번째 열은 개념 country이고 두 번째 열은 속성 name입니다.
  • 속성 열은 선택사항입니다. 속성에 열이 없는 경우 인 경우 각 행에 대해 값이 정의되지 않은 것으로 가정됩니다. 이 예를 들어 위의 표에서는 latitude 열을 생략하고 longitude 속성이기 때문에 국가를 매핑할 수 없습니다.
  • 개념의 ID 필드의 각 값 (이 경우 country)는 고유해야 하며 비어 있지 않아야 합니다 (빈 필드는 1). 0개 또는 공백 문자만 포함된 경우).
  • 다른 개념을 참조하는 속성 값은 비어 있거나 참조된 개념의 유효한 값이어야 합니다.
  • 큰따옴표로 묶는 값은 다음과 같은 경우를 제외하고 선택사항입니다. 쉼표, 큰따옴표, 줄바꿈 문자가 포함되지 않아야 합니다.
  • 값에 표시되는 리터럴 큰따옴표를 앞에 배치하여 이스케이프 처리합니다. 다른 큰따옴표로 묶습니다

슬라이스 데이터 파일

슬라이스 데이터 파일에는 각 슬라이스에 대한 관련 데이터가 포함됩니다. 조각 정의는 <table ref="..."> 요소를 사용하여 <table> 정의를 참조하여 이 파일을 찾습니다.

다음은 위에 설명된 population_by_country 슬라이스:

country, year, population
AF, 1960, 9616353
AF, 1961, 9799379
AF, 1962, 9989846
AF, 1963, 10188299

예제의 작동 방식은 다음과 같습니다.

  • 측정항목 필드는 population입니다. 필드 countryyear는 측정기준 필드입니다.
  • 측정기준 필드의 각 값은 비어 있지 않아야 합니다. 여기에는 측정기준에 따라 달라집니다. 측정항목 필드 값은 비워 둘 수 있습니다. 빈 값은 어떤 문자로도 표현되지 않습니다.
  • 개념을 참조하는 각 열 제목 (예: 첫 번째 필드는 country 개념을 참조)는 필수 항목입니다. 개념 정의에 있는 개념의 고유 ID와 정확하게 일치해야 합니다.
  • 측정기준 값의 고유한 조합(예: AF, 2000, 한 번만 발생할 수 있습니다.
  • 동일한 시계열의 행 (즉, 조합이 동일한 행) (시간을 제외한 모든 측정기준 값)은 함께 그룹화되어야 하지만 달리 정렬할 필요가 없습니다.

고급 기능

다국어 데이터 세트

번역된 XML 값

xml:lang 속성을 <value> 요소를 포함해야 합니다. 이 속성 는 표준, W3C 언어 태그를 추가합니다. 이 기능의 사용은 선택사항입니다. '아니요'인 경우 xml:lang 속성이 포함되면 콘텐츠가 영어입니다.

다음 예는 영어로 된 데이터 세트의 스니펫을 보여줍니다. 불가리아어, 카탈로니아어, 중국어 간체:

<dspl ...>
  <info>
    <name>
      <value xml:lang="en">World Bank, World Development Indicators</value>
      <value xml:lang="bg">Световна банка, Индикатори за световно развитие</value>
      <value xml:lang="ca">Banc Mundial, Indicadors del desenvolupament mundial</value>
      <value xml:lang="zh-CN">国家/地区</value>
    </name>
    ...
  </info>

  <concepts>
    <concept id="country">
      <info>
        <name>
          <value xml:lang="en">Country</value>
          <value xml:lang="bg">Страна</value>
          <value xml:lang="ca">País</value>
          <value xml:lang="zh-CN">国家/地区</value>
        </name>
        ...
      </info>
      ...
    </concept>
    ...
  </concepts>

  ...
</dspl>

번역된 속성

경우에 따라 영어 이외의 언어 또는 개념 수준의 메타데이터로, 개별 콘텐츠에 추가적으로 (또는 그 대신) 개념 인스턴스입니다. 이는 개념의 값이 속성 (예: 이름)은 언어에 따라 다릅니다.

이러한 값을 여러 언어로 제공하려면 각 숙박 시설/언어 조합에 해당하는 정의 표. 그런 다음 테이블에 <mapProperty xml:lang="..." ref="..." toColumn="..."> 요소 세트 추가 참조 태그입니다.

다음은 영어로 된 이름으로 국가 개념을 정의하는 예입니다. 스페인어 및 프랑스어:

<concepts>
  ...
  <concept id="country" extends="geo:location">
    ...
    <property id="name">
      <info>
        <name>
          <value>Name</value>
        </name>
        <description>
          <value>The official name of the country</value>
        </description>
      </info>
      <type ref="string" />
    </property>
    ...
    <table ref="countries_table">
      <mapProperty xml:lang="en" ref="name" toColumn="name_en"/>
      <mapProperty xml:lang="es" ref="name" toColumn="name_es"/>
      <mapProperty xml:lang="fr" ref="name" toColumn="name_fr"/>
    </table>
  </concept>
  ...
</concepts>

...

<tables>
  ...
  <table id="countries_table">
    <column id="country" type="string"/>
    <column id="name_en" type="string"/>
    <column id="name_es" type="string"/>
    <column id="name_fr" type="string"/>
    ...
  </table>
</tables>

그러면 countries_table의 CSV 파일에는 다음 양식을 제출해 주세요.

country,name_en,name_es,name_fr,...
...
US,United States of America,Estados Unidos de América,États-Unis d'Amérique,...
...

매핑 가능한 개념

많은 개념 (예: 카운티, 주, 도시)에는 지리적 위치에 해당하는 인스턴스가 있습니다. DSPL 은 이러한 인스턴스를 지오코딩할 수 있도록 지원하여 Google Public Data 애니메이션 지도 차트입니다.

개념이 전 세계 국가, 미국 주 또는 미국과 동일한 경우 해당 Google 표준 URL을 개념 명시적인 지오코딩이 필요하지 않습니다. 자세한 내용은 표준 개념 가이드를 참조하세요. 확인하세요.

그렇지 않은 경우 개념을 매핑할 수 있도록 해야 합니다. 첫 번째 단계는 geo:location에서 확장되도록 합니다.

<concept id="..." extends="geo:location">
  ...
</concept>

그런 다음 위도 및 경도를 속성으로 명시적으로 추가해야 합니다.

<concept id="..." extends="geo:location">
  ...
  <property id="latitude"/>
  <property id="longitude"/>
</concept>
  

그러면 이러한 값이 해당하는 열의 열로 지정됩니다. 개념 정의 데이터 테이블보다 20% 빠릅니다.

개념 관계

개념은 구조화된 방식으로 다른 개념과 관련된 경우가 많습니다. 대상 한 대륙 인스턴스에 국가 인스턴스는 여러 개의 주 또는 도 인스턴스 이러한 파일을 인코딩하면 데이터 세트 메타데이터의 관계로 더욱 풍부한 시각화 가능 접을 수 있는 나무를 표시하는 등 가능한 모든 기능을 제공합니다. 선택할 수 있습니다.

다음 섹션에서는 살펴보겠습니다

계층 구조

개념 계층 구조는 isParent="true" 속성 다음을 포함하는 하위 개념의 <property> 태그 상위 개념의 인스턴스 식별자를 가져옵니다.

예를 들어 Google의 US 카운티 개념은 다음 양식을 제출해 주세요.

<concept id="us_county" extends="geo:location">
  <info>
    <name>
      <value xml:lang="en">County</value>
    </name>
    ...
  </info>
  ...
  <property id="state" concept="us_state" isParent="true"/>
  ...
  <data>
    <table ref="reference_us_counties"/>
  </data>
</concept>
  

지원 데이터 테이블에는 state 열이 있습니다. 두 글자로 된 주 코드입니다. 이러한 유형의 메타데이터를 사용하면 주와 카운티를 계층 구조, 지형지물로 표시하는 Public Data Explorer 사용자가 훨씬 더 쉽게 탐색할 수 있습니다.

개념에는 하위 요소가 여러 개 있을 수 있지만 하나 상위 항목을 참조하세요.

매핑

개념 매핑 (즉, 동일한 대상과 근본적으로 동일한 isMapping="true"를 통해 표현됩니다. 매핑된 개념의 property 태그에 있는 속성입니다.

한 개념이 다른 개념에 매핑되도록 지정하면 전자는 특정 개념을 하위 요소의 모든 속성과 속성을 정의합니다. 여러 애플리케이션 중에서도 이것은 개인의 지리적 개념과 Google의 표준 지역 데이터 세트에 정의된 값:

<concept id="my_country" extends="geo:location">
  <info>
    <name>
      <value xml:lang="en">Country</value>
    </name>
    ...
  </info>
  ...
  <property id="google_country_code" concept="geo:country" isMapping="true"/>
  <data>
    <table ref="countries_concept"/>
  </data>
</concept>
  

확장 프로그램

개념 확장 프로그램은 extends 요소를 통해 지정됩니다. 관련 개념 정의에 포함되지 않습니다. 확장 프로그램은 특정 개념이 다른 더 광범위한 개념의 하위 클래스라는 것을 배웁니다. 이 확장된 개념은 상위 요소의 모든 속성과 속성을 상속하며 항목을 더 추가할 수도 있습니다

예를 들어 Google의 currency 개념은 unit:

<concept id="unit">
  ...
</concept>

<concept id="currency" extends="unit">
  <info>
    <name>
      <value xml:lang="en">Currency unit</value>
    </name>
    ...
  </info>
  ...
  <table ref="currency_table"/>
</concept>
  

자세한 내용은 개념 확장 프로그램을 참조하세요.

데이터 세트 제출

Google Public Data Explorer에 데이터 세트를 제출하려면 다음 단계를 따르세요. 다음 안내를 따르세요.

  1. 디렉터리를 만듭니다.
  2. 생성한 디렉터리에 데이터 세트 dspl 파일을 저장합니다. 반드시 .xml 확장자를 사용합니다.
  3. 모든 로컬 .csv 파일을 같은 디렉터리에 저장합니다. 사용 가능한 생략할 수 있습니다.
  4. 디렉터리를 압축합니다.
  5. Google Public Data에 데이터 세트 업로드 익스플로러를 탭합니다.

데이터 세트가 업로드되고 검증되면 서명될 때 테스트할 수 있습니다. Google 계정에 로그인합니다. 확인할 때까지는 게시되지 않습니다. 준비가 되었다고 말합니다.