DSPL adalah singkatan dari {i>Dataset Publishing Language<i}. Model ini adalah format representasi untuk metadata (informasi tentang set data, seperti nama dan penyedia layanan, serta konsep yang dimuat di dalamnya dan tampilannya) dan data aktual dari set data. {i>Dataset<i} yang dijelaskan dalam format ini dapat diimpor ke Google Public Data Penjelajah, alat yang memungkinkan eksplorasi visual yang lengkap layanan otomatis dan data skalabel.
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 yang tersedia di Penjelajah Data Publik. Selain Tutorial, video ini dibuat lebih mendalam detail skema DSPL dan fitur yang didukung. Hanya dasar-dasar yang dipahami XML diasumsikan, meskipun pengetahuan tentang {i>database<i} relasional juga berguna
Meskipun bukan persyaratan, sebaiknya Anda membaca Tutorial, yang lebih singkat dan lebih mudah dicerna, sebelum melihat dokumen ini.
Ringkasan
Set data DSPL adalah file .zip yang berisi file XML dan satu set CSV . {i>File<i} CSV adalah tabel sederhana yang berisi data dari {i>dataset<i}, sedangkan file XML menjelaskan {i>metadata<i} dari {i>dataset<i} itu. Yang kedua mencakup metadata informasional seperti deskripsi tindakan, serta metadata struktural seperti referensi antar tabel. Metadata ini memungkinkan pengguna non-ahli untuk mengeksplorasi dan memvisualisasikan data Anda.
Proses
Secara umum, proses pembuatan set data DSPL adalah sebagai berikut (beberapa langkah-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. Secara iteratif memperbarui isi file DSPL.
- Ekspor data sumber ke file .csv.
- Membuat set data DSPL.
- Kirim set data ke Google.
Struktur XML
Ringkasan
File XML DSPL mendefinisikan metadata {i>dataset<i}, termasuk hubungan struktural antara konsep, potongan, topik, dan tabel. Meskipun file ini dapat dibuat secara manual, namun alat pemrosesan data dan skrip dapat sangat merampingkan proses. Lihat contoh file DSPL di file baru jendela.
{i>File<i} ini mencakup sejumlah bagian, yang diringkas di dalam tabel di bawah ini. Setelah tabel, kami menggambarkan masing-masing {i>database<i} secara lebih umum spesifikasi pendukung.
Bagian | Ringkasan | Info Selengkapnya |
---|---|---|
Header dan Impor | Induk untuk semua elemen set data lainnya. Mencakup target namespace (yaitu, ID) untuk set data, bersama dengan 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 (misalnya, negara, tingkat pengangguran, gender, dll.) Setiap konsep memiliki pengidentifikasi unik, yang dapat dirujuk oleh {i>slices<i} dan tabel. |
Dokumentasi |
Slice |
Kombinasi konsep yang tidak memiliki data statistik di {i>dataset<i} aslinya. Setiap irisan berisi dimensi dan metrik. Konsep referensi Slice, dan juga tabel, yang berisi elemen layanan otomatis dan data skalabel. Setiap irisan memiliki pengidentifikasi unik yang bisa dirujuk oleh tabel yang berisi data aktual. |
Dokumentasi |
Tables | Menentukan data untuk konsep dan irisan. Tabel konsep disimpan enumerasi dan tabel irisan menyimpan data statistik. Tabel ditentukan di file XML, dan arahkan kursor ke file .csv yang berisi data aktual. | Dokumentasi |
Topik | Kategori untuk mengatur konsep set data. Meskipun tidak diperlukan, dapat sangat membantu pengguna saat menavigasi data Anda. | Dokumentasi |
Header dan Impor
Mendeklarasikan namespace Data Publik
Set data DSPL dimulai dengan elemen <dspl>
tingkat atas.
Ini digunakan untuk melampirkan semua informasi {i>dataset<i} dan menunjukkan setiap
namespace 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). Tujuan
targetNamespace
menyediakan URI yang mengidentifikasi set data Anda.
URI ini tidak diperlukan untuk mengarah ke resource yang sebenarnya, tetapi ini sudah bagus
ide untuk membuat URI me-resolve ke dokumen yang
menjelaskan konten Anda atau
{i>dataset<i} aslinya.
Anda tidak perlu memberikan targetNamespace
. Jika Anda
tidak, maka satu kode akan dibuat secara otomatis untuk Anda saat pengimporan
baik.
Atribut targetNamespace
diikuti dengan serangkaian
Atribut xmlns
yang menentukan skema XML lain yang akan digunakan
dalam file. Setiap file DSPL harus menyertakan
skema Google Public Data,
dengan URI "http://schemas.google.com/dspl/2010" dan menggunakannya sebagai
namespace default. Salinan ini juga harus menyertakan skema XML W3 standar
yang diidentifikasi oleh "http://www.w3.org/2001/XMLSchema-instance". Sebagai
dijelaskan di bagian berikutnya, namespace lain dapat ditambahkan untuk menyertakan
informasi dari {i>dataset<i} lain.
Mengimpor namespace set data lain
Set data dapat menggunakan kembali definisi dan data dari set data lain. Google, untuk menyediakan sejumlah set data dasar yang mendefinisikan konsep secara umum muncul dalam data pengguna. Misalnya, sebagian besar {i>dataset <i}membutuhkan konsep untuk mewakili tahun. Alih-alih mendefinisikan konsep baru, Anda dapat menggunakan tahun konsep dari "http://www.google.com/publicdata/dataset/time" {i>dataset<i} aslinya. Lihat Konten Kanonis Concepts untuk informasi selengkapnya.
Untuk menggunakan set data eksternal, tambahkan elemen <import>
ke
file DSPL tepat setelah deklarasi namespace, dan menunjukkan
ruang data yang Anda impor, seperti ini:
<import namespace="http://www.google.com/publicdata/dataset/google/time"/>
Kemudian, tambahkan namespace yang diimpor (dalam kasus 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 Data Publik Google set data waktu. Berulang proses ini untuk setiap {i>dataset <i}yang ingin Anda rujuk.
Mereferensikan konten dalam {i>dataset<i} eksternal
Setelah mengimpor {i>dataset<i} lain, Anda harus dapat merujuk
konsep, irisan, dan data
dari {i>dataset<i} tersebut. Untuk melakukannya, Anda dapat menggunakan
referensi format prefix:other_id
, dengan
prefix
adalah awalan yang digunakan untuk namespace
{i>dataset<i} 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 {i>dataset <i}tersebut. Contoh dan detail tentang elemen XML yang relevan
yang 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? | 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
{i>dataset<i} aslinya. |
<description> |
Opsional | Turunan dari <info> . Menyertakan elemen turunan
<value> , yang menyertakan deskripsi teks dari
{i>dataset<i} aslinya. |
<url> |
Ya | Turunan dari <info> . Link ke URL yang berisi informasi lainnya
informasi tentang {i>dataset<i}. |
Informasi Penyedia
Elemen <provider>
mencantumkan informasi tentang
penyedia set data Anda. Contoh dan detail tentang elemen XML yang relevan
yang 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? | 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 set data
penyedia layanan. |
<url> |
Opsional | Turunan dari <info> . Link ke URL yang berisi lainnya
informasi tentang penyedia {i>dataset<i}. |
Konsep
Deskripsi
Setiap set data berisi satu atau beberapa konsep. Konsep adalah definisi jenis data yang muncul di {i>dataset<i}. Sebuah {i>dataset<i} dengan data populasi demografis, misalnya, dapat memiliki negara, negara bagian, populasi, dan tahun. Nilai data yang sesuai dengan konsep tertentu disebut instance dari konsep tersebut. Konsep adalah biasanya dijelaskan dalam {i>dataset<i}, tetapi beberapa konsep (seperti waktu atau tahun) dapat dijelaskan dalam set data eksternal.
Setiap konsep dapat memiliki satu atau beberapa properti. Properti adalah
karakteristik dari 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 menyediakan informasi pada tingkat konsep, bukan setiap kejadiannya. Sebagai misalnya, jika kita memiliki {i>dataset <i}dengan konsep tingkat pengangguran, kita dapat menggunakan atribut untuk menunjukkan bahwa konsep ini adalah persentase. Contoh lain dari penggunaan atribut yang umum adalah untuk menyediakan tidak akurat atau tidak sesuai.
Contoh
Berikut ini contoh konsep negara dengan ID unik
country
, dan properti name
. ID konsep dapat berupa
yang 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
dan propertiname
,continent
, dancapital
. - Konsep ini memperluas
geo:location
, konsep kanonis untuk lokasi. Dengan memperluasgeo:location
,country
mewarisi semua properti dan atribut yang ditentukan oleh konsep yang diperluas: nama properti, deskripsi, url, lintang dan bujur. Lumayan agarcountry
dapat menentukan ulang beberapa atribut dan selama definisi tersebut konsisten dengan yang diberikan, oleh konsep yang diperluas. - Elemen
<info>
konsep menjelaskan kunci informasi tentang konsep. Info ini ditampilkan pada {i>landing page<i} di Penjelajah Data Publik. - Elemen
<type>
konsep mengacu pada jenis saat ini. Dalam hal ini berupa string, tetapi bisa bervariasi. Konsep Populasi akan memiliki jenisinteger
; konsepEurovision winner
dapat memiliki jenis boolean. - Elemen
<property>
mendeskripsikan setiap properti termasuk ID uniknya (id
),info
, dantype
. Properti juga dapat mereferensikan konsep, untuk menunjukkan bahwa nilai mereka adalah instance yang valid dari konsep-konsep tersebut. -
Konsep ini merujuk ke tabel data yang menunjukkan ke {i>file<i} 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. Anda tidak dapat, misalnya, membuat tabel yang hanya mencantumkan beberapa negara yang dimasukkan dalam {i>dataset <i}itu. (Jika ada merupakan subkumpulan negara yang penting bagi Anda, Anda dapat membuat konsep yang tepat untuk menggambarkannya. Misalnya,
mycountries
.)
Elemen
Elemen | Wajib? | Deskripsi |
---|---|---|
<concepts> |
Ya | Elemen tingkat atas. Mencakup semua <concept>
yang kurang penting. |
<concept> |
Ya | Mengidentifikasi konsep. Nilai atribut yang diperlukan
id harus unik untuk konsep dalam set data. Jika
konsep tersebut merujuk ke sebuah tabel data konsep, nilai dari
id harus cocok dengan judul kolom yang menjelaskan konsep di
dari tabel data. Atribut extends dapat digunakan untuk menunjukkan
bahwa konsep ini memperluas
konsep lainnya. Nilai dari
extends harus cocok dengan ID konsep yang ditentukan dalam
set data, atau dalam bentuk prefix:concept_id , dengan
concept_id adalah ID konsep yang ditentukan dalam file yang diimpor
set data eksternal yang terkait dengan prefix . |
<info> |
Opsional | Menyertakan informasi deskriptif tentang konsep. |
<name> |
Ya | Turunan dari <info> . Nama konsep. Tujuan
elemen turunan <value> berisi teks - untuk
contoh, 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
semua instance konsep. Elemen turunan <value>
berisi text- dalam kasus country
, misalnya, ini mungkin World . |
<type> |
Opsional |
Mengidentifikasi jenis konten yang dijelaskan oleh konsep. Diperlukan
atribut 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 tambahan
informasi tentang konsep (misalnya, PDB adalah persentase). Nilainya
dari atribut Atribut dapat menentukan |
<table> |
Opsional | Mengidentifikasi tabel data yang berisi data untuk konsep. Tujuan
nilai atribut ref yang diperlukan harus cocok dengan tabel
ID yang ditentukan dalam elemen <table> terkait. |
Slice
Deskripsi
Slice adalah kombinasi konsep yang menunjukkan keberadaan data. Sepotong berisi dua jenis referensi konsep: dimensi dan metrik. Dimensi adalah konsep yang digunakan untuk menyegmentasikan atau memfilter memahami data Anda. Di sisi lain, metrik menggambarkan nilai atau nilai-nilai yang terkait dengan setiap titik data.
Secara umum, dimensi bersifat kategoris sedangkan metrik tidak kategorik, nilai numerik yang bervariasi waktu. Beberapa contoh prototipe dari masing-masing adalah sebagai berikut ini:
- 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.
- Dimensi ini memiliki metrik
population
dan dimensicountry
, danyear
. Setiap dimensi adalah konsep seperti yang ditentukan di tempat lain. Konsepcountry
dan metrikpopulation
berada dalam set data yang sama dengan slice saat ini, dan dirujuk seperti ini:concept="country"
- Konsep
year
ada dalam waktu set data yang diimpor, diidentifikasi dengan awalan yang digunakan sebelum nama konsep (year
), seperti ini:concept="time:year"
- Slice merujuk pada tabel data yang mengarah ke file CSV
yang berisi data aktual. Tabel data dirujuk seperti ini:
<table ref="country_slice_table"/>
. (Lihat di atas untuk informasi tentang cara mengimpor set data.)
Catatan: Secara umum, set data Anda akan lebih
fleksibel jika meminimalkan metrik, dan sebaliknya membuat
dimensi kustom. Misalnya, daripada membuat metrik
Female Unemployment
dan Male Unemployment
,
buat metrik tunggal Unemployment
, dan tambahkan dimensi
Gender
yang memiliki instance Female
dan
Male
.
Elemen
Elemen | Wajib? | Deskripsi |
---|---|---|
<slices> |
Ya | Elemen tingkat atas. Mencakup semua <slice>
yang kurang penting. |
<slice> |
Opsional | Mengidentifikasi slice. Nilai atribut yang diperlukan
id harus unik untuk slice tersebut. |
<dimension> |
Opsional | Menentukan dimensi irisan, dengan mereferensikan konsep. Tujuan
nilai atribut concept wajib sama persis
ID unik konsep, dan gunakan awalan yang valid jika konsep
termasuk dalam set data eksternal yang diimpor. |
<metric> |
Opsional | Menentukan metrik irisan, dengan mereferensikan konsep. Nilainya
atribut wajib concept harus sama persis dengan
ID unik dari konsep, dan gunakan awalan yang valid jika konsep tersebut termasuk
ke set data eksternal yang diimpor. |
<table> |
Ya | Mengidentifikasi tabel data yang berisi data untuk slice. Nilainya
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 irisan, dan nilai dimensi kedua adalah kolom tabel
yang sesuai dengan
yang 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
yang pertama. |
Tabel
Deskripsi
Bagian tables
dalam file DSPL mengidentifikasi data
tabel yang disertakan
dalam {i>dataset <i}tersebut. Tabel-tabel ini bisa
direferensikan oleh konsep atau
menurut irisan. Setiap elemen <table>
menentukan kolom
tabel dan jenisnya, lalu menunjuk ke {i>file<i} CSV yang berisi tabel
layanan otomatis dan data skalabel.
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
. Tujuan tabel memiliki kolomcountry
,year
, danpopulation
. - Setiap kolom dalam tabel memiliki ID unik, yang didefinisikan oleh
Atribut
id
. Id ini harus sama persis dengan dalam file data terkait. - Nilai atribut
type
opsional menentukan data untuk setiap kolom. - Elemen
<data>
menjelaskan file .csv yang sebenarnya (country_slice.csv) yang berisi data untuk tabel tersebut. Format filenya adalah selalucsv
.
Elemen
Elemen | Wajib? | Deskripsi |
---|---|---|
<tables> |
Ya | Elemen tingkat atas. Mencakup semua <table>
yang kurang penting. |
<table> |
Ya | Mengidentifikasi tabel. Nilai atribut yang diperlukan
id harus unik untuk tabel. |
<column> |
Opsional |
Turunan dari <table> . Informasi tentang kolom
yang disertakan
dalam tabel. Mencakup atribut berikut:
|
<data> |
Opsional | Turunan dari <table> . {i>File<i} data yang direferensikan oleh
tabel. Jika nama file berupa URL
(mis., http://... ), maka file akan diambil melalui
protokol yang sesuai (HTTP, HTTPS, atau FTP); jika tidak, file
yang memiliki nama tersebut harus
dipaketkan dengan {i>dataset<i}.
Nilai atribut format yang diperlukan adalah
selalu csv . Meskipun atribut encoding
bersifat opsional, file .csv Anda harus berenkode UTF-8. |
Topik
Deskripsi
Topik mengklasifikasikan konsep secara hierarkis, memungkinkan pengguna untuk menavigasi menjelajahi {i>dataset<i} Anda dengan lebih mudah.
Elemen <topics>
akan muncul tepat sebelum
<concepts>
di file DSPL Anda. (Urutan
itu penting, dan Anda mungkin tidak dapat mengunggah {i>dataset<i} Anda jika
muncul dalam urutan yang salah). Untuk menggunakan topik, referensikan topiknya 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? | Deskripsi |
---|---|---|
<topics> |
Ya | Elemen tingkat atas. Mencakup semua <topic>
yang kurang penting. |
<topic> |
Ya | Mengidentifikasi topik. Nilai atribut yang diperlukan
id harus unik untuk set data. |
<info> |
Opsional | Turunan dari <topic> . Menyertakan informasi tentang
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 {i>file<i} data
mendukung tabel dalam {i>dataset<i}, dan direferensikan dari yang pertama dalam
<data>...</data>
. Secara konseptual, file-file ini
dan tabel-tabel terkaitnya digunakan untuk merepresentasikan konsep
definisi atau slice data. Setiap jenis {i>file<i} data ini
yang dijelaskan secara lebih detail di bawah ini.
Perhatikan bahwa, apa pun tujuannya, semua file data harus file teks UTF-8 yang dipisahkan koma (CSV). File hanya boleh berisi data biasa teks; tanpa HTML. Anda dapat membuat file data secara manual, tetapi secara realistis perlu memijat data baik di alat yang berisi data asli sumber (mis., spreadsheet), atau dalam file yang diekspor.
File dapat digabungkan dengan {i>dataset<i} 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. Tujuan
definisi konsep menggunakan elemen <table>
sebagai referensi
file ini.
Contoh
Berikut contoh tabel untuk konsep country
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 {i>file<i} data (kolom
judul) harus sama persis dengan ID konsep dan properti yang sesuai
ID konsep yang terkait dengan data. Namun, pesanan
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, maka nilainya diasumsikan tidak terdefinisi untuk setiap baris. Tujuan
tabel di atas, misalnya, menghilangkan kolom untuk
latitude
danlongitude
, sehingga negara tidak akan dapat dipetakan. - Setiap nilai untuk isian ID konsep (dalam kasus ini,
country
) harus unik dan tidak kosong (kolom kosong adalah satu dengan nol atau hanya karakter spasi kosong). - Nilai untuk properti yang merujuk konsep lain harus kosong atau merupakan nilai valid dari konsep yang dirujuk.
- Memasukkan nilai dalam tanda kutip ganda bersifat opsional kecuali jika nilai tersebut berisi koma, tanda petik ganda, atau karakter baris baru.
- Escape tanda kutip ganda literal yang muncul dalam nilai dengan mengawalinya dengan tanda petik ganda lainnya.
File Data Slice
File data irisan berisi data yang relevan untuk setiap irisan. Irisan
menggunakan elemen <table ref="...">
untuk
lihat definisi <table>
, yang selanjutnya mengidentifikasi
file ini.
Contoh
Berikut adalah contoh file .csv yang berisi data untuk
Potongan population_by_country
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 waktu dimensi kustom. Nilai untuk kolom metrik boleh kosong. Nilai kosong adalah direpresentasikan oleh tanpa karakter.
- Setiap judul kolom yang merujuk pada sebuah konsep (misalnya, judul
dari contoh di atas merujuk ke konsep
country
) harus sama persis dengan id unik konsep dalam definisi konsep. - Kombinasi unik nilai dimensi, misalnya,
AF, 2000
, hanya mungkin terjadi sekali. - Baris dalam deret waktu yang sama (yaitu, baris yang memiliki kombinasi yang sama semua nilai dimensi, kecuali waktu) harus dikelompokkan bersama, meskipun nilai tidak perlu diurutkan.
Fitur Lanjutan
Set Data Multibahasa
Nilai XML yang Diterjemahkan
Anda dapat menggunakan atribut xml:lang
dengan setiap
<value>
di file DSPL Anda. Atribut ini
menentukan bahasa konten elemen, menggunakan standar W3C,
tag bahasa. Perhatikan bahwa penggunaan fitur ini bersifat opsional; jika tidak
Atribut xml:lang
disertakan, konten dianggap berada di
Bahasa Inggris.
Contoh berikut menunjukkan {i>snipet<i} dari suatu {i>dataset<i} 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) pada instance konsep. Hal ini sangat berguna ketika nilai-nilai konsep (mis., nama) bervariasi berdasarkan bahasa.
Untuk memberikan nilai tersebut dalam beberapa bahasa, buat satu kolom di
tabel definisi yang sesuai untuk
setiap kombinasi properti/bahasa.
Lalu, tautkan kolom tersebut ke properti dan bahasa yang terkait dengan
menambahkan kumpulan elemen <mapProperty xml:lang="..."
ref="..." toColumn="...">
ke tabel
untuk konsep.
Berikut ini contoh yang mendefinisikan 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
formulir 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 kota) memiliki instance yang sesuai dengan lokasi geografis. DSPL mendukung geocoding terhadap instance-instance ini sehingga dapat divisualisasikan dalam Diagram peta animasi Google Public Data.
Jika konsep Anda setara dengan Negara dunia, negara bagian AS, atau AS negara, maka Anda cukup menautkan ke situs resmi konsep; tidak diperlukan geocoding eksplisit. Lihat Panduan Konsep Kanonis untuk informasi selengkapnya spesifikasi pendukung.
Jika tidak, maka Anda perlu membuat konsep Anda dapat dipetakan. Langkah pertama adalah
perluas 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 ditetapkan sebagai kolom dalam isian tabel data definisi konsep.
Hubungan Konsep
Konsep sering kali dikaitkan dengan konsep lain secara terstruktur. Sebagai instance benua dapat mencakup beberapa instance negara, yang nantinya dapat berisi beberapa instance negara bagian atau provinsi. Mengenkode hubungan dalam metadata {i>dataset<i} memungkinkan visualisasi yang lebih kaya fitur daripada yang mungkin ada, misalnya, menampilkan pohon yang dapat diciutkan beberapa lokasi yang bisa dipilih.
Pada bagian di bawah ini, kami menjelaskan hubungan konsep yang didukung dalam skema DSPL.
Hierarki
Hierarki konsep direpresentasikan dalam DSPL melalui penggunaan sebuah
Atribut isParent="true"
di
Tag <property>
dari konsep turunan, yang berisi
pengenal instance dari konsep induk.
Sebagai contoh, konsep County AS milik Google memiliki formulir 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 elemen
kode negara bagian dua huruf untuk setiap county. Jenis {i>metadata<i} ini memungkinkan
Penjelajah Data Publik untuk menunjukkan negara bagian dan county sebagai hierarki, sebuah fitur
yang membuat eksplorasi
jauh lebih mudah bagi pengguna.
Perhatikan bahwa suatu konsep dapat memiliki banyak turunan tetapi tidak lebih dari satu induk.
Pemetaan
Pemetaan konsep (yaitu konsep yang mewakili, pada dasarnya, hal yang sama
objek) direpresentasikan melalui isMapping="true"
di tag property
dari konsep yang dipetakan.
Menetapkan bahwa satu konsep dipetakan ke konsep yang lain memungkinkan konsep yang pertama mewarisi semua properti dan atribut yang kedua. Di antara aplikasi lainnya, Hal ini berguna untuk "menautkan" konsep geografis pribadi dengan 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. {i>Ekstensi<i} berguna untuk menunjukkan
bahwa konsep tertentu merupakan sub kelas dari konsep lain yang lebih luas. Tujuan
konsep yang diperluas mewarisi semua
atribut dan properti dari 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 tentang konsep ekstensi di tutorial untuk mendapatkan penjelasan dan contoh lebih lanjut.
Mengirimkan Set Data Anda
Untuk mengirimkan kumpulan data Anda ke Penjelajah Data Publik Google, ikuti langkah-langkah berikut petunjuk:
- Membuat direktori.
- Simpan file dspl set data di direktori yang Anda buat. Pastikan untuk menggunakan ekstensi .xml.
- Simpan file .csv lokal apa pun di direktori yang sama. File data yang yang direferensikan melalui URL dapat dihilangkan.
- Zip direktori.
- Upload set data Anda ke Google Public Data Penjelajah.
Setelah {i>dataset<i} diunggah dan divalidasi, Anda dapat mengujinya saat ditandatangani ke Akun Google Anda. Hasil ini tidak akan dipublikasikan sampai Anda memeriksanya dan memberitahu bahwa itu sudah siap.