DSPL adalah singkatan dari Dataset Publishing Language. Ini adalah format representasi untuk metadata (informasi tentang set data, seperti nama dan penyedianya, serta konsep yang ada dan ditampilkan) dan data set data yang sebenarnya. Set data yang dijelaskan dalam format ini dapat diimpor ke Google Public Data Explorer, alat yang memungkinkan eksplorasi data yang lengkap dan visual.
Catatan: Untuk mengupload data ke Google Public Data menggunakan alat upload Data Publik, Anda harus memiliki Akun Google.
Dokumen ini ditujukan untuk pemilik data yang ingin kontennya tersedia di Penjelajah Data Publik. Hal ini di luar Tutorial dengan mempelajari lebih dalam detail skema DSPL dan fitur yang didukung. Hanya pemahaman dasar XML yang diasumsikan, meskipun pengetahuan tentang database relasional juga berguna.
Meskipun bukan persyaratan, sebaiknya baca Tutorial, yang lebih singkat dan lebih 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. Parameter yang kedua mencakup metadata informasi seperti deskripsi tindakan, serta metadata struktural seperti referensi antar-tabel. Metadata ini memungkinkan pengguna non-ahli menjelajahi dan memvisualisasikan data Anda.
Memproses
Secara umum, proses pembuatan set data DSPL adalah sebagai berikut (beberapa langkah dapat berlangsung secara paralel):
- Buat file XML DSPL Anda.
- Identifikasi sumber data eksternal yang akan digunakan dalam set data Anda.
- Tentukan konsep, potongan, dan (opsional) topik. Mengupdate konten konten file DSPL Anda secara berulang.
- Ekspor data sumber Anda 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, slice, topik, dan tabel. Meskipun file ini dapat dibuat secara manual, alat dan skrip pemrosesan data dapat sangat menyederhanakan prosesnya. Lihat contoh file DSPL di jendela baru.
File ini mencakup sejumlah bagian, yang diringkas dalam tabel di bawah. Berdasarkan tabel tersebut, kami menjelaskan setiap konfigurasi tersebut secara lebih mendetail.
Bagian | Ringkasan | Info Selengkapnya |
---|---|---|
Header dan Impor | Induk untuk semua elemen lain dari set data. Mencakup namespace target (yaitu ID) untuk set data, bersama dengan namespace 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 "hal-hal" 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 memiliki data statistik dalam set data. Setiap irisan berisi dimensi dan metrik. Mengiris konsep referensi dan juga tabel, yang berisi data sebenarnya. Setiap bagian memiliki ID unik yang dapat direferensikan oleh tabel yang berisi data aktual. |
Dokumentasi |
Tabel | Menentukan data untuk konsep dan slice. Tabel konsep menyimpan enumerasi dan tabel slice 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, fitur ini dapat sangat membantu pengguna yang membuka data Anda. | Dokumentasi |
Header dan Impor
Mendeklarasikan namespace Data Publik
Set data DSPL dimulai dengan elemen <dspl>
level atas.
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 (kumpulan elemen dan atribut XML). targetNamespace
menyediakan URI yang mengidentifikasi set data Anda.
URI ini tidak diwajibkan untuk mengarah ke resource aktual, tetapi sebaiknya URI di-resolve ke dokumen yang menjelaskan konten atau set data Anda.
Anda tidak perlu memberikan targetNamespace
. Jika Anda
tidak melakukannya, satu sandi akan dibuat secara otomatis untuk Anda pada waktu
impor.
Atribut targetNamespace
diikuti dengan serangkaian
atribut xmlns
yang menentukan skema XML lain yang akan digunakan
dalam file. Setiap file DSPL harus menyertakan skema Data Publik Google, yang URI-nya adalah "http://schemas.google.com/dspl/2010" dan menggunakannya sebagai namespace default. URL tersebut juga harus menyertakan skema XML W3 standar yang diidentifikasi oleh "http://www.w3.org/2001/XMLSchema-instance". Seperti yang dijelaskan di bagian berikutnya, namespace lain dapat ditambahkan untuk menyertakan informasi dari set data lain.
Mengimpor namespace set data lainnya
Set data dapat menggunakan kembali definisi dan data dari set data lain. Misalnya, Google menyediakan sejumlah set data dasar yang menentukan konsep yang umumnya muncul dalam data pengguna. Misalnya, sebagian besar set data memerlukan konsep yang mewakili tahun. Daripada menentukan konsep baru, Anda dapat menggunakan konsep tahun dari set data "http://www.google.com/publicdata/dataset/time". Lihat halaman Konsep Kanonis untuk informasi lebih lanjut.
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 Anda, 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 Google Public Data. Ulangi proses ini untuk setiap set data yang ingin direferensikan.
Mereferensikan konten dalam set data eksternal
Setelah mengimpor set data lain, Anda harus dapat merujuk
konsep, slice, 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 ke 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 ini.
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 set data. Mencakup
elemen turunan <name> ,
<description> , dan <url> . |
<name> |
Ya | Turunan <info> . Mencakup elemen turunan <value> , yang mengidentifikasi nama set data. |
<description> |
Opsional | Turunan <info> . Mencakup elemen turunan <value> , yang menyertakan deskripsi teks dari set data. |
<url> |
Ya | Turunan <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 ini.
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 | Mencakup semua informasi deskriptif tentang penyedia set data.
Mencakup elemen turunan <name> dan <url> . |
<name> |
Opsional | Turunan <provider> . Mencakup elemen turunan <value> , yang mengidentifikasi nama penyedia set data. |
<url> |
Opsional | Turunan <info> . Link ke URL dengan informasi
selengkapnya tentang penyedia set data. |
Konsep
Deskripsi
Setiap set data berisi satu atau beberapa konsep. Konsep adalah definisi dari jenis data yang muncul di set data. Set data dengan data populasi demografis, misalnya, 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 level konsep, bukan instance individualnya. Misalnya, jika kita memiliki set data dengan konsep tingkat pengangguran, kita dapat menggunakan atribut untuk menentukan bahwa konsep ini adalah persentase. Contoh lain dari penggunaan atribut secara umum adalah dengan menyediakan informasi unit.
Contoh
Berikut ini 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 negara konsep, yang memiliki ID
country
dan 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 tambahan: nama properti, deskripsi, URL, lintang, dan bujur. Tidak masalah bagicountry
untuk menentukan ulang beberapa atribut dan properti tersebut, selama definisi tersebut konsisten dengan yang diberikan oleh konsep yang diperluas. - Elemen
<info>
konsep menjelaskan informasi penting tentang konsep tersebut. Hal ini ditampilkan di halaman landing set data di Penjelajah Data Publik. - Konsep elemen
<type>
merujuk pada jenis konten. Dalam hal ini, string tersebut adalah string, tetapi dapat bervariasi. Konsep Populasi akan memiliki jenisinteger
; konsepEurovision winner
dapat memiliki jenis boolean. - Elemen
<property>
menjelaskan setiap properti konsep, termasuk ID uniknya (id
),info
, dantype
. Properti juga dapat mereferensikan konsep, untuk menunjukkan bahwa nilainya merupakan instance yang valid dari konsep tersebut. -
Konsep ini merujuk ke tabel data yang mengarah ke file CSV yang berisi data aktual. Tabel data tersebut 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 mereferensikan 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 bentuk 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 <info> . Nama konsep. Elemen turunan <value> berisi teks - misalnya, Country . |
<description> |
Opsional | Turunan <info> . Mencakup elemen turunan
<value> , yang menyertakan deskripsi teks dari
konsep tersebut. |
<url> |
Opsional | Turunan <info> . Menyertakan elemen turunan <value> , yang menyertakan URL untuk konsep. |
<pluralName> |
Opsional | Turunan <info> . Nama jamak untuk
konsep. Elemen turunan <value> berisi teks - misalnya, Countries . |
<totalName> |
Opsional | Turunan <info> . Nama untuk kombinasi semua instance konsep. Elemen turunan <value> berisi teks - dalam kasus konsep country , misalnya, ini mungkin World . |
<type> |
Opsional |
Mengidentifikasi jenis konten yang dideskripsikan 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 mewakili 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. |
Slice
Deskripsi
Slice adalah kombinasi konsep yang datanya ada. Slice berisi dua jenis referensi konsep: dimension 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 kategoris, sedangkan metrik berupa nilai numerik non-kategoris, dan bervariasi. Beberapa contoh prototipe masing-masing adalah sebagai berikut:
- Dimensi: Negara, negara bagian, wilayah, 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.
- Potongan ini mewakili populasi menurut negara.
- Laporan ini memiliki metrik
population
, serta dimensicountry
, danyear
. Setiap dimensi adalah konsep yang sudah ditentukan di tempat lain. Konsepcountry
dan metrikpopulation
ada 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 oleh awalan yang digunakan sebelum nama konsep (year
), seperti ini:concept="time:year"
- Slice mereferensikan tabel data yang mengarah ke file CSV
yang berisi data aktual. Tabel data direferensikan seperti ini:
<table ref="country_slice_table"/>
. (Lihat di atas untuk informasi tentang mengimpor set data.)
Catatan: Secara umum, set data Anda akan lebih fleksibel jika Anda meminimalkan metrik, dan bukan 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 potongan. Nilai atribut yang diperlukan
id harus unik untuk bagian tersebut. |
<dimension> |
Opsional | Menentukan dimensi irisan, dengan mereferensikan sebuah konsep. Nilai atribut concept yang diperlukan harus sama persis dengan ID unik konsep, dan menggunakan awalan yang valid jika konsep tersebut berasal dari set data eksternal yang diimpor. |
<metric> |
Opsional | Menentukan metrik irisan, dengan mereferensikan sebuah konsep. Nilai atribut wajib concept 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 <table> . Berisi atribut
concept dan toColumn ; nilai yang pertama adalah dimensi dalam irisan, dan nilai yang kedua adalah kolom tabel yang sesuai dengan yang pertama. |
<mapMetric> |
Opsional | Turunan <table> . Berisi atribut
concept dan toColumn ; nilai yang pertama adalah
metrik dalam irisan, dan nilai yang kedua adalah kolom tabel
yang sesuai dengan yang pertama. |
Tabel
Deskripsi
Bagian tables
file DSPL mengidentifikasi tabel data
yang disertakan dalam set data. Tabel ini dapat direferensikan oleh konsep atau
menurut slice. 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 menjelaskan 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 di file data terkait. - Nilai atribut
type
opsional menentukan jenis data untuk setiap kolom. - Elemen
<data>
menjelaskan file .csv aktual (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 wajib
id harus unik untuk tabel ini. |
<column> |
Opsional |
Turunan <table> . Informasi tentang kolom yang disertakan dalam tabel. Mencakup atribut berikut:
|
<data> |
Opsional | Turunan <table> . File data yang direferensikan oleh tabel. Jika nama file dalam bentuk URL
(misalnya, http://... ), maka file akan diambil melalui protokol yang sesuai (HTTP, HTTPS, atau FTP); jika tidak, file dengan nama ini harus dipaketkan dengan set data.
Nilai atribut wajib 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 menavigasi set data Anda dengan lebih mudah.
Elemen <topics>
akan muncul tepat sebelum elemen <concepts>
di file DSPL Anda. (Urutan elemen sangat penting, dan Anda mungkin tidak dapat mengupload set data jika elemen Anda muncul dalam urutan yang salah.) Untuk menggunakan topik, referensikan 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 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 bertingkat, dan sebuah konsep dapat mereferensikan 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 wajib
id harus unik untuk set data. |
<info> |
Opsional | Turunan <topic> . Menyertakan informasi tentang
topik. |
<name> |
Opsional | Turunan <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 dirujuk dari file yang sebelumnya ada di
bagian <data>...</data>
. Secara konseptual, file ini
dan tabel terkaitnya digunakan untuk mewakili definisi
konsep atau data slice. Setiap jenis file data ini
dijelaskan secara lebih mendetail di bawah.
Perhatikan bahwa, apa pun tujuannya, semua file data harus berupa file teks UTF-8 yang dipisahkan koma (CSV). File hanya boleh berisi teks biasa; bukan HTML. Anda dapat membuat file data secara manual, tetapi secara realistis Anda perlu mengedit data baik di alat yang berisi sumber data asli (mis., spreadsheet), atau di file yang diekspor itu sendiri.
File dapat dipaketkan dengan set data atau, jika namanya dalam bentuk URL, yang 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 ditentukan di atas:
country, name AD, Andorra AF, Afghanistan AI, Anguilla AL, Albania AO, Angola AQ, Antarctica AS, American Samoa
Berikut adalah cara kerja contoh ini:
- Kecuali jika 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 tersebut. Namun, urutan
kolom tidak harus sama dengan 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
di tabel, nilainya diasumsikan tidak ditentukan untuk setiap baris. Tabel
di atas, misalnya, menghapus 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 berisi karakter kosong atau hanya berisi spasi kosong). - Nilai untuk properti yang mereferensikan konsep lain harus kosong atau merupakan nilai yang valid dari konsep yang direferensikan.
- Menyertakan nilai dalam tanda kutip ganda bersifat opsional, kecuali jika berisi koma, tanda kutip ganda, atau karakter baris baru.
- Meng-escape tanda kutip ganda literal yang muncul dalam nilai dengan mengawalinya dengan tanda kutip ganda lainnya.
File Data Slice
File data slice berisi data yang relevan untuk setiap slice. Definisi slice
menggunakan elemen <table ref="...">
untuk
merujuk ke definisi <table>
, yang kemudian mengidentifikasi
file ini.
Contoh
Berikut adalah contoh file .csv yang berisi data untuk
irisan population_by_country
yang dijelaskan di atas:
country, year, population AF, 1960, 9616353 AF, 1961, 9799379 AF, 1962, 9989846 AF, 1963, 10188299
Berikut cara kerja contoh tersebut:
- Kolom metrik adalah
population
. Kolomcountry
danyear
adalah kolom dimensi. - Setiap nilai kolom dimensi tidak boleh kosong. Hal ini mencakup dimensi waktu. Nilai untuk kolom metrik boleh kosong. Nilai kosong diwakili oleh karakter yang tidak ada.
- Setiap judul kolom yang mereferensikan suatu konsep (misalnya, kolom
pertama pada contoh di atas mereferensikan konsep
country
) harus sama persis dengan ID unik konsep dalam definisi konsep. - Kombinasi nilai dimensi yang unik, misalnya
AF, 2000
, hanya dapat muncul 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 Multi-Bahasa
Nilai XML yang Diterjemahkan
Anda dapat menggunakan atribut xml:lang
dengan setiap elemen <value>
di file DSPL Anda. 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 diasumsikan dalam
bahasa Inggris.
Contoh berikut menunjukkan AAPT dari set data yang berbahasa Inggris, Bulgaria, Katalan, dan bahasa 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 dapat memberikan terjemahan yang lebih dari sekadar metadata tingkat konsep, yang diterapkan sebagai tambahan (atau sebagai gantinya) pada instance konsep individual. Hal ini sangat berguna jika nilai properti konsep (misalnya nama) bervariasi menurut bahasa.
Untuk memberikan nilai tersebut dalam beberapa bahasa, buat satu kolom di tabel definisi yang sesuai untuk setiap kombinasi properti/bahasa.
Kemudian, tautkan kolom ini ke properti dan bahasa terkait dengan menambahkan sekumpulan 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>
Selanjutnya, file CSV untuk countries_table
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 Mappable
Banyak konsep (misalnya: county, negara bagian, dan kota) memiliki instance yang sesuai dengan lokasi geografis. DSPL mendukung geocoding instance ini sehingga akan dapat divisualisasikan dalam diagram peta animasi Google Public Data.
Jika konsep Anda setara dengan Negara-negara Dunia, negara bagian Amerika Serikat, atau wilayah Amerika Serikat, Anda dapat menautkan ke konsep kanonis Google yang sesuai; geocoding eksplisit tidak diperlukan. 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 ini kemudian ditentukan sebagai kolom dalam tabel data definisi konsep yang sesuai.
Hubungan Konsep
Konsep sering dikaitkan dengan konsep lain dengan cara yang terstruktur. Misalnya, satu instance benua dapat menyertakan beberapa instance negara, yang pada gilirannya dapat berisi beberapa instance negara bagian atau provinsi. Mengenkode hubungan ini dalam metadata set data memungkinkan fitur visualisasi yang lebih beragam daripada yang dimungkinkan, misalnya, menampilkan hierarki lokasi yang dapat diciutkan untuk dipilih.
Di bagian di bawah, kami menjelaskan hubungan konsep yang didukung dalam skema DSPL.
Hierarki
Hierarki konsep diwakili dalam DSPL melalui penggunaan atribut isParent="true"
dalam tag <property>
konsep turunan, yang berisi ID instance dari konsep induk.
Sebagai contoh, konsep US County 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 status dua huruf untuk setiap county. Jenis metadata ini memungkinkan
Penjelajah Data Publik menampilkan negara bagian dan wilayah sebagai hierarki, fitur
yang mempermudah eksplorasi pengguna.
Perhatikan bahwa konsep dapat memiliki banyak turunan, tetapi tidak lebih dari satu induk.
Pemetaan
Pemetaan konsep (yaitu, konsep yang mewakili, pada dasarnya, hal yang sama) direpresentasikan melalui atribut isMapping="true"
dalam tag property
dari konsep yang dipetakan.
Menentukan bahwa satu konsep dipetakan ke konsep lainnya memungkinkan yang pertama mewarisi semua properti dan atribut yang terakhir. Di antara aplikasi lainnya, ini berguna untuk "menautkan" konsep geografis pribadi dengan yang ditentukan dalam set data geografis kanonis:
<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 atribut dan properti tambahan.
Misalnya, 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 penjelasan dan contoh lebih lanjut.
Mengirimkan Set Data
Untuk mengirimkan set data ke Penjelajah Data Publik Google, ikuti petunjuk berikut:
- Buat direktori.
- Simpan file dspl set data di direktori yang Anda buat. Pastikan untuk menggunakan ekstensi .xml.
- Simpan semua file .csv lokal 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. Kartu tidak akan dipublikasikan sampai Anda memeriksanya dan memberi tahu kami bahwa dokumen tersebut sudah siap.