DSPL, Veri Kümesi Yayınlama Dili anlamına gelir. DSPL'de açıklanan veri kümeleri Google Herkese Açık Verileri Explorer'daki verileri zengin ve görsel bir şekilde dışı verilerdir.
Not: Verileri Google Herkese Açık Veriler'e yüklemek için Herkese Açık Veri yükleme aracını kullanarak bir Google Hesabınız olmalıdır.
Bu eğitimde, temel bir belgenin nasıl hazırlanacağına dair DSPL veri kümesi.
DSPL veri kümesi, bir XML dosyası ve CSV dosyaları. CSV dosyaları, dosya taşıma işleminin verilerini içeren yeniden boyutlandırır. XML dosyası, veri kümesinin meta verilerini açıklar. önlemlerin açıklamaları gibi bilgilendirici meta verileri ve bunların yanı sıra tablolar arasında referanslar gibi yapısal meta veriler Meta veriler sayesinde uzman olmayan kullanıcılar verilerinizi keşfedip görselleştirir.
Bu eğiticiyi anlamanın tek ön koşulu, iyi bir geliştirmeyi öğreneceksiniz. Basit veritabanı kavramlarını (ör. birincil anahtarlar gibi) işe yarayabilir ancak şart değildir. Referans olması açısından, tamamlanan XML dosyası ve veri kümesinin tamamı paketi içeren diğer seçenekler de incelenebilir.
Genel Bakış
Veri kümemizi oluşturmaya başlamadan önce, süreç boyunca DSPL veri kümesi şunları içerir:
- Genel bilgiler: Veri kümesi hakkında
- Kavramlar: "Nesneler"in tanımları verileri (ör. ülkeler, işsizlik oranı, cinsiyet, etc.)
- Dilimler: Belirli bir parçası olan kavramların, veri
- Tablolar: Kavramlar ve dilimlere ilişkin veriler. Kavram tablolar numaralandırmaları muhafaza eder, dilim tablolarında ise istatistiksel veriler bulunur
- Konular: Veri kümesi kavramlarını düzenlemek için kullanılır etiketleyerek anlamlı bir hiyerarşiye
Oldukça soyut olan bu kavramları göstermek için veri kümesini ( temsili veriler) temel alacağız: dönüşüm etkinliği için istatistiksel zaman çeşitli ülke kombinasyonlarına göre toplanan nüfus ve işsizlik oranı ABD eyaleti ve cinsiyet.
Bu örnek veri kümesi şu kavramları tanımlar:
- country
- gender
- nüfus
- durum
- işsizlik oranı
- yıl
Durum gibi kategorik kavramlar, kavram ile ilişkilidir tablolar, tablodaki olası tüm değerleri (Kaliforniya, Arizona vb.). Kavramlarda, bir eyaletin adı veya ülkesi.
Dilimler, seçilen her bir kavram kombinasyonunun
veri kümesindeki istatistik verileri. Bir dilim boyutlar ve
metriklerini inceleyin. Yukarıdaki resimde boyutlar mavidir ve
ölçümler turuncu renktedir. Bu örnekte, dilim
gender_country_slice
, metrikle ilgili verilere sahip
population
ve country
boyutları
year
ve gender
. Google Haritalar’da
country_slice
, şunun için yıllık toplam nüfus sayısını (metrik) verir:
ülkeler.
Dilimler, boyut ve metriklere ek olarak tablo da içerir.
Şimdi bu tür bir veri kümesi oluşturma sürecini adım adım inceleyelim DSPL
Veri Kümesi Bilgileri
Öncelikle veri kümemiz için bir XML dosyası oluşturmamız gerekiyor. Burada başına bir DSPL açıklaması ekleyin:
<?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" xmlns:geo="http://www.google.com/publicdata/dataset/google/geo" xmlns:entity="http://www.google.com/publicdata/dataset/google/entity" xmlns:quantity="http://www.google.com/publicdata/dataset/google/quantity"> <import namespace="http://www.google.com/publicdata/dataset/google/time"/> <import namespace="http://www.google.com/publicdata/dataset/google/entity"/> <import namespace="http://www.google.com/publicdata/dataset/google/geo"/> <import namespace="http://www.google.com/publicdata/dataset/google/quantity"/> <info> <name> <value>My statistics</value> </name> <description> <value>Some very interesting statistics about countries</value> </description> <url> <value>http://www.stats-bureau.com/mystats/info.html</value> </url> </info> <provider> <name> <value>Bureau of Statistics</value> </name> <url> <value>http://www.stats-bureau.com</value> </url> </provider> ... </dspl>
Veri kümesi açıklaması üst düzey bir <dspl>
ile başlar
öğesine dokunun. targetNamespace
özelliği,
bu veri kümesini benzersiz şekilde tanımlar. Veri kümesinin ad alanı, özellikle
genel tanımlayıcısı olacağı için veri kümesi yayınlanması açısından
veri kümenizin ve başkalarının bu veri kümenize atıfta bulunmasının yollarını öğrenebilirsiniz.
targetNamespace
özelliğinin atlanabileceğini unutmayın. İçinde
Bu örnekte, veri kümesi ilk kez çalıştırıldığında
içe aktarıldı.
Diğer veri kümelerindeki bilgileri kullanma
Veri kümeleri, içe aktarma yoluyla diğer veri kümelerindeki tanımları ve verileri yeniden kullanabilir
yardımcı olur. Her <import>
öğesi
bu veri kümesinin referans alacağı başka bir veri kümesinin ad alanına uygulanır.
Örnek veri kümemizde, http://www.google.com/publicdata/dataset/google/quantity sayfasından bazı tanımlara ihtiyacımız olacak. (Google tarafından oluşturulmuş, tanımlanması yararlı kavramları içeren bir veri kümesi) sayısal miktarlar) ve hem veri kullanımı sağlayan hem de zaman, varlık ve geo veri kümelerinden sırasıyla zaman, varlıklar ve coğrafya ile ilgili tanımlar.
En üstteki <dspl>
öğesi, bir ad alanı öneki sağlıyor
beyan (ör. xmlns:time="http://..."
) her biri için
içe aktarılan veri kümesinden oluşur. Referans için ön ek bildirimleri gereklidir
diğer veri kümelerindeki öğeleri kısa ve öz şekilde açıklamanızı sağlar. Örneğin,
time:year
,year
Ad alanı ön ek ile ilişkilendirilmiş içe aktarılmış veri kümesi
time
.
Veri kümesi ve sağlayıcı bilgileri
<info>
öğesi, hakkında genel bilgiler içerir
veri kümesi: ad, açıklama ve daha fazla bilginin sağlanabileceği bir URL
bulundu.
<provider>
öğesi,
veri kümesinin sağlayıcısı: adı ve daha fazla bilginin sağlanabileceği bir URL
bulunur (genellikle veri sağlayıcının ana sayfası).
Kavramları Tanımlama
Veri kümesiyle ilgili bazı genel bilgiler sunduğumuza göre, içeriğini tanımlamaya hazırız. Bir sonraki hedefimiz Ülkelerin son 50 yıllık nüfus istatistikleri.
Yapmamız gereken ilk şey, bu kavramlar için bazı tanımlar sağlamak nüfus, ülke ve yıla göre değişiklik gösterir. DSPL'de bu tanımlara kavramları inceleyin.
Kavram, bir anketin içerdiği veri türünün tanımıdır. veri kümesiyle eşleştirilir. Belirli bir kavrama karşılık gelen veri değerlerine örneklerini görebilirsiniz.
Nüfus
Popülasyon kavramını tanımlayarak başlayalım.
DSPL belgesi, kavramlar <concepts>
içinde tanımlanır
öğesidir.
Burada sadece asgari bilgiye ihtiyaç duyulan bir nüfus kavramı gösterilmektedir
herhangi bir kavram için: id
(benzersiz tanımlayıcı), name
ve
type
.
<dspl ...> ... <concepts> <concept id="population"> <info> <name> <value>Population</value> </name> </info> <type ref="integer"/> </concept> ... </concepts>
Bu örneğin çalışma şekli şöyledir:
- Her kavram, onu benzersiz bir şekilde tanımlayan bir
id
sağlamalıdır Kavramı açıklayacağım. Yani, bu programda tanımlanan hiçbir kavram aynı veri kümesi aynı kimliğe sahip olabilir. - Veri kümesi ve sağlayıcısında olduğu gibi,
<info>
öğeleri, (ör. adı ve açıklaması) <type>
öğesi örneklerini (yani "değerlerini") kapsar. Bu örnekte,population
türüinteger
. DSPL, aşağıdaki veri türlerini destekler:string
integer
float
boolean
date
Ülke
Şimdi ülke kavramının tanımını yazalım:
<concept id="country"> <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> <table ref="countries_table" /> </concept>
Ülke kavramının tanımı bir önceki gibi
id
, info
ve type
ile.
Kavram değerleri
Ülkeler gibi kategorik kavramlar, mümkün olan tüm
sağlar. Başka bir deyişle,
referans alın. Ancak bunun için her ülkenin benzersiz bir tanımlayıcısına ihtiyacı vardır.
Bu örnekte
Ülkeleri tanımlamak için ISO ülke kodları; bu kodlar
string
türünde.
Bu örnekte, ISO kodunu kullanmanız gerekmez; siz ülke adını da kullanabiliriz. Ancak adlar dile, ürüne göre zamanla değişebilir ve veri kümelerinde her zaman tutarlı bir şekilde kullanılmaz. Ülkeler için ve genel olarak kategorik kavramlar açısından seçim alıştırması, kısa, sabit, yaygın olarak kullanılan ve dilden bağımsız tanımlayıcılar (varsa).
Kavram özellikleri
id
özelliğine ek olarak ülke konseptinde de
Ülkenin adını belirten <property>
öğesi.
Başka bir deyişle, ülke adı ("İrlanda") bir mülktür
id
IE'nin bulunduğu ülkenin. DSPL, mülkleri
Bir kavramın örnekleri hakkında yapılandırılmış ek bilgiler.
Kavramın kendisinde olduğu gibi, mülklerde id
bulunur,
info
ve type
.
Kavram verileri
Son olarak, ülke kavramı bir <table>
öğesi içerir.
Bu öğe, tüm öğelerin listesini numaralandıran bir tabloya başvuruyor
ülkeler.
Tabloları kullanmak bazı kavramlar için anlam ifade ederken bazıları için anlam ifade etmez. Örneğin, bir veri türü için olası tüm değerleri numaralandırmak Kavram popülasyonu. Ancak bir hafta içinde bir kavram varsa o tablo, kavramın tüm örneklerini içermelidir. Örneğin, sadece birkaç örnek değil, tüm ülkeler listelenmelidir.
Veri kümesi, countries_table
tablosunu şu şekilde tanımlar:
... <tables> <table id="countries_table"> <column id="country" type="string"/> <column id="name" type="string"/> <data> <file format="csv" encoding="utf-8">countries.csv</file> </data> </table> ... </tables>
Ülkeler tablosu, tablonun sütunlarını ve türlerini belirtir.
ve verileri içeren bir CSV dosyasına referansta bulunur. Bu CSV şunlardan biri olabilir:
XML veri kümesi ile birleştirilmiş ve yüklenmiş veya HTTP, HTTPS veya
veya FTP aracılığıyla yükleyebilirsiniz. İkinci durumlarda ise countries.csv
yerine
bir URL (örneğin, http://www.myserver.com/mydata/countries.csv
).
CSV dosyası nerede depolandığına bakılmaksızın aşağıdaki gibi görünür:
country, name AD, Andorra AF, Afghanistan AI, Anguilla AL, Albania US, United States
Tablonun ilk satırında, DSPL'de belirtilen sütun kimlikleri listelenir
table
tanım. Aşağıdaki satırların her biri bir satıra karşılık gelir
örneğini ele alalım. Kavramın bir tablosu varsa
tablo, kavramın tüm örneklerini içermelidir. Bu
tüm ülkeleri listelemelidir.
Sütunlar, ülke kavramıyla ve özelliklerine göre
kimlikleri. İlk sütunun kimliği (country
) kavramla eşleşiyor
id [no] Bu, bu sütunun benzersiz ülke tanımlayıcısını içerdiği anlamına gelir.
ülke konseptiyle tanımlanmıştır. Sonraki sütun
ülke konseptinin name
özelliği. Değerler
name
özelliğinin değerleriyle eşleşir.
Kavram tablosu CSV verilerinin birkaç gereksinimi vardır:
- Veri dosyasının ilk satırındaki sütun başlıkları,
id
kavramı ve özelliği ile tam olarak eşleşir (yine de verilerin ilişkili olduğu kavramınid
) sipariş değişiklik gösterebilir). - Her satırda tam olarak Kavramdaki özellikler (değer boş olsa bile).
- Kavramın
id
alanı için her değer (burada, ülke kodu) benzersiz olmalı ve boş olmamalıdır (boş bir alan sıfır olan bir sayı olmalıdır) veya sadece boşluk karakterleri). - Diğer kavramlara başvuruda bulunan mülklerin değerleri boş veya başvurulan kavramın geçerli bir değeri olabilir.
- Virgül, çift tırnak veya yeni satır karakteri içeren değerler çift tırnak içine alınmalıdır.
- Bir değer içindeki tüm düz çift tırnak karakterleri hemen olmalıdır başka bir çift tırnak işareti vardır.
Yıl
Ülke nüfus verilerimiz için ihtiyacımız olan son kavram,
ve yılları temsil eder. Yeni bir kavram tanımlamak yerine,
yıllık bir kavramdır:
"http://www.google.com/publicdata/dataset/google/time". Bunu yapmak için
time
burada time:year
olarak referans vermemiz gerekir.
başvurulan veri kümesini temsil eder ve year
, referans verilen veri kümesini
ortaya koyduk.
Standart kavramlar
time:year
, küçük bir standart kavram grubunun parçasıdır
Google tarafından tanımlanmıştır. Standart kavramlar zamanla ilgili temel tanımlar sağlar,
konum, sayısal miktar, birim vb.
Aslında yukarıda tanımlanan ülke kavramı,
kavramak. Yalnızca örnek olarak verilmiştir.
Mümkün olduğunda veri kümelerinizde standart kavramları
veya uzatma yoluyla ekleyebilirsiniz (uzantı hakkında daha fazla bilgiyi aşağıda bulabilirsiniz). Standart kavramlar
verilerinizi diğer veri kümeleriyle karşılaştırabilir ve
veri kümelerinin göstergesidir. Örneğin, zaman içinde oluşan
verileri canlandırmak,
ya da haritada coğrafi verileri göstermek, time
ve
Sırasıyla geo
standart kavram.
İlk Dilim
Nüfus, ülke ve yıl ile ilgili kavramlara sahip olduğumuza göre, bir araya getirmek istedik.
Bunun için, bunları birleştiren bir dilim oluşturmamız gerekir. DSPL'de, dilim, verilerin mevcut olduğu kavramların kombinasyonudur.
Neden doğru sütunlara sahip bir tablo oluşturmuyorsunuz? Dilimler yakalandığı için kavramlar bakımından veri kümesi bilgileri. Bu, daha net biçimde ortaya koymamızı sağlar.
Dilimler, DSPL dosyasında <slices>
öğesi (concepts
bölümünden hemen sonra görünmelidir.)
<slices> <slice id="countries_slice"> <dimension concept="country"/> <dimension concept="time:year"/> <metric concept="population"/> <table ref="countries_slice_table"/> </slice> </slices>
Kavramlarda olduğu gibi her dilimde bir id
vardır
(countries_slice
)
veri kümesiyle eşleştirilir.
Bir dilim iki tür kavram referansı içerir: Boyutlar ve
metriklerini inceleyin. Metriklerin değerleri, metriklerine göre
seçin. Burada population
değeri (metrik)
country
ve year
boyutları.
Kavramlarda olduğu gibi dilimler de bir tabloya başvuru içerir. dilimin verilerini içerir. Başvuruda bulunulan tabloda bir sütun bulunmalıdır: ve dilimin her bir boyutunu ve metriğini. Kavramlarda olduğu gibi, dilim boyutlar ve metrikler aynı kimliklere sahip tablo sütunlarıyla eşlenir.
Dilim tablo
Popülasyon dilimimizin tablosu, tables
sütununda görünür
bölümüne ekleyin:
<tables> ... <table id="countries_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>
year
sütununun bir format
ile geldiğini unutmayın
özelliğini kullanabilirsiniz. Desteklenen tarih biçimleri
Joda DateTime biçimi ile tanımlananlar.
countries_slice
tablosu, tablonun sütunlarını belirtir ve
verilerini içeren bir CSV dosyasına işaret eder. CSV dosyası
şöyle görünür:
country, year, population AF, 1960, 9616353 AF, 1961, 9799379 AF, 1962, 9989846 AF, 1963, 10188299 ...
Veri tablosunun her satırı, boyutların benzersiz bir kombinasyonunu içerir
country
ve year
(ilgili değerle birlikte)
population
metriğine ait (örneğin, nüfus -
metrik - Afganistan'ın 1960'ta - boyutlar).
country
sütunundaki değerlerin
ISO 3166 olan country
kavramının değeri/tanımlayıcısı
Ülkenin 2 harfli kodudur.
Bir dilimin CSV verileri aşağıdaki kısıtlamaları karşılamalıdır:
- Bir boyut alanının her değeri (
country
veyear
) boş bırakılamaz. Metrik alanları için değerler (ör.population
) boş olabilir. Boş değer, hayır ile temsil edilir karakteri ekleyin. - Bir kavrama referansta bulunan boyut alanının her değeri
verilerde bulunan
birkaç kısa açıklamadır. Örneğin,
AF
değericountry
kavram verileri tablosunda bulunmalıdır. - Boyut değerlerinin her benzersiz kombinasyonu, ör.
AF, 2000
, yalnızca bir kez yapılabilir. - Veriler, zaman harici boyut sütunlarına göre (herhangi bir sırada) sıralanmalıdır.
ve isteğe bağlı olarak diğer sütunlardan herhangi birine göre sıralayabilirsiniz. Yani örneğin
[date, dimension1, dimension2, metric1, metric2]
sütunlarını içeren bir tablodadimension1
, ardındandimension2
, ardındandate
, ancak şuna göre değil:date
ve ardından boyutlar.
Özet
Bu noktada, DSPL'mizde ülkeyi tanımlamaya yetecek kadar yer var. popülasyon verileri. Özetlemek gerekirse şunları yapmamız gerekti:
- Veri kümesinin ve veri kümesinin DSPL başlığını ve açıklamasını oluşturun sağlayıcı
- Farklı nüfus ve ülke kavramları için ayrı ayrı csv dosyasında bulabilirsiniz.
- Zaman içinde ülkelere ait nüfus sayılarımızı içeren bir dilim oluşturun içe aktarılan zaman veri kümesinde önceden tanımlanmış yıl kavramını referans göstermek Google'dan.
Bu eğiticinin geri kalanında veri kümemizi zenginleştirerek daha fazla dilime daha fazla boyut eklemeyi ve ayrıca her bir dilime göre gruplandırılmış daha fazla konu.
Boyut Ekleme: ABD Eyaletleri
Şimdi de şehirdeki eyaletler için nüfus verilerini ekleyerek veri kümemizi zenginleştirelim. ABD. Öncelikle eyaletlerle ilgili bir kavram tanımlamamız gerekiyor. Bu, hem çok örneğin, önceden tanımladığımız ülke kavramı gibi.
<concept id="state" extends="geo:location"> <info> <name> <value>state</value> </name> <description> <value>US states, identified by their two-letter code.</value> </description> </info> <property concept="country" isParent="true" /> <table ref="states_table"/> </concept>
Kavram uzantıları ve özellik referanslar
Eyalet kavramı, DSPL'ye ilişkin bazı yeni özellikleri de beraberinde getirmektedir.
Birincisi, durum başka bir kavramı genişletir.
geo:location
(harici coğrafi veri kümesinde tanımlanır)
başına içe aktarılmalıdır). Semantik olarak bu,
state
, bir geo:location
türüdür. Sonuç ise
sahip olduğu tüm özellikleri ve özellikleri
geo:location
Özellikle konum, bu öğelerin
latitude
ve longitude
; projenin kapsamını genişleterek
bu özellikler duruma da uygulanır. Ayrıca,
konum şuradan devralınır: entity:entity
, durum da alır
ve name
dahil olmak üzere ikinci etiketin tüm özellikleri
description
ve info_url
.
Not: Daha önce tanımlanan ülke kavramı
teknik olarak geo:location
örneğinden de genişletilmelidir.
Bu nokta, kolaylık sağlaması için daha önce çıkarıldı; buradaki
ülkeden ülkeye devralma verileri
nihai XML dosyanız oluşturun.
Not: extends
kullanabilirsiniz
diğer veri kümeleri tarafından tanımlanan bilgileri yeniden kullanmak için kendi veri kümelerinizde oluşturma işlemini gerçekleştirin.
extends
kullanımı için konseptinizin tüm örneklerinin aşağıdaki gibi olması gerekir:
geçerli örneklerini inceleyin. Uzantılar,
ek özellikler ve öznitelikler kullanabilir ve örnek kümesini
genişletilmiş kavramın örneklerinin alt kümesidir.
Devralmaya ek olarak, eyalet mülkü
Kavram fikri referansları.
Özellikle, eyalet kavramı country
adlı bir özelliğe sahip.
yukarıda oluşturduğumuz ülke kavramını referans alıyor. Bu,
(concept
özelliği) kullanabilirsiniz. Bu özelliğin
kimlik sağlar, yalnızca kavram referansı sağlar. Bu, kimlik oluşturmaya eşdeğerdir
referans verilen kavramın kimliğiyle aynı değere sahip olmalıdır (ör.
country
) tıklayın. Proje yöneticileri arasındaki
eyalet ve ilçe, özellik kullanılarak yakalanır.
Referansta isParent="true"
var. Genel olarak
hiyerarşik ilişkileri olan boyutlar (ör. coğrafyalar)
Bu şekilde temsil edilir. Çocuk konsepti, kullanıcıların
isParent
özelliğini kullanarak üst kavramı referans alıyor.
Eyaletlerin tablo tanımı aşağıdaki gibi görünür:
<tables> ... <table id="states_table"> <column id="state" type="string"/> <column id="name" type="string"/> <column id="country" type="string"> <value>US</value> </column> <column id="latitude" type="float"/> <column id="longitude" type="float"/> <data> <file format="csv" encoding="utf-8">states.csv</file> </data> </table> ... </tables>
Ülke sütunu, tüm eyaletler için sabit bir değere sahiptir. Bunu
DSPL, verilerdeki her durum için bu değerin tekrarlanmasını önler. Ayrıca şunlara dikkat edin:
name
, latitude
ve
Eyalet bu mülkleri şuradan devraldığı için longitude
:
geo:location
. Diğer yandan, devralınan bazı mülkler
(ör. description
) sütun içermiyor; bunda bir sakınca yok-
Bir özellik, kavram tanımı tablosundan çıkarılırsa bu özelliğin değeri
her örneği için tanımsız olduğu varsayılır.
CSV dosyası aşağıdaki gibi görünür:
state, name, latitude, longitude AL, Alabama, 32.318231, -86.902298 AK, Alaska, 63.588753, -154.493062 AR, Arkansas, 35.20105, -91.831833 AZ, Arizona, 34.048928, -111.093731 CA, California, 36.778261, -119.417932 CO, Colorado, 39.550051, -105.782067 CT, Connecticut, 41.603221, -73.087749 ...
Nüfus ve yıl kavramlarına zaten sahip olduğumuz için bunları yeniden eyalet nüfusu için yeni bir dilim tanımlamak üzere kullanılır.
<slices> <slice id="states_slice"> <dimension concept="state"/> <dimension concept="time:year"/> <metric concept="population"/> <table ref="states_slice_table"/> </slice> </slices>
Veri tablosu tanımı şöyle görünür:
<tables> ... <table id="states_slice_table"> <column id="state" type="string"/> <column id="year" type="date" format="yyyy"/> <column id="population" type="integer"/> <file format="csv" encoding="utf-8">state_slice.csv</file> </table> ... </tables>
CSV dosyası da şöyle görünür:
state, year, population AL, 1960, 9616353 AL, 1961, 9799379 AL, 1962, 9989846 AL, 1963, 10188299
Bir tane daha soralım, yeni bir dilim eklemek yerine neden yeni bir dilim oluşturduk? ne kadar önemli?
Hem eyalet hem de ülke için boyutları olan bir dilim doğru olmaz. Çünkü bazı satırlar ülke verileri, bazı satırlar ülke verileri içindir. dışı verilerdir. Tabloda "delikler" olur. birkaç boyut için izin verilmez (eksik değerlere yalnızca metrikler ve özellikler için izin verildiğini unutmayın) boyutları değil) belirtir.
Boyutlar "birincil anahtar" görevi görür ekleyin. Bunun anlamı, her veri satırı, tüm boyutlar için değerlere sahip olmalı ve iki veri satırı içermemelidir tüm boyutlar için tam olarak aynı değerlere sahip olabilir.
Metrik Ekleme: İşsizlik Puan ver
Şimdi, veri kümemize başka bir metrik ekleyelim:
<concept id="unemployment_rate" extends="quantity:rate"> <info> <name> <value>Unemployment rate</value> </name> <description> <value>The percent of the labor force that is unemployed.</value> </description> <url> <value>http://www.bls.gov/cps/cps_htgm.htm</value> </url> </info> <type ref="float/> <attribute id="is_percentage"> <type ref="boolean"/> <value>true</value> </attribute> </concept>
Bu metriğin info
bölümünün adı, açıklaması ve
URL (ABD İşçi İstatistikleri Bürosu'nun bağlantısını içerir).
Bu kavram, quantity:rate
standart kavramını da genişletir.
Miktar
veri kümesi, sayısal miktarları temsil etmeye yönelik temel kavramları tanımlar. İçinde
sayısal kavramlarınızı oluşturmak için
kavramını ifade eder. Dolayısıyla, population
kavramı
yukarıda tanımlanan tanımın, teknik olarak,
quantity:amount
.
Kavram özellikleri
Bu kavram, özellik yapısını da tanıtır. İçinde
Bu örnekte bir özellik, unemployment_rate
bir yüzde değeridir. is_percentage
özelliği şuradan devralındı:
quantity:rate
kavramını da tanıttım. Bu
bilgileri, aşağıdaki durumlarda yüzde işaretlerini göstermek için Public Data Explorer tarafından kullanılır.
verilerinizi görselleştirmenizi sağlar.
Özellikler, anahtar/değer çiftlerini bir
kavram (bunun aksine, ek değerleri
örnekleri). Tıpkı kavramlar ve mülklerde olduğu gibi
özelliklerinde id
, info
ve bir
type
. Mülkler gibi, diğer kavramları da referans alabilirler.
Özellikler yalnızca sayısal değerler gibi önceden tanımlanmış genel unsurlara yönelik değildir özellikler. Kavramlarınız için kendi özelliklerinizi tanımlayabilirsiniz.
ABD İçin İşsizlik Oranı Verileri Ekleme Durumlar
Artık ABD eyaletleri için işsizlik oranı verilerini eklemeye hazırız. Çünkü işsizlik oranı bir metriktir. Elimizde eyaletler, nüfusu bunu eyalet ve yıl için önceden oluşturduğumuz dilime ekleyebiliriz. boyutlar:
<slices> ... <slice id="states_slice"> <dimension concept="state"/> <dimension concept="time:year"/> <metric concept="population"/> <metric concept="unemployment_rate"/> <table ref="states_slice_table"/> </slice> ... </slices>
... ve tablo tanımına başka bir sütun ekleyin:
<tables> ... <table id="states_slice_table"> <column id="state" type="string"/> <column id="year" type="date" format="yyyy"/> <column id="population" type="integer"/> <column id="unemployment_rate" type="float"/> <data> <file format="csv" encoding="utf-8">state_slice.csv</file> </data> </table> ... </tables>
... ve CSV dosyasına ekleyin:
state, year, population, unemployment_rate AL, 1960, 9616353, 5.1 AL, 1961, 9799379, 5.2 AL, 1962, 9989846, 4.8 AL, 1963, 10188299, 6.9
Daha önce her dilim için boyutların birincil anahtar oluşturduğunu söylemiştik. ekleyin. Ayrıca her veri kümesi, bir dilim yalnızca bir tam olarak ne kadar zaman aldığını öğrenebilirsiniz. Bu kampanyalar için kullanılabilen tüm metrikler boyutların aynı dilime ait olması gerekir.
Diğer Boyutlar: Cinsiyete Göre Nüfus Dökümü
Veri kümemizi cinsiyet bazında nüfus analizi ile zenginleştirelim. ülkeler. Artık matkabı öğrenmeye başlıyorsunuz... Öncelikle cinsiyet kavramını ekle:
<concept id="gender" extends="entity:entity"> <info> <name> <value>Gender</value> </name> <description> <value>Gender, Male or Female</value> </description> <pluralName> <value>Genders</value> </pluralName> <totalName> <value>Both genders</value> </totalName> </info> <type ref="string"/> <table ref="genders_table"/> </concept>
Cinsiyet kavramı info
bölümünde,
pluralName
; referansta bulunulacak metni sağlar
ve cinsiyet kavramının
birden fazla örneği olabilir. info
bölümü de
metin içeren bir totalName
içerir. Bu metin,
cinsiyet kavramının tüm örneklerini Bunların ikisi de
Public Data Explorer tarafından cinsiyetle ilgili bilgileri görüntülemek için kullanılır
kavramak. Genel olarak, dönüşüm hunisinin tamamını kapsayan
seçin.
Cinsiyet kavramı aynı zamanda
entity:entity
Bu, iş kırılım yapısının
ve özel adlar eklemenize olanak tanıdığı için boyut olarak kullanılan
URL'ler ve çeşitli kavram örnekleri için renkler.
Cinsiyet kavramı, farklı cinsiyetlerin kullanıldığı genders_table
tablosunu ifade eder.
cinsiyet ve görünen adları için olası değerleri içerir
(burada gösterilmez).
Veri kümemize cinsiyete göre popülasyon eklemek için yeni bir dilim oluşturmamız gerekir. (Unutmayın: kullanılabilir her boyut kombinasyonunun, veri kümesi) kaldırın.
<slice id="countries_gender_slice"> <dimension concept="country"/> <dimension concept="gender"/> <dimension concept="time:year"/> <metric concept="population"/> <table ref="countries_gender_slice_table"/> </slice>
Dilimin tablo tanımı aşağıdaki gibi görünür:
<table id="countries_gender_slice_table"> <column id="country" type="string"/> <column id="gender" type="string"/> <column id="year" type="date" format="yyyy"/> <column id="population" type="integer"/> <data> <file format="csv" encoding="utf-8">gender_country_slice.csv</file> </data> </table>
Tablonun CSV dosyası aşağıdaki gibi görünür:
country, gender, year, population AF, M, 1960, 4808176 AF, F, 1960, 4808177 AF, M, 1961, 4899689 AF, F, 1961, 4899690...
Önceki ülkeler, nüfus ve işsizlik dilimiyle karşılaştırıldığında bunun ek bir boyutu var. popülasyon metriğinin her değeri yalnızca belirli bir ülke ve yıla değil, aynı zamanda yardımcı olabilir.
Bir "separse" dönüşüm türü veri kümesiyle eşleştirilir. Bazı taraflar, metrikler tüm boyutlar için kullanılabilir: nüfus yıllık bazda, işsizlik oranı ise ülkeler ve ABD eyaletlerinde fiyat yalnızca ülkeler için kullanılabilir. Cinsiyete göre döküm mevcut yalnızca ülkeye göre nüfus için; işsizlik oranı için yok metriğini kullanabilirsiniz. Verilerde de nadirlik olabilir belirli boyut değerleri için değer içermeyen belirli metrikler varsa, ancak bu DSPL'de temsil edilmez.
Konular
DSPL'nin veri kümemizde kullanacağımız son özelliği konular. Konular, kavramları hiyerarşik olarak sınıflandırmak için kullanılır ve özel uygulamalarınızın yardımıyla kullanıcıların verilerinize ulaşmasına yardımcı olabilirsiniz.
DSPL dosyasında, konular kavramlardan hemen önce görünür. Bir örnek verelim konu hiyerarşisi:
<dspl ... > ... <topics> <topic id="geography"> <info> <name> <value>Geography</value> </name> </info> </topic> <topic id="social_indicators"> <info> <name> <value>Social indicators</value> </name> </info> </topic> <topic id="population_indicators"> <info> <name> <value>Population indicators</value> </name> </info> </topic> <topic id="poverty_and_income"> <info> <name> <value>Poverty & income</value> </name> </info> </topic> <topic id="health"> <info> <name> <value>Health</value> </name> </info> </topic> </topics>
Konuları gerektiği kadar iç içe yerleştirebilirsiniz.
Konuları kullanmak için onlara konseptten referans vermeniz yeterlidir şu şekildedir:
<concept id="population"> <info> <name> <value>Population</value> </name> <description> <value>Size of the resident population.</value> </description> </info> <topic ref="population_indicators"/> <type ref="integer"/> </concept>
Bir kavram birden fazla konuya referans verebilir.
Veri Kümenizi Gönderme
Artık veri kümenizi oluşturduğunuza göre, sıradaki adım veri kümesini sıkıştırmak ve zip dosyasını yükleyin Google Herkese Açık Verileri Keşfetme Aracı. Herhangi bir sorunla karşılaşırsanız bir tartışma içeren SSS en yaygın yükleme sorunlarından bahsedeceğiz.
Referans için eksiksiz XML dosyasını ve tüm veri kümesi paketini de indirebilirsiniz bu eğitimle ilişkilidir.
Sonraki Adımlar
Tebrikler, ilk DSPL veri kümenizi oluşturdunuz! Artık takibin temel bilgileri anlamak için Geliştirici Kılavuzu'nu okumanızı öneririz. diğer özelliklerin yanı sıra dokümanların "gelişmiş" DSPL özellikleri: Çok dilli destek ve eşlenebilir kavramlar.
Ayrıca, birkaç örnek veri kümesine de göz atabilirsiniz.