DSPL adalah singkatan dari {i>Dataset Publishing Language<i}. Ini adalah format representasi untuk metadata (informasi tentang set data, seperti nama dan penyedianya, serta konsep yang dimuat dan ditampilkan di dalamnya) dan data sebenarnya dari set data. Set data yang dijelaskan dalam format ini dapat diimpor ke Penjelajah Data Publik Google, sebuah alat yang memungkinkan eksplorasi data yang lengkap dan visual.
Catatan: Untuk mengupload data ke Google Data Publik menggunakan alat upload Data Publik, Anda harus memiliki Akun Google.
Dokumen ini ditujukan untuk pemilik data yang ingin kontennya tersedia di Penjelajah Data Publik. Selain Tutorial, Anda dapat mempelajari lebih lanjut detail skema DSPL dan fitur yang didukung. Hanya asumsi dasar tentang XML yang diasumsikan, meskipun pengetahuan tentang database relasional juga berguna.
Meskipun bukan persyaratan, sebaiknya baca Tutorial yang lebih singkat dan mudah dipahami sebelum melihat dokumen ini.
Ringkasan
Set data DSPL adalah file .zip yang berisi file XML dan serangkaian file CSV. File CSV adalah tabel sederhana yang berisi data set data, sedangkan file XML menjelaskan metadata set data. Yang kedua mencakup metadata informasional seperti deskripsi ukuran, serta metadata struktural seperti referensi antar-tabel. Metadata ini memungkinkan pengguna non-ahli untuk menjelajahi dan memvisualisasikan data Anda.
Proses
Secara umum, proses pembuatan set data DSPL adalah sebagai berikut (beberapa langkah dapat dilakukan secara paralel):
- Buat file XML DSPL.
- Identifikasi sumber data eksternal yang akan digunakan dalam set data Anda.
- Tentukan konsep, bagian, dan (secara opsional) topik. Perbarui konten file DSPL Anda secara iteratif.
- Ekspor data sumber ke file .csv.
- Membuat set data DSPL.
- Kirim set data ke Google.
Struktur XML
Ringkasan
File XML DSPL menentukan metadata set data, termasuk hubungan struktural antara konsep, irisan, topik, dan tabel. Meskipun file ini dapat dibuat secara manual, skrip dan alat pemrosesan data dapat menyederhanakan prosesnya. Lihat contoh file DSPL di jendela baru.
File ini mencakup sejumlah bagian, yang diringkas dalam tabel di bawah. Setelah tabel tersebut, kami menjelaskan setiap variabel secara lebih mendetail.
Bagian | Ringkasan | Info Selengkapnya |
---|---|---|
Header dan Impor | Induk untuk semua elemen set data lainnya. Mencakup namespace target (yaitu ID) untuk set data, bersama dengan namespace setiap set data yang diimpor. | Dokumentasi |
Informasi Set Data | Nama, deskripsi, dan URL set data. | Dokumentasi |
Informasi Penyedia | Nama, deskripsi, dan URL penyedia set data. | Dokumentasi |
Konsep |
Definisi "objek" yang muncul dalam set data (mis., negara, tingkat pengangguran, gender, dll.) Setiap konsep memiliki ID unik, yang dapat direferensikan oleh slice dan tabel. |
Dokumentasi |
Slice |
Kombinasi konsep yang disertai data statistik dalam set data. Setiap irisan berisi dimensi dan metrik. Konsep referensi Slice, dan juga tabel, yang berisi data aktual. Setiap irisan memiliki ID unik yang dapat direferensikan oleh tabel yang berisi data aktual. |
Dokumentasi |
Tables | Menentukan data untuk konsep dan irisan. Tabel konsep menyimpan enumerasi dan tabel irisan menyimpan data statistik. Tabel ditetapkan dalam file XML, dan mengarah ke file .csv yang berisi data aktual. | Dokumentasi |
Topik | Kategori untuk mengatur konsep set data. Meskipun tidak wajib, parameter ini dapat sangat membantu pengguna saat membuka data Anda. | Dokumentasi |
Header dan Impor
Mendeklarasikan namespace Data Publik
Set data DSPL dimulai dengan elemen <dspl>
tingkat atas.
Atribut ini digunakan untuk menyertakan semua informasi set data dan menunjukkan
namespace apa pun yang akan digunakan di seluruh file. Berikut contohnya:
<?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>
Namespace adalah ID unik yang dapat dikaitkan dengan skema XML (serangkaian elemen dan atribut XML). targetNamespace
menyediakan URI yang mengidentifikasi set data Anda.
URI ini tidak diperlukan untuk mengarah ke resource sebenarnya, tetapi sebaiknya URI di-resolve ke dokumen yang menjelaskan konten atau set data Anda.
Anda tidak perlu memberikan targetNamespace
. Jika tidak, kode akan dibuat secara otomatis untuk Anda pada waktu impor.
Atribut targetNamespace
diikuti oleh serangkaian atribut xmlns
yang menentukan skema XML lain yang akan digunakan dalam file tersebut. Setiap file DSPL harus menyertakan skema Data Publik Google, dengan URI-nya "http://schemas.google.com/dspl/2010" dan menggunakannya sebagai namespace default. Kebijakan ini juga harus menyertakan skema XML W3 standar
yang diidentifikasi oleh "http://www.w3.org/2001/XMLSchema-instance". Seperti yang dijelaskan di bagian selanjutnya, namespace lain dapat ditambahkan untuk menyertakan informasi dari set data lain.
Mengimpor namespace set data lain
Set data dapat menggunakan kembali definisi dan data dari set data lain. Google, misalnya, menyediakan sejumlah set data dasar yang menentukan konsep yang umumnya muncul dalam data pengguna. Misalnya, sebagian besar set data memerlukan konsep untuk merepresentasikan tahun. Daripada menetapkan konsep baru, Anda dapat menggunakan konsep tahun dari set data "http://www.google.com/publicdata/dataset/time". Lihat halaman Konsep Kanonis untuk mengetahui informasi selengkapnya.
Untuk menggunakan set data eksternal, tambahkan elemen <import>
ke file DSPL tepat setelah deklarasi namespace, dan tunjukkan ruang data yang Anda impor, seperti ini:
<import namespace="http://www.google.com/publicdata/dataset/google/time"/>
Kemudian, tambahkan namespace yang diimpor (dalam hal ini,
time="http://www.google.com/publicdata/dataset/google/time"
)
ke deklarasi namespace di bagian atas file, seperti ini:
<?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"/>
File DSPL Anda sekarang dapat mereferensikan elemen dari set data waktu Data Publik Google. Ulangi proses ini untuk setiap set data yang ingin Anda rujuk.
Mereferensikan konten dalam {i>dataset<i} eksternal
Setelah mengimpor set data lain, Anda harus dapat merujuk konsep, irisan, dan data dari set data tersebut. Untuk melakukannya, Anda dapat menggunakan
referensi format prefix:other_id
, dengan
prefix
adalah awalan yang digunakan untuk namespace
set data eksternal.
Berikut adalah contoh referensi konsep year
dari set data time
(dijelaskan di atas):
<slices> <slice id="country_slice"> <dimension concept="country"/> <dimension concept="time:year"/> <metric concept="population"/> <table ref="country_slice_table"/> </slice> ... </slices>
Informasi Set Data
Elemen <info>
menyertakan informasi deskriptif
tentang set data. Contoh dan detail tentang elemen XML yang relevan tercantum di bawah.
Contoh
<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>
Elemen
Elemen | Wajib diisi? | Deskripsi |
---|---|---|
<info> |
Ya | Mencakup semua informasi deskriptif tentang {i>dataset<i}. Menyertakan elemen turunan <name> , <description> , dan <url> . |
<name> |
Ya | Turunan dari <info> . Menyertakan elemen turunan <value> , yang mengidentifikasi nama set data. |
<description> |
Opsional | Turunan dari <info> . Menyertakan elemen turunan <value> , yang mencakup deskripsi teks dari set data. |
<url> |
Ya | Turunan dari <info> . Link ke URL dengan informasi selengkapnya tentang set data. |
Informasi Penyedia
Elemen <provider>
mencantumkan informasi tentang
penyedia set data. Contoh dan detail tentang elemen XML yang relevan tercantum di bawah.
Contoh
<provider> <name> <value>Bureau of Statistics</value> </name> <url> <value>http://www.example.com</value> </url> </provider>
Elemen
Elemen | Wajib diisi? | Deskripsi |
---|---|---|
<provider> |
Ya | Menyertakan semua informasi deskriptif tentang penyedia {i>dataset<i}.
Menyertakan elemen turunan <name> dan
<url> . |
<name> |
Opsional | Turunan dari <provider> . Menyertakan elemen turunan <value> , yang mengidentifikasi nama penyedia set data. |
<url> |
Opsional | Turunan dari <info> . Link ke URL dengan informasi selengkapnya tentang penyedia set data. |
Konsep
Deskripsi
Setiap set data berisi satu atau beberapa konsep. Konsep adalah definisi jenis data yang muncul dalam set data. Misalnya, set data yang berisi data populasi demografis dapat memiliki konsep negara, negara bagian, populasi, dan tahun. Nilai data yang sesuai dengan konsep tertentu disebut instance dari konsep tersebut. Konsep biasanya dijelaskan dalam set data, tetapi beberapa konsep (seperti waktu atau tahun) dapat dijelaskan dalam set data eksternal.
Setiap konsep dapat memiliki satu atau beberapa properti. Properti adalah karakteristik instance konsep yang stabil dari waktu ke waktu. Misalnya,
konsep negara dapat memiliki properti name
,
population
, dan capital
.
Konsep juga dapat memiliki satu atau beberapa atribut. Atribut memberikan informasi pada tingkat konsep, bukan instance individualnya. Misalnya, jika kita memiliki set data dengan konsep tingkat pengangguran, kita dapat menggunakan atribut untuk menunjukkan bahwa konsep ini adalah persentase. Contoh lain dari penggunaan atribut yang umum adalah memberikan informasi unit.
Contoh
Berikut adalah contoh konsep negara dengan ID unik
country
, dan properti name
. ID konsep dapat digunakan untuk mereferensikan konsep dari irisan dan tabel.
<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>
Berikut adalah cara kerja contoh tersebut.
- Kode ini menjelaskan konsep negara, yang memiliki ID
country
serta propertiname
,continent
, dancapital
. - Konsep ini memperluas
geo:location
, konsep kanonis untuk lokasi. Dengan memperluasgeo:location
,country
akan mewarisi semua properti dan atribut yang ditentukan oleh konsep yang diperluas: nama properti, deskripsi, URL, lintang, dan bujur.country
dapat menentukan ulang sebagian atribut dan properti ini, selama definisinya konsisten dengan yang disediakan oleh konsep yang diperluas. - Elemen
<info>
konsep menjelaskan informasi penting tentang konsep. Data ini ditampilkan di halaman landing set data di Penjelajah Data Publik. - Elemen
<type>
konsep mengacu pada jenis konten. Dalam hal ini berupa string, tetapi bisa bervariasi. Konsep Population akan memiliki jenisinteger
; konsepEurovision winner
dapat memiliki jenis boolean. - Elemen
<property>
menjelaskan setiap properti konsep, termasuk ID uniknya (id
),info
, dantype
. Properti juga dapat mereferensi konsep, untuk menunjukkan bahwa nilainya adalah instance yang valid dari konsep tersebut. -
Konsep ini merujuk pada tabel data yang mengarah ke file CSV yang berisi data aktual. Tabel data direferensikan seperti ini:
<table ref="countries_table"/>
.Jika konsep Anda mereferensikan tabel, file data terkait harus mencantumkan semua instance konsep. Misalnya, Anda tidak dapat membuat tabel yang hanya mencantumkan beberapa negara yang disertakan dalam set data. (Jika ada subset negara yang penting bagi Anda, Anda dapat membuat konsep terpisah untuk mendeskripsikannya. Misalnya,
mycountries
.)
Elemen
Elemen | Wajib diisi? | Deskripsi |
---|---|---|
<concepts> |
Ya | Elemen tingkat atas. Mencakup semua elemen
<concept> . |
<concept> |
Ya | Mengidentifikasi konsep. Nilai atribut yang diperlukan
id harus unik untuk konsep dalam set data. Jika konsep merujuk ke tabel data konsep, nilai id harus cocok dengan judul kolom yang menjelaskan konsep dalam tabel data. Atribut extends dapat digunakan untuk menunjukkan bahwa konsep ini memperluas konsep lain. Nilai
extends harus cocok dengan ID konsep yang ditentukan dalam set data
yang sama, atau dalam format prefix:concept_id , dengan
concept_id adalah ID konsep yang ditentukan dalam set data eksternal
yang diimpor yang terkait dengan prefix . |
<info> |
Opsional | Menyertakan informasi deskriptif tentang konsep. |
<name> |
Ya | Turunan dari <info> . Nama konsep. Elemen turunan <value> berisi teks - misalnya, Country . |
<description> |
Opsional | Turunan dari <info> . Menyertakan elemen turunan <value> , yang menyertakan deskripsi teks dari konsep. |
<url> |
Opsional | Turunan dari <info> . Menyertakan elemen turunan <value> , yang menyertakan URL untuk konsep. |
<pluralName> |
Opsional | Turunan dari <info> . Nama jamak untuk
konsep. Elemen turunan <value> berisi teks - misalnya, Countries . |
<totalName> |
Opsional | Turunan dari <info> . Nama untuk kombinasi dari
semua instance konsep. Elemen turunan <value>
berisi text- dalam kasus konsep country , misalnya, mungkin berupa World . |
<type> |
Opsional |
Mengidentifikasi jenis konten yang dijelaskan oleh konsep. Atribut wajib ref memiliki nilai yang diizinkan berikut:
|
<property> |
Opsional |
Properti konsep, seperti Properti dapat berisi atribut Properti dapat berisi atribut Properti dapat menentukan |
<attribute> |
Opsional |
Atribut konsep. Atribut merepresentasikan informasi tambahan tentang konsep (misalnya, PDB adalah persentase). Nilai
atribut Atribut dapat menentukan |
<table> |
Opsional | Mengidentifikasi tabel data yang berisi data untuk konsep. Nilai atribut ref yang diperlukan harus cocok dengan ID tabel yang ditentukan dalam elemen <table> terkait. |
Irisan
Deskripsi
Slice adalah kombinasi beberapa konsep dari data yang ada. Slice berisi dua jenis referensi konsep: dimensi dan metrik. Dimensi adalah konsep yang digunakan untuk menyegmentasikan atau memfilter data Anda. Di sisi lain, metrik menjelaskan nilai yang diamati atau nilai yang terkait dengan setiap titik data.
Umumnya, dimensi bersifat kategorikal, sedangkan metrik bersifat non-kategori, rentang waktu, dan berupa nilai numerik. Beberapa contoh prototipe dari setiap parameter tersebut adalah sebagai berikut:
- Dimensi: Negara, negara bagian, county, wilayah, tahun, bulan, jenis kelamin, kategori usia, segmen industri
- Metrik: Populasi, PDB, tingkat pengangguran, literasi, pendapatan, biaya, harga
Contoh
<slices> <slice id="country_slice"> <dimension concept="country"/> <dimension concept="time:year"/> <metric concept="population"/> <table ref="country_slice_table"/> </slice> ... </slices>
Berikut adalah cara kerja contoh tersebut.
- Bagian ini merepresentasikan populasi menurut negara.
- Laporan ini memiliki metrik
population
, serta dimensicountry
, danyear
. Setiap dimensi adalah konsep yang sudah didefinisikan di tempat lain. Konsepcountry
dan metrikpopulation
berada dalam set data yang sama dengan slice saat ini, dan direferensikan seperti ini:concept="country"
- Konsep
year
ada dalam waktu set data yang diimpor, yang diidentifikasi berdasarkan awalan yang digunakan sebelum nama konsep (year
), seperti ini:concept="time:year"
- Slice ini merujuk pada tabel data yang mengarah ke file CSV yang berisi data aktual. Tabel data direferensikan seperti ini:
<table ref="country_slice_table"/>
. (Lihat informasi tentang cara mengimpor set data di atas.)
Catatan: Secara umum, set data akan lebih fleksibel jika Anda meminimalkan metrik, melainkan membuat dimensi yang bermakna. Misalnya, daripada membuat metrik
Female Unemployment
dan Male Unemployment
,
buat satu metrik Unemployment
, lalu tambahkan dimensi
Gender
yang memiliki instance Female
dan
Male
.
Elemen
Elemen | Wajib diisi? | Deskripsi |
---|---|---|
<slices> |
Ya | Elemen tingkat atas. Mencakup semua elemen
<slice> . |
<slice> |
Opsional | Mengidentifikasi slice. Nilai atribut yang diperlukan id harus unik untuk slice tersebut. |
<dimension> |
Opsional | Menentukan dimensi irisan, dengan mereferensikan konsep. Nilai
atribut concept yang diperlukan harus sama persis
dengan ID unik konsep, dan menggunakan awalan yang valid jika konsep
termasuk dalam set data eksternal yang diimpor. |
<metric> |
Opsional | Menentukan metrik irisan, dengan mereferensikan konsep. Nilai
concept atribut wajib harus sama persis dengan
ID unik konsep, dan menggunakan awalan yang valid jika konsep tersebut milik
set data eksternal yang diimpor. |
<table> |
Ya | Mengidentifikasi tabel data yang berisi data untuk slice. Nilai atribut ref yang diperlukan harus cocok dengan ID tabel yang ditentukan dalam elemen <table> terkait. |
<mapDimension> |
Opsional | Turunan dari <table> . Berisi atribut
concept dan toColumn ; nilai pertama adalah
dimensi dalam slice, dan nilai kedua adalah kolom tabel
yang sesuai dengan nilai pertama. |
<mapMetric> |
Opsional | Turunan dari <table> . Berisi atribut
concept dan toColumn ; nilai pertama adalah metrik dalam irisan, dan nilai kedua adalah kolom tabel yang sesuai dengan nilai pertama. |
Tabel
Deskripsi
Bagian tables
pada file DSPL mengidentifikasi tabel data yang disertakan dalam set data. Tabel ini dapat dirujuk berdasarkan konsep atau berdasarkan irisan. Setiap elemen <table>
menentukan kolom
tabel dan jenisnya, serta mengarah ke file CSV yang berisi data
tabel.
Contoh
<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>
Berikut adalah cara kerja contoh ini.
- Contoh ini mendeskripsikan tabel
country_slice_table
. Tabel memiliki kolomcountry
,year
, danpopulation
. - Setiap kolom dalam tabel memiliki ID unik, yang ditentukan oleh atribut
id
. ID ini harus sama persis dengan judul kolom yang sesuai dalam file data terkait. - Nilai atribut
type
opsional menentukan jenis data untuk setiap kolom. - Elemen
<data>
menjelaskan file .csv sebenarnya (country_slice.csv) yang berisi data untuk tabel. Format file selalucsv
.
Elemen
Elemen | Wajib diisi? | Deskripsi |
---|---|---|
<tables> |
Ya | Elemen tingkat atas. Mencakup semua elemen
<table> . |
<table> |
Ya | Mengidentifikasi tabel. Nilai atribut yang diperlukan
id harus unik pada tabel. |
<column> |
Opsional |
Turunan dari <table> . Informasi tentang kolom yang disertakan dalam tabel. Mencakup atribut berikut:
|
<data> |
Opsional | Turunan dari <table> . File data yang dirujuk oleh
tabel. Jika nama file tersedia dalam bentuk URL (misalnya, http://... ), file akan diambil melalui
protokol yang sesuai (HTTP, HTTPS, atau FTP); jika tidak, file
dengan nama ini harus dipaketkan dengan set data.
Nilai atribut yang diperlukan format selalu
csv . Meskipun atribut encoding
bersifat opsional, file .csv Anda harus berenkode UTF-8. |
Topik
Deskripsi
Topik mengklasifikasikan konsep secara hierarkis, sehingga pengguna dapat menjelajahi set data Anda dengan lebih mudah.
Elemen <topics>
harus muncul tepat sebelum elemen <concepts>
di file DSPL Anda. (Urutan elemen itu penting, dan Anda mungkin tidak dapat mengupload set data jika elemen muncul dalam urutan yang salah.) Untuk menggunakan topik, referensikan topik tersebut dari definisi konsep.
Contoh
Berikut adalah contoh definisi topik:
<topics> <topic id="population_indicators"> <info> <name> <value>Population indicators</value> </name> </info> </topic> ... </topics>
...dan berikut adalah contoh referensi untuk topik ini dari sebuah konsep:
<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>
Topik dapat disusun bertingkat, dan sebuah konsep dapat merujuk ke lebih dari satu topik.
Definisi elemen
Elemen | Wajib diisi? | Deskripsi |
---|---|---|
<topics> |
Ya | Elemen tingkat atas. Mencakup semua elemen
<topic> . |
<topic> |
Ya | Mengidentifikasi topik. Nilai atribut yang diperlukan
id harus unik untuk set data. |
<info> |
Opsional | Turunan dari <topic> . Menyertakan informasi tentang
suatu topik. |
<name> |
Opsional | Turunan dari <info> . Elemen turunannya
<value> menentukan nama topik. |
File Data DSPL
Selain file metadata XML, set data DSPL juga dapat menyertakan satu atau beberapa file data dalam format CSV. Setiap file data
mendukung tabel dalam set data, dan direferensikan dari file sebelumnya di bagian
<data>...</data>
-nya. Secara konseptual, file ini dan tabel yang terkait digunakan untuk merepresentasikan definisi konsep atau data irisan. Setiap jenis file data ini dijelaskan secara lebih mendetail di bawah ini.
Perhatikan bahwa, apa pun tujuannya, semua file data harus berupa file teks UTF-8 yang dipisahkan koma (CSV). File hanya boleh berisi teks biasa; tanpa HTML. Anda dapat membuat file data secara manual, tetapi secara realistis, Anda perlu mengolah data tersebut di alat yang berisi sumber data asli (misalnya spreadsheet), atau di file yang diekspor.
File dapat digabungkan dengan set data atau, jika namanya dalam bentuk URL, diambil melalui HTTP, HTTPS, atau FTP dari sumber jarak jauh.
File Data Konsep
File data konsep berisi informasi yang relevan untuk setiap konsep. Definisi konsep menggunakan elemen <table>
untuk merujuk ke file ini.
Contoh
Berikut adalah contoh tabel untuk konsep country
yang didefinisikan di atas:
country, name AD, Andorra AF, Afghanistan AI, Anguilla AL, Albania AO, Angola AQ, Antarctica AS, American Samoa
Berikut cara kerja contoh ini:
- Kecuali pemetaan ditentukan, baris pertama file data (judul kolom) harus sama persis dengan ID konsep dan ID properti yang sesuai dari konsep yang terkait dengan data. Namun, urutan kolom tidak harus sama dalam file data dan tabel konsep. Dalam hal ini, kolom pertama dikaitkan dengan konsep
country
, dan kolom kedua dikaitkan dengan propertiname
. - Kolom properti bersifat opsional; jika properti tidak memiliki kolom dalam tabel, nilainya diasumsikan tidak ditentukan untuk setiap baris. Tabel di atas, misalnya, menghilangkan kolom untuk properti
latitude
danlongitude
, sehingga negara tidak akan dapat dipetakan. - Setiap nilai untuk kolom ID konsep (dalam hal ini,
country
) harus unik dan tidak kosong (kolom kosong adalah nilai satu dengan karakter spasi kosong nol atau hanya). - Nilai untuk properti yang merujuk konsep lain harus kosong atau berupa nilai yang valid dari konsep yang direferensikan.
- Menempatkan nilai dalam tanda kutip ganda bersifat opsional, kecuali jika nilai tersebut berisi koma, tanda kutip ganda, atau karakter baris baru.
- Hindari tanda kutip ganda literal yang muncul dalam nilai dengan mengawalinya dengan tanda kutip ganda lainnya.
File Data Slice
File data irisan berisi data yang relevan untuk setiap irisan. Definisi slice menggunakan elemen <table ref="...">
untuk merujuk pada definisi <table>
, yang kemudian mengidentifikasi file ini.
Contoh
Berikut adalah contoh file .csv yang berisi data untuk slice population_by_country
yang dijelaskan di atas:
country, year, population AF, 1960, 9616353 AF, 1961, 9799379 AF, 1962, 9989846 AF, 1963, 10188299
Berikut ini cara kerja contoh tersebut:
- Kolom metrik adalah
population
. Kolomcountry
danyear
adalah kolom dimensi. - Setiap nilai kolom dimensi tidak boleh kosong. Ini termasuk dimensi waktu. Nilai untuk kolom metrik boleh kosong. Nilai kosong direpresentasikan oleh tanpa karakter.
- Setiap heading kolom yang merujuk pada konsep (misalnya, kolom pertama dari contoh di atas merujuk pada konsep
country
) harus sama persis dengan ID unik konsep dalam definisi konsep. - Kombinasi nilai dimensi yang unik, misalnya
AF, 2000
, hanya dapat terjadi sekali. - Baris dalam deret waktu yang sama (yaitu baris yang memiliki kombinasi yang sama dari semua nilai dimensi, kecuali waktu) harus dikelompokkan bersama, meskipun baris tersebut tidak perlu diurutkan.
Fitur Lanjutan
Set Data Multibahasa
Nilai XML yang Diterjemahkan
Anda dapat menggunakan atribut xml:lang
pada setiap elemen <value>
dalam file DSPL. Atribut ini menentukan bahasa konten elemen, menggunakan tag bahasa W3C standar. Perhatikan bahwa penggunaan fitur ini bersifat opsional; jika tidak ada
atribut xml:lang
yang disertakan, konten dianggap menggunakan
bahasa Inggris.
Contoh berikut menunjukkan snipet set data dalam bahasa Inggris, Bulgaria, Katalan, dan China Aksara Sederhana:
<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>
Properti yang Diterjemahkan
Dalam beberapa kasus, Anda mungkin ingin memberikan terjemahan yang lebih dari sekadar metadata tingkat konsep, dengan menerapkan sebagai tambahan (atau sebagai gantinya) ke instance konsep individual. Hal ini sangat berguna ketika nilai properti konsep (misalnya, nama) bervariasi berdasarkan bahasa.
Untuk memberikan nilai tersebut dalam beberapa bahasa, buat satu kolom dalam
tabel definisi yang sesuai untuk setiap kombinasi properti/bahasa.
Kemudian, tautkan kolom ini ke properti dan bahasa terkait dengan
menambahkan kumpulan elemen <mapProperty xml:lang="..."
ref="..." toColumn="...">
ke tag
referensi tabel untuk konsep tersebut.
Berikut adalah contoh yang menentukan konsep negara dengan nama dalam bahasa Inggris, Spanyol, dan Prancis:
<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>
File CSV untuk countries_table
kemudian akan memiliki
bentuk berikut:
country,name_en,name_es,name_fr,... ... US,United States of America,Estados Unidos de América,États-Unis d'Amérique,... ...
Konsep yang Dapat Dijatuhkan
Banyak konsep (misalnya: county, state, dan city) memiliki instance yang sesuai dengan lokasi geografis. DSPL mendukung geocoding terhadap instance-instance ini sehingga dapat divisualisasikan dalam diagram peta animasi Data Publik Google.
Jika konsep Anda setara dengan negara Dunia, negara bagian AS, atau county AS, Anda cukup menautkan ke konsep kanonis Google yang sesuai; tidak diperlukan geocoding eksplisit. Lihat Panduan Konsep Kanonis untuk detail selengkapnya.
Jika tidak, maka Anda perlu membuat konsep Anda dapat dipetakan. Langkah pertama adalah memperluasnya dari geo:location
:
<concept id="..." extends="geo:location"> ... </concept>
Kemudian, Anda harus secara eksplisit menambahkan lintang dan bujur sebagai properti:
<concept id="..." extends="geo:location"> ... <property id="latitude"/> <property id="longitude"/> </concept>
Nilai untuk atribut ini kemudian ditentukan sebagai kolom dalam tabel data definisi konsep yang sesuai.
Hubungan Konsep
Konsep sering kali dikaitkan dengan konsep lain secara terstruktur. Misalnya, instance benua dapat mencakup beberapa instance negara, yang nantinya dapat berisi beberapa instance negara bagian atau provinsi. Dengan mengenkode hubungan ini dalam metadata set data, fitur visualisasi yang lebih beragam daripada yang dapat dihasilkan sebelumnya, misalnya menampilkan hierarki lokasi yang dapat diciutkan yang dapat dipilih.
Pada bagian di bawah ini, kami menjelaskan hubungan konsep yang didukung dalam skema DSPL.
Hierarki
Hierarki konsep direpresentasikan dalam DSPL melalui penggunaan atribut isParent="true"
pada tag <property>
dari konsep turunan, yang berisi ID instance dari konsep induk.
Sebagai contoh, konsep County AS Google memiliki bentuk berikut:
<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>
Tabel data pendukung memiliki kolom state
dengan
kode negara bagian dua huruf untuk setiap county. Jenis metadata ini memungkinkan
Penjelajah Data Publik untuk menampilkan negara bagian dan wilayah sebagai hierarki, sebuah fitur yang mempermudah pengguna dalam melakukan eksplorasi.
Perhatikan bahwa sebuah konsep dapat memiliki banyak turunan, tetapi tidak lebih dari satu induk.
Pemetaan
Pemetaan konsep (yaitu konsep yang pada dasarnya mewakili hal yang sama) direpresentasikan melalui atribut isMapping="true"
di tag property
konsep yang dipetakan.
Menentukan bahwa satu konsep dipetakan ke konsep lainnya memungkinkan konsep pertama mewarisi semua properti dan atribut yang kedua. Di antara aplikasi lainnya, konsep ini berguna untuk "menautkan" konsep geografis pribadi dengan konsep yang ditentukan dalam set data geografis kanonis 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>
Ekstensi
Ekstensi konsep ditetapkan melalui elemen extends
dalam definisi konsep yang sesuai. Ekstensi berguna untuk menunjukkan bahwa konsep tertentu merupakan subclass dari konsep lain yang lebih luas. Konsep yang diperluas mewarisi semua atribut dan properti induknya, dan juga dapat menambahkan yang lain.
Sebagai contoh, konsep currency
Google memperluas
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>
Lihat diskusi ekstensi konsep dalam tutorial untuk mendapatkan penjelasan dan contoh lebih lanjut.
Mengirimkan Set Data Anda
Untuk mengirimkan set data ke Penjelajah Data Publik Google, ikuti petunjuk berikut:
- Membuat direktori.
- Simpan file dspl set data di direktori yang Anda buat. Pastikan Anda menggunakan ekstensi .xml.
- Simpan file .csv lokal apa pun di direktori yang sama. File data yang direferensikan melalui URL dapat dihilangkan.
- Zip direktori.
- Upload set data Anda ke Penjelajah Data Publik Google.
Setelah set data diupload dan divalidasi, Anda dapat mengujinya saat login ke Akun Google Anda. Aplikasi tidak akan dipublikasikan sebelum Anda memeriksanya dan memberi tahu kami bahwa kode tersebut sudah siap.