DSPL, Veri Kümesi Yayınlama Dili anlamına gelir. Hem meta verileri (veri kümesinin adı ve sağlayıcısı gibi veri kümesiyle ilgili bilgiler ile içerdiği ve görüntülediği kavramlar) hem de veri kümelerinin gerçek verilerini temsil eder. Bu biçimde açıklanan veri kümeleri, verilerin zengin ve görsel bir şekilde keşfedilmesini sağlayan bir araç olan Google Public Data Explorer'a aktarılabilir.
Not: Herkese Açık Veri yükleme aracını kullanarak Google Herkese Açık Veriler'e veri yüklemek için Google Hesabınızın olması gerekir.
Bu belge, içeriklerinin Public Data Explorer'da kullanılabilir olmasını isteyen veri sahipleri için hazırlanmıştır. DSPL şemasının ve desteklenen özelliklerin ayrıntılarıyla Eğitim'in ötesine geçer. Yalnızca temel düzeyde XML olduğu varsayılır ancak ilişkisel veritabanları hakkında bilgi sahibi olmak da yararlıdır.
Zorunlu olmamakla birlikte, bu dokümana bakmadan önce daha kısa ve anlaşılması daha kolay Eğitim'i okumanızı öneririz.
Genel bakış
DSPL veri kümesi, bir XML dosyası ve bir dizi CSV dosyası içeren bir .zip dosyasıdır. CSV dosyaları, veri kümesinin verilerini içeren basit tablolardır. XML dosyası ise veri kümesinin meta verilerini açıklar. Ardından, tablolar arasındaki referanslar gibi yapısal meta verilerin yanı sıra ölçümlerin açıklamaları gibi bilgi amaçlı meta veriler de yer alır. Bu meta veriler, uzman olmayan kullanıcıların verilerinizi keşfetmesine ve görselleştirmesine olanak tanır.
İşleme
Genel olarak, bir DSPL veri kümesi oluşturma süreci aşağıdaki gibidir (buna paralel olarak bazı adımlar gerçekleştirilebilir):
- DSPL XML dosyanızı oluşturun.
- Veri kümenizde kullanılacak harici veri kaynaklarını belirleyin.
- Kavramlarınızı, dilimlerinizi ve (isteğe bağlı olarak) konularınızı tanımlayın. DSPL dosyanızın içeriğini aşamalı olarak güncelleyin.
- Kaynak verilerinizi .csv dosyalarına aktarın.
- Bir DSPL veri kümesi oluşturun.
- Veri kümesini Google'a gönderin.
XML Yapısı
Genel bakış
DSPL XML dosyası; kavramlar, dilimler, konular ve tablolar arasındaki yapısal ilişkiler dahil olmak üzere veri kümesinin meta verilerini tanımlar. Bu dosyayı elle oluşturmak mümkün olsa da veri işleme araçları ve komut dosyaları bu işlemi büyük ölçüde kolaylaştırabilir. Yeni bir pencerede örnek bir DSPL dosyası inceleyin.
Dosya, aşağıdaki tabloda özetlenen çeşitli bölümler içerir. Tabloyu takip ederek bunların her birini daha ayrıntılı olarak açıklayacağız.
Bölüm | Özet | Daha Fazla Bilgi |
---|---|---|
Başlık ve İçe Aktarma İşlemleri | Veri kümesinin diğer tüm öğelerinin üst öğesidir. Veri kümesi için hedef ad alanını (ör. tanımlayıcı) ve içe aktarılan veri kümelerinin ad alanlarını içerir. | Belgeler |
Veri Kümesi Bilgileri | Veri kümesinin adı, açıklaması ve URL'si. | Belgeler |
Sağlayıcı Bilgileri | Veri kümesi sağlayıcının adı, açıklaması ve URL'si. | Belgeler |
Kavramlar |
Veri kümesinde görünen "şeylerin" tanımları (ör. ülkeler, işsizlik oranı, cinsiyet vb.) Her kavram, dilimler ve tablolarla referans verilebilecek benzersiz bir tanımlayıcıya sahiptir. |
Belgeler |
Dilimler |
Veri kümesinde istatistiksel verileri olan kavramların kombinasyonları. Her dilim boyutlar ve metrikler içerir. Dilimler, kavramları ve gerçek verileri içeren tablolara referans verir. Her bir dilimin, gerçek verileri içeren tablolar tarafından referans verilebilecek benzersiz bir tanımlayıcısı vardır. |
Belgeler |
Tablolar | Kavramlar ve dilimlerle ilgili verileri tanımlayın. Kavram tabloları numaralandırmaları, dilim tabloları ise istatistiksel verileri barındırır. Tablolar, XML dosyasında tanımlanır ve gerçek verileri içeren .csv dosyalarına işaret eder. | Belgeler |
Konular | Veri kümesi kavramlarını düzenlemek için kullanılan kategoriler. Zorunlu olmamakla birlikte bunlar, verilerinizde gezinen kullanıcılar için çok faydalı olabilir. | Belgeler |
Başlık ve İçe Aktarma İşlemleri
Public Data ad alanını tanımlama
DSPL veri kümesi, üst düzey bir <dspl>
öğesiyle başlar.
Bu, tüm veri kümesi bilgilerini kapsamak ve dosya boyunca kullanılacak ad alanlarını belirtmek için kullanılır. Örneğin:
<?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>
Ad alanı, XML şemasıyla (XML öğeleri ve özellik grubu) ilişkilendirilebilen benzersiz bir tanımlayıcıdır. targetNamespace
, veri kümenizi tanımlayan bir URI sağlar.
Bu URI'nin gerçek bir kaynağı işaret etmesi gerekmez ancak URI'nın, içeriğinizi veya veri kümenizi açıklayan bir belgeye çözümlenmesini sağlamak iyi bir fikirdir.
targetNamespace
sağlamanız gerekmez. Aksi takdirde, içe aktarma sırasında sizin için otomatik olarak bir kod oluşturulur.
targetNamespace
özelliğinin ardından, dosyada kullanılacak diğer XML şemalarını belirten bir dizi xmlns
özelliği gelir. Her DSPL dosyası, URI'si "http://schemas.google.com/dspl/2010" olan Google Public Data şemasını içermeli ve bunu varsayılan ad alanı olarak kullanmalıdır. Ayrıca, "http://www.w3.org/2001/XMLSchema-instance" tarafından tanımlanan standart W3 XML şemasını da içermelidir. Sonraki bölümde açıklandığı gibi, diğer veri kümelerindeki bilgileri içermek için diğer ad alanları eklenebilir.
Diğer veri kümesi ad alanlarını içe aktarma
Veri kümeleri, diğer veri kümelerindeki tanımları ve verileri yeniden kullanabilir. Örneğin Google, kullanıcı verilerinde sık karşılaşılan kavramları tanımlayan bir dizi temel veri kümesi sağlar. Örneğin, çoğu veri kümesinin yılları temsil etmesi için bir kavrama ihtiyacı vardır. Yeni bir kavram tanımlamak yerine, "http://www.google.com/publicdata/dataset/time" veri kümesindeki yıl kavramını kullanabilirsiniz. Daha fazla bilgi için Standart Kavramlar sayfasına bakın.
Harici bir veri kümesi kullanmak için <import>
öğesini, ad alanı bildiriminden hemen sonra DSPL dosyasına ekleyin ve içe aktardığınız veri alanını aşağıdaki gibi belirtin:
<import namespace="http://www.google.com/publicdata/dataset/google/time"/>
Ardından, içe aktarılan ad alanını (bu örnekte time="http://www.google.com/publicdata/dataset/google/time"
) dosyanızın en üstündeki ad alanı beyanına şu şekilde 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" > <import namespace="http://www.google.com/publicdata/dataset/google/time"/>
DSPL dosyanız artık Google Herkese Açık Verileri zaman veri kümesindeki öğelere başvurabilir. Referans vermek istediğiniz her veri kümesi için bu işlemi tekrarlayın.
Harici veri kümelerindeki içeriğe referans verme
Başka bir veri kümesini içe aktardıktan sonra, söz konusu veri kümesindeki kavram, dilim ve verilere başvurabilmeniz gerekir. Bunu yapmak için prefix:other_id
biçiminde referanslar kullanabilirsiniz. Burada prefix
, harici veri kümesinin ad alanı için kullanılan ön ektir.
time
veri kümesinden year
kavramına yapılan bir referansın örneğini burada bulabilirsiniz (yukarıda açıklanmıştır):
<slices> <slice id="country_slice"> <dimension concept="country"/> <dimension concept="time:year"/> <metric concept="population"/> <table ref="country_slice_table"/> </slice> ... </slices>
Veri Kümesi Bilgileri
<info>
öğesi, veri kümesiyle ilgili açıklayıcı bilgiler içerir. İlgili XML öğeleriyle ilgili bir örnek ve ayrıntılar aşağıda listelenmiştir.
Örnek
<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>
Öğeler
Öğe | Zorunlu mu? | Açıklama |
---|---|---|
<info> |
Evet | Veri kümesiyle ilgili tüm açıklayıcı bilgileri içerir. <name> , <description> ve <url> alt öğelerini içerir. |
<name> |
Evet | <info> alt öğesi. Veri kümesinin adını tanımlayan <value> alt öğesini içerir. |
<description> |
İsteğe bağlı | <info> alt öğesi. Veri kümesinin metin açıklamasını içeren <value> alt öğesini içerir. |
<url> |
Evet | <info> alt öğesi. Veri kümesi hakkında daha fazla bilgi içeren bir URL bağlantısı. |
Sağlayıcı Bilgileri
<provider>
öğesi, veri kümesi sağlayıcısıyla ilgili bilgileri listeler. İlgili XML öğeleriyle ilgili bir örnek ve ayrıntılar aşağıda listelenmiştir.
Örnek
<provider> <name> <value>Bureau of Statistics</value> </name> <url> <value>http://www.example.com</value> </url> </provider>
Öğeler
Öğe | Zorunlu mu? | Açıklama |
---|---|---|
<provider> |
Evet | Veri kümesi sağlayıcısıyla ilgili tüm açıklayıcı bilgileri içerir.
<name> ve <url> alt öğelerini içerir. |
<name> |
İsteğe bağlı | <provider> alt öğesi. Veri kümesi sağlayıcının adını tanımlayan <value> alt öğesini içerir. |
<url> |
İsteğe bağlı | <info> alt öğesi. Veri kümesi sağlayıcısı hakkında daha fazla bilgi içeren bir URL bağlantısı. |
Kavramlar
Açıklama
Her veri kümesi bir veya daha fazla kavram içerir. Kavram, veri kümesinde görünen veri türünün tanımıdır. Örneğin, demografik nüfus verilerini içeren bir veri kümesinde ülke, eyalet, nüfus ve yıl kavramları yer alabilir. Belirli bir kavrama karşılık gelen veri değerleri, o kavramın örnekleri olarak adlandırılır. Kavramlar genellikle veri kümesinde açıklanır ancak bazı kavramlar (zaman veya yıl gibi) harici veri kümelerinde açıklanabilir.
Her kavramın bir veya daha fazla özelliği olabilir. Özellik, kavram örneğinin zaman içinde kararlı olan özelliğidir. Örneğin, ülke kavramı name
, population
ve capital
özelliklerine sahip olabilir.
Kavramların bir veya daha fazla özelliği de olabilir. Özellikler, bilgileri tek tek örnekleri değil, kavram düzeyinde sağlar. Örneğin, işsizlik oranı kavramını içeren bir veri kümemiz varsa bu kavramın yüzde olduğunu belirtmek için bir özellik kullanabilirdik. Özelliklerin yaygın bir kullanımına başka bir örnek de birim bilgilerini sağlamaktır.
Örnek
Benzersiz country
kimliğine ve name
mülküne sahip bir ülke konsepti örneğini burada bulabilirsiniz. Kavram kimliği, dilimler ve tablolardan kavrama referans vermek için kullanılabilir.
<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>
Bu örneğin çalışma şekli aşağıdaki gibidir.
- Bu kodda,
country
kimliğine sahip olan kavram ülkesi ilename
,continent
vecapital
özellikleri açıklanmaktadır. - Kavram, konumlar için standart kavram olan
geo:location
'ı kapsar.geo:location
genişletildiğindecountry
, genişletilmiş kavramla tanımlanan tüm özellikleri ve özellikleri (tesis adı, açıklama, URL, enlem ve boylam) devralır. Tanım, genişletilmiş kavram tarafından sağlanan değerle tutarlı olduğu sürececountry
ürününün bu özelliklerden ve özelliklerden bazılarını yeniden tanımlaması sorun yaratmaz. - Kavram
<info>
öğesi, kavramla ilgili temel bilgileri açıklar. Bu, Public Data Explorer'da veri kümesinin açılış sayfasında gösterilir. <type>
öğesi, içerik türünü ifade eder. Bu örnekte dizedir, ancak bu değişkenlik gösterebilir. Popülasyon kavramıinteger
türünde,Eurovision winner
kavramı ise boole türünde olabilir.<property>
öğesi, benzersiz kimliği (id
),info
vetype
dahil olmak üzere kavramın her bir özelliğini açıklar. Özellikler, değerlerinin bu kavramların geçerli örnekleri olduğunu belirtmek için kavramlara da referans verebilir.-
Kavram, gerçek verileri içeren CSV dosyasına işaret eden bir veri tablosuna atıfta bulunur. Veri tablosuna şu şekilde başvuruda bulunulur:
<table ref="countries_table"/>
.Konseptiniz bir tabloya referans veriyorsa ilişkili veri dosyası, kavramın tüm örneklerini listelemelidir. Örneğin, veri kümesinde yer alan ülkelerden yalnızca birkaçını listeleyen bir tablo oluşturamazsınız. (Önem verdiğiniz ülkelerin bir alt kümesi varsa bunları açıklamak için ayrı bir kavram oluşturabilirsiniz. Örneğin,
mycountries
.)
Öğeler
Öğe | Zorunlu mu? | Açıklama |
---|---|---|
<concepts> |
Evet | Üst düzey öğe. Tüm <concept> öğelerini kapsar. |
<concept> |
Evet | Kavramı tanımlar. Gerekli id özelliğinin değeri, veri kümesindeki kavrama özgü olmalıdır. Kavram bir kavram veri tablosuna referans veriyorsa id değeri, veri tablosundaki kavramı açıklayan sütun başlığıyla eşleşmelidir. Bu kavramın başka bir kavramı kapsadığını belirtmek için extends özelliği kullanılabilir. extends değeri, aynı veri kümesinde tanımlanan bir kavramın kimliğiyle eşleşmeli veya prefix:concept_id biçiminde olmalıdır. Burada concept_id , prefix ile ilişkili içe aktarılan harici veri kümesinde tanımlanan bir kavramın kimliğidir. |
<info> |
İsteğe bağlı | Kavramla ilgili açıklayıcı bilgiler içerir. |
<name> |
Evet | <info> alt öğesi. Kavramın adı. <value> alt öğesi metni içerir (örneğin, Country ). |
<description> |
İsteğe bağlı | <info> alt öğesi. Kavramın metin açıklamasını içeren <value> alt öğesini içerir. |
<url> |
İsteğe bağlı | <info> alt öğesi. Kavramın URL'sini içeren <value> alt öğesini içerir. |
<pluralName> |
İsteğe bağlı | <info> alt öğesi. Kavramın çoğul adı. <value> alt öğesi metni içerir - örneğin, Countries . |
<totalName> |
İsteğe bağlı | <info> alt öğesi. Kavramın tüm örneklerinden oluşan kombinasyonun adı. <value> alt öğesi metni içerir. Örneğin, country kavramı için bu değer World olabilir. |
<type> |
İsteğe bağlı |
Kavramın tanımladığı içerik türünü tanımlar. Gerekli ref özelliği için izin verilen değerler şunlardır:
|
<property> |
İsteğe bağlı |
Kavramın bir özelliği, ör. Bir özellik, kavramın bir örneği ile bu özelliğin değeri arasındaki ilişkinin hiyerarşik olduğunu belirtmek için Boole Bir mülk, kavramın örnekleri ile özelliğin değerleri arasında 1:1'lik bir eşleme olduğunu belirtmek için Boole Bir mülk, iç içe yerleştirilmiş bir |
<attribute> |
İsteğe bağlı |
Kavramın bir özelliği. Özellikler, kavramla ilgili ek bilgileri temsil eder (ör. GSYİH yüzdedir). Gerekli Özellik, tıpkı bir kavramda olduğu gibi, iç içe yerleştirilmiş |
<table> |
İsteğe bağlı | Kavrama ait verileri içeren veri tablosunu tanımlar. Gerekli ref özelliğinin değeri, ilgili <table> öğesinde belirtilen tablo kimliğiyle eşleşmelidir. |
Dilimler
Açıklama
Dilim, verilerin bulunduğu kavramların bir kombinasyonudur. Bir dilim iki tür kavram referansı içerir: boyutlar ve metrikler. Boyut, verilerinizi segmentlere ayırmak veya filtrelemek için kullanılan bir kavramdır. Öte yandan metrik, her bir veri noktasıyla ilişkili gözlemlenen değeri veya değerleri açıklar.
Genel olarak boyutlar kategoriktir. Metrikler ise kategorik olmayan, zamana bağlı sayısal değerlerdir. Her biriyle ilgili bazı prototip örnekler aşağıda verilmiştir:
- Boyutlar: Ülke, eyalet, ilçe, bölge, yıl, ay, cinsiyet, yaş kategorisi, sektör segmenti
- Metrikler: Nüfus, GSYİH, işsizlik oranı, okuryazarlık, gelir, maliyet, fiyat
Örnek
<slices> <slice id="country_slice"> <dimension concept="country"/> <dimension concept="time:year"/> <metric concept="population"/> <table ref="country_slice_table"/> </slice> ... </slices>
Bu örneğin çalışma şekli aşağıdaki gibidir.
- Bu dilim ülkeye göre nüfusu gösterir.
population
metriğini,country
veyear
boyutlarını içeriyor. Her boyut, başka bir yerde daha önce tanımlanmış bir kavramdır.country
kavramı vepopulation
metriği, geçerli dilimle aynı veri kümesinde yer alır ve şu şekilde başvuruda bulunulur:concept="country"
year
kavramı, içe aktarılan veri kümesi zamanında bulunur. Kavram adından (year
) önce kullanılan ön ek ile tanımlanır. Örneğin:concept="time:year"
- Dilim, gerçek verileri içeren CSV dosyasına işaret eden bir veri tablosuna başvurur. Veri tablosuna şu şekilde başvuruda bulunulur:
<table ref="country_slice_table"/>
. (Veri kümelerini içe aktarma hakkında bilgi için yukarıya bakın.)
Not: Genel olarak, metrikleri minimumda tutup bunun yerine anlamlı boyutlar oluşturursanız veri kümeniz daha esnek olur. Örneğin, Female Unemployment
ve Male Unemployment
metriklerini oluşturmak yerine Unemployment
tek metriğini oluşturun ve Female
ile Male
örneklerini içeren Gender
boyutunu ekleyin.
Öğeler
Öğe | Zorunlu mu? | Açıklama |
---|---|---|
<slices> |
Evet | Üst düzey öğe. Tüm <slice> öğelerini kapsar. |
<slice> |
İsteğe bağlı | Dilimi tanımlar. Gerekli id özelliğinin değeri, dilime özgü olmalıdır. |
<dimension> |
İsteğe bağlı | Bir kavramı referans alarak dilimin boyutunu tanımlar. Gerekli concept özelliğinin değeri, kavramın benzersiz kimliğiyle tam olarak eşleşmeli ve kavram, harici içe aktarılan bir veri kümesine aitse geçerli bir önek kullanmalıdır. |
<metric> |
İsteğe bağlı | Bir kavramı referans alarak dilimin metriğini tanımlar. Gerekli concept özelliğinin değeri, kavramın benzersiz kimliğiyle tam olarak eşleşmeli ve kavram, harici içe aktarılan bir veri kümesine aitse geçerli bir önek kullanmalıdır. |
<table> |
Evet | Dilime ait verileri içeren veri tablosunu tanımlar. Gerekli ref özelliğinin değeri, ilgili <table> öğesinde belirtilen tablo kimliğiyle eşleşmelidir. |
<mapDimension> |
İsteğe bağlı | <table> alt öğesi.
concept ve toColumn özelliklerini içerir. İlkinin değeri dilimdeki bir boyut, ikincisinin değeri ise birincisine karşılık gelen tablo sütunudur. |
<mapMetric> |
İsteğe bağlı | <table> alt öğesi.
concept ve toColumn özelliklerini içerir. İlkinin değeri dilimdeki bir metrik, ikincinin değeri ise birincisine karşılık gelen tablo sütunudur. |
Tablolar
Açıklama
DSPL dosyasının tables
bölümü, veri kümesine dahil edilen veri tablolarını tanımlar. Bu tablolara kavramlar veya dilimler halinde referans verilebilir. Her <table>
öğesi, tabloların sütunlarını ve türlerini belirtir. Ayrıca, tablo verilerini içeren bir CSV dosyasına işaret eder.
Örnek
<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>
Bu örnek şu şekilde çalışır:
- Bu örnekte
country_slice_table
tablosu açıklanmaktadır. Tablodacountry
,year
vepopulation
sütunları bulunur. - Tablodaki her sütun,
id
özelliğiyle tanımlanan benzersiz bir kimliğe sahiptir. Bu kimlik, ilişkili veri dosyasındaki uygun sütun başlığıyla tam olarak eşleşmelidir. - İsteğe bağlı
type
özelliğinin değeri, her bir sütunun veri türünü tanımlar. <data>
öğesi, tablonun verilerini içeren gerçek .csv dosyasını (country_slice.csv) açıklar. Dosya biçimi her zamancsv
şeklindedir.
Öğeler
Öğe | Zorunlu mu? | Açıklama |
---|---|---|
<tables> |
Evet | Üst düzey öğe. Tüm <table> öğelerini kapsar. |
<table> |
Evet | Tabloyu tanımlar. Gerekli id özelliğinin değeri, tabloya özgü olmalıdır. |
<column> |
İsteğe bağlı |
<table> alt öğesi. Tabloya eklenen bir sütunla ilgili bilgilerdir. Aşağıdaki özellikleri içerir:
|
<data> |
İsteğe bağlı | <table> alt öğesi. Tablonun başvuruda bulunduğu veri dosyası. Dosya adı URL biçimindeyse (ör. http://... ) içeriyorsa dosya uygun protokol (HTTP, HTTPS veya FTP) aracılığıyla getirilir. Aksi takdirde, bu ada sahip bir dosya veri kümesiyle birlikte paketlenmelidir.
Gerekli format özelliğinin değeri her zaman csv olur. encoding özelliği isteğe bağlı olsa da .csv dosyalarınız UTF-8 olarak kodlanmış olmalıdır. |
Konular
Açıklama
Topics, kavramları hiyerarşik olarak sınıflandırarak kullanıcıların veri kümenizde daha kolay gezinmesini sağlar.
<topics>
öğesi, DSPL dosyanızdaki <concepts>
öğesinden hemen önce görünmelidir. (Öğelerin sırası önemlidir ve öğeleriniz yanlış sırada görünürse veri kümenizi yükleyemeyebilirsiniz.) Konuları kullanmak için kavram tanımından referans alın.
Örnek
Aşağıda örnek bir konu tanımı verilmiştir:
<topics> <topic id="population_indicators"> <info> <name> <value>Population indicators</value> </name> </info> </topic> ... </topics>
...ve aşağıda, bu konuya bir kavramdan örnek verilmiştir:
<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>
Konular iç içe yerleştirilebilir ve bir kavram birden fazla konuya referans verebilir.
Öğe tanımı
Öğe | Zorunlu mu? | Açıklama |
---|---|---|
<topics> |
Evet | Üst düzey öğe. Tüm <topic> öğelerini kapsar. |
<topic> |
Evet | Konuyu tanımlar. Gerekli id özelliğinin değeri, veri kümesine özgü olmalıdır. |
<info> |
İsteğe bağlı | <topic> alt öğesi. Bir konuyla ilgili bilgileri içerir. |
<name> |
İsteğe bağlı | <info> alt öğesi. Alt öğesi <value> , konunun adını belirtir. |
DSPL Veri Dosyaları
XML meta veri dosyasına ek olarak, bir DSPL veri kümesi de CSV biçiminde bir veya daha fazla veri dosyası içerebilir. Her veri dosyası, veri kümesindeki bir tabloyu destekler ve <data>...</data>
bölümünde ilk tablodan başvurulur. Kavram olarak bu dosyalar ve ilişkili tablolar, kavram tanımlarını veya dilim verilerini temsil etmek için kullanılır. Bu veri dosyası türlerinin her biri aşağıda daha ayrıntılı olarak açıklanmaktadır.
Amaca bakılmaksızın tüm veri dosyalarının virgülle ayrılmış (CSV) UTF-8 metin dosyaları olması gerektiğini unutmayın. Dosyalar yalnızca düz metin içermeli, HTML içermemelidir. Veri dosyalarını manuel olarak oluşturabilirsiniz ancak gerçekçi olarak verileri, orijinal veri kaynağını içeren araçta (ör. bir e-tablo) veya dışa aktarılan dosyanın kendisinde işlemeniz gerekir.
Dosyalar veri kümesiyle gruplanabilir veya ad URL biçimindeyse uzak bir kaynaktan HTTP, HTTPS ya da FTP aracılığıyla getirilir.
Kavram Veri Dosyaları
Kavram veri dosyaları, her kavramla ilgili bilgiler içerir. Kavram tanımı, bu dosyaya atıfta bulunmak için <table>
öğesini kullanır.
Örnek
Yukarıda tanımlanan country
kavramıyla ilgili bir tablo örneğini burada bulabilirsiniz:
country, name AD, Andorra AF, Afghanistan AI, Anguilla AL, Albania AO, Angola AQ, Antarctica AS, American Samoa
Bu örneğin çalışma şekli şöyledir:
- Eşleme belirtilmediği sürece veri dosyasının ilk satırı (sütun başlıkları), verilerin ilişkilendirildiği kavramın konsept kimliği ve uygun özellik kimlikleriyle tam olarak eşleşmelidir. Ancak, sütunların sıralamasının veri dosyasında ve kavram tablosunda aynı olması gerekmez. Bu durumda, ilk sütun
country
kavramıyla, ikinci sütun isename
mülküyle ilişkilendirilir. - Özellik sütunları isteğe bağlıdır. Bir mülkün tablosunda sütun yoksa özelliğin değerinin her satır için tanımsız olduğu varsayılır. Örneğin yukarıdaki tabloda
latitude
velongitude
özelliklerinin sütunları çıkarıldığından ülkeler eşlenemez. - Kavramın kimlik alanındaki her değer (bu örnekte
country
) benzersiz olmalı ve boş olmamalıdır (boş alan, sıfır veya yalnızca boşluk karakteri içeren bir alandır). - Diğer kavramlara başvuruda bulunan mülklerin değerleri boş olmalı veya başvuruda bulunulan kavramın geçerli bir değeri olmalıdır.
- Değerleri çift tırnak işareti içine almak, söz konusu değerlerin virgül, çift tırnak veya yeni satır karakterleri içerdikleri durumlar dışında isteğe bağlıdır.
- Bir değerde görünen düz çift tırnak işaretinin önüne başka bir çift tırnak işareti koyarak kod dışına alın.
Dilim Veri Dosyaları
Dilim veri dosyaları, her bir dilimle ilgili verileri içerir. Dilim tanımı, <table>
tanımına başvuruda bulunmak için <table ref="...">
öğesini kullanır. Bu da dolayısıyla bu dosyayı tanımlar.
Örnek
Yukarıda açıklanan population_by_country
dilimiyle ilgili verileri içeren bir .csv dosyası örneğini burada bulabilirsiniz:
country, year, population AF, 1960, 9616353 AF, 1961, 9799379 AF, 1962, 9989846 AF, 1963, 10188299
Örneğin çalışma şekli şöyledir:
- Metrik alanı
population
şeklindedir.country
veyear
alanları boyut alanlarıdır. - Bir boyut alanının her değeri boş olmamalıdır. Buna zaman boyutları da dahildir. Metrik alanlarına ait değerler boş olabilir. Boş değer, karakter olmadan temsil edilir.
- Bir kavrama referans veren her sütun başlığı (örneğin, yukarıdaki örneğin ilk alanında
country
kavramına atıfta bulunur), kavram tanımındaki kavramın benzersiz kimliğiyle tam olarak eşleşmelidir. - Boyut değerlerinin benzersiz bir kombinasyonu (ör.
AF, 2000
) yalnızca bir kez görülebilir. - Aynı zaman serisindeki satırlar (yani, zaman hariç tüm boyut değerlerinin aynı kombinasyonuna sahip olan satırlar) birlikte gruplandırılmalıdır. Ancak bunların başka şekilde sıralanması gerekmez.
İleri Seviye Özellikler
Çok Dilli Veri Kümeleri
Çevrilmiş XML Değerleri
xml:lang
özelliğini, DSPL dosyanızdaki her <value>
öğesiyle birlikte kullanabilirsiniz. Bu özellik, standart, W3C dil etiketlerini kullanarak öğe içeriğinin dilini belirtir. Bu özelliğin kullanımı isteğe bağlıdır. xml:lang
özelliği eklenmezse içeriğin İngilizce olduğu varsayılır.
Aşağıdaki örnekte İngilizce, Bulgarca, Katalanca ve Basitleştirilmiş Çince dillerindeki bir veri kümesinin anlık görüntüsü gösterilmektedir:
<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>
Çevrilmiş Mülkler
Bazı durumlarda, kavram düzeyinde meta verilerin ötesine geçen çeviriler sağlamak, ayrı kavram örneklerine ek olarak (veya bunun yerine) uygulamak isteyebilirsiniz. Bu, özellikle bir kavram özelliğinin (ör. ad) değerleri dile göre değiştiğinde faydalıdır.
Bu tür değerleri birden fazla dilde sağlamak için her mülk/dil kombinasyonuna karşılık gelen tanım tablosunda bir sütun oluşturun.
Ardından, kavramın tablo referans etiketine bir <mapProperty xml:lang="..."
ref="..." toColumn="...">
öğeleri grubu ekleyerek bu sütunları ilişkili özelliklerine ve dillerine bağlayın.
Bir ülke kavramını İngilizce, İspanyolca ve Fransızca adlarıyla tanımlayan bir örneği aşağıda bulabilirsiniz:
<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>
Bu durumda countries_table
için CSV dosyası aşağıdaki biçimde olur:
country,name_en,name_es,name_fr,... ... US,United States of America,Estados Unidos de América,États-Unis d'Amérique,... ...
Eşlenebilir Kavramlar
Birçok kavramda (örneğin: ilçe, eyalet ve şehir) coğrafi konumlara karşılık gelen örnekler bulunur. DSPL, bunların Google Herkese Açık Verileri animasyonlu harita grafiğinde görselleştirilebilmesi için bu örneklerin coğrafi kodlamasını destekler.
Konseptiniz Dünya ülkeleri, ABD eyaletleri veya ABD ilçeleriyle denkse ilgili Google standart kavramına bağlantı oluşturmanız yeterlidir. Coğrafi kodlamaya gerek yoktur. Daha fazla ayrıntı için Standart Kavramlar Kılavuzu'na bakın.
Aksi halde konseptinizi eşlenebilir hale getirmeniz gerekir. İlk adım, URL'nin geo:location
tarihinden itibaren uzatılmasını sağlamaktır:
<concept id="..." extends="geo:location"> ... </concept>
Ardından, enlem ve boylamı özellik olarak açıkça eklemeniz gerekir:
<concept id="..." extends="geo:location"> ... <property id="latitude"/> <property id="longitude"/> </concept>
Daha sonra bunların değerleri, ilgili kavram tanımı veri tablosunda sütunlar olarak belirtilir.
Kavram İlişkileri
Kavramlar genellikle diğer kavramlarla yapılandırılmış bir şekilde ilişkilidir. Örneğin, bir kıta örneği birden fazla ülke örneği içerebilir ve bunlar da birden fazla eyalet veya il örneği içerebilir. Bu ilişkilerin veri kümesi meta verilerinde kodlanması, normalde mümkün olandan daha zengin görselleştirme özellikleri sağlar. Örneğin, aralarından seçim yapabileceğiniz konumların daraltılabilir bir ağacının gösterilmesi gibi.
Aşağıdaki bölümlerde, DSPL şemasında desteklenen kavram ilişkileri açıklanmaktadır.
Hiyerarşiler
Kavram hiyerarşileri, DSPL'de üst kavramdaki örneklerin tanımlayıcılarını içeren alt kavramın <property>
etiketinde isParent="true"
özelliği kullanılarak temsil edilir.
Örneğin, Google'ın ABD İlçesi kavramı aşağıdaki biçimdedir:
<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>
Destekleyici veri tablosunda, her ilçenin iki harfli durum kodunu içeren bir state
sütunu bulunur. Bu tür meta veriler, Public Data Explorer'ın eyaletleri ve ilçeleri bir hiyerarşi olarak göstermesine olanak tanır. Bu özellik, kullanıcıların keşfi çok daha kolay hale getirir.
Bir kavramın çok sayıda alt öğesi olabileceğini ancak en fazla üst öğesi olabileceğini unutmayın.
Eşleştirmeler
Kavram eşlemeleri (yani, temelde aynı şeyi temsil eden kavramlar), eşlenen kavramın property
etiketindeki isMapping="true"
özelliği ile temsil edilir.
Bir kavramın başka bir kavramla eşlendiğini belirtmek, ilk kavramın diğerinin tüm özelliklerini ve özelliklerini devralmasını sağlar. Bu, diğer uygulamaların yanı sıra, kişisel coğrafi kavramları Google'ın standart coğrafi veri kümesinde tanımlananlarla"bağlamak" için kullanışlıdır:
<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>
Uzantılar
Kavram uzantıları, karşılık gelen kavram tanımındaki bir extends
öğesi ile tanımlanır. Uzantılar, belirli bir kavramın daha geniş kapsamlı başka bir kavramın alt sınıfı olduğunu belirtmek için yararlıdır. Genişletilmiş kavram, üst öğesinin tüm özelliklerini ve özelliklerini devralır ve başka özellikler de ekleyebilir.
Örneğin, Google'ın currency
kavramı unit
alanını kapsıyor:
<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>
Daha fazla açıklama ve örnek için eğitimdeki kavram uzantıları konulu makaleyi inceleyin.
Veri Kümenizi Gönderme
Veri kümenizi Google Public Data Explorer'a göndermek için şu talimatları uygulayın:
- Bir dizin oluşturun.
- Veri kümesi dspl dosyasını, oluşturduğunuz dizine kaydedin. .xml uzantısını kullandığınızdan emin olun.
- Tüm yerel .csv dosyalarını aynı dizine kaydedin. URL'ler aracılığıyla başvurulan veri dosyaları atlanabilir.
- Dizini sıkıştırın.
- Google Public Data Explorer'a veri kümenizi yükleyin.
Veri kümeniz yüklenip doğrulandıktan sonra Google Hesabınızda oturum açarak test edebilirsiniz. Siz kontrol edip hazır olduğunu söyleyene kadar dosya yayınlanmaz.