DSPL to skrót od Dataset Publishing Language, Jest to format reprezentacji zarówno metadanych, czyli informacji o zbiorze danych, np. nazwę i dostawcę, a także zawarte w nim pojęcia i informacje) rzeczywiste dane zbiorów danych. Zbiory danych opisane w tym formacie można zaimportowane do publicznych danych Google Eksplorator, czyli narzędzie, które umożliwia rozbudowane, wizualne poznawanie i skalowalnych danych.
Uwaga: aby przesłać dane do Google Public Data za pomocą narzędzia do przesyłania danych publicznych musisz mieć konto Google.
Ten dokument jest przeznaczony dla właścicieli danych, którzy chcą, aby ich treści dostępne w narzędziu Public Data Explorer. To więcej niż tylko samouczek, bo zawiera szczegółowe informacje schemat DSPL i obsługiwane funkcje. Tylko podstawowa znajomość Przyjmuje się, że zazwyczaj znamy język XML, jednak znajomość relacyjnych baz danych przydatne.
Chociaż nie jest to wymagane, sugerujemy zapoznanie się z samouczkiem, który jest krótszy jest łatwiejszy do przeczytania, zanim zapozna się z tym dokumentem.
Omówienie
Zbiór danych DSPL to plik ZIP, który zawiera plik XML i zestaw plików CSV . Pliki CSV to proste tabele zawierające dane zbioru danych, a plik XML opisuje metadane zbioru danych. To ostatnie obejmuje m.in. metadane informacyjne, takie jak opisy wskaźników, a także metadane strukturalne, takie jak odwołania między tabelami. Te metadane pozwala użytkownikom, którzy nie są doświadczeni, przeglądać i wizualizować Twoje dane.
Przetwarzanie
Ogólnie proces tworzenia zbioru danych DSPL wygląda w ten sposób (niektóre czynności, które mogą mieć miejsce równolegle):
- Utwórz plik XML DSPL.
- Określ wszelkie zewnętrzne źródła danych, których chcesz użyć w zbiorze danych.
- Zdefiniuj swoje pojęcia, fragmenty i (opcjonalnie) tematy. Iteratywnie zaktualizować zawartość pliku DSPL.
- Wyeksportuj dane źródłowe do plików .csv.
- Utworzenie zbioru danych DSPL.
- Prześlij zbiór danych do Google.
Struktura XML
Omówienie
Plik XML DSPL definiuje metadane zbioru danych, w tym zależności strukturalne między koncepcjami, wycinkami, tematami i tabelami. Chociaż można utworzyć ten plik ręcznie, narzędzia do przetwarzania danych a skrypty mogą to znacznie usprawnić. Zobacz przykładowy plik DSPL w nowym formacie okno.
Plik zawiera pewną liczbę sekcji, które zostały podsumowane w tabeli. poniżej. W tabeli opisujemy każdą z nich w większym szczegóły.
Sekcja | Podsumowanie | Więcej informacji |
---|---|---|
Nagłówek i importy | Element nadrzędny wszystkich pozostałych elementów zbioru danych. Obejmuje docelowej przestrzeni nazw (tzn. identyfikatora) zbioru danych wraz z przestrzeni nazw wszystkich zaimportowanych zbiorów danych. | Dokumentacja |
Informacje o zbiorze danych | Nazwa, opis i adres URL zbioru danych. | Dokumentacja |
Informacje o dostawcy | Nazwa, opis i adres URL dostawcy zbioru danych. | Dokumentacja |
Pojęcia |
Definicje pojęć „rzeczy” widoczne w zbiorze danych (np. kraje, stopa bezrobocia, płeć itp.) Każda koncepcja ma unikalny identyfikator, do którego może się odwoływać wycinki i tabele. |
Dokumentacja |
Wycinki |
Kombinacje pojęć, dla których dostępne są dane statystyczne w gromadzeniu danych. Każdy wycinek zawiera wymiary i danych. Wycinki odwołują się do pojęć, a także do tabel, które zawierają rzeczywiste i skalowalnych danych. Każdy wycinek ma unikalny identyfikator, do którego może się odwoływać funkcja tabel zawierających rzeczywiste dane. |
Dokumentacja |
Tabele | Zdefiniuj dane pojęć i wycinków. Blokada tabel koncepcyjnych wyliczenia i tabele wycinków zawierają dane statystyczne. Zdefiniowano tabele w pliku XML i wskaż pliki .csv zawierające rzeczywiste dane. | Dokumentacja |
Tematy | Kategorie do porządkowania koncepcji zbiorów danych. Nie są one wymagane, ale mogą być bardzo pomocne dla użytkowników korzystających z Twoich danych. | Dokumentacja |
Nagłówek i importowanie
Deklarowanie przestrzeni nazw Public Data
Zbiór danych DSPL zaczyna się od elementu <dspl>
najwyższego poziomu.
Służą do uwzględnienia wszystkich informacji ze zbioru danych i wskazywania
przestrzeni nazw, które będą używane w całym pliku. Oto przykład:
<?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>
Przestrzeń nazw to unikalny identyfikator, który można powiązać z
Schemat XML (zbiór elementów i atrybutów XML).
targetNamespace
udostępnia identyfikator URI, który identyfikuje zbiór danych.
Ten identyfikator URI nie jest wymagany, aby wskazywać rzeczywisty zasób, ale jest to dobry
Pomysł na udostępnienie identyfikatora URI dokumentu, który opisuje Twoją treść,
w gromadzeniu danych.
Nie musisz podawać targetNamespace
. Jeśli
nie, zostanie on wygenerowany automatycznie podczas importu
obecnie się znajdujesz.
Po atrybucie targetNamespace
znajduje się seria
Atrybuty xmlns
określające inne schematy XML, które zostaną użyte
w pliku. Każdy plik DSPL musi zawierać schemat Google Public Data,
którego identyfikator URI to „http://schemas.google.com/dspl/2010” i wykorzystaj go jako
domyślnej przestrzeni nazw. Powinien też zawierać standardowy schemat XML W3.
zidentyfikowany przez „http://www.w3.org/2001/XMLSchema-instance”. Jako
opisane w następnej sekcji, można dodać inne przestrzenie nazw, aby uwzględnić
informacji z innych zbiorów danych.
Importowanie innych przestrzeni nazw zbiorów danych
Zbiory danych mogą wykorzystywać definicje i dane z innych zbiorów danych. Google dla zapewnia szereg podstawowych zbiorów danych, które definiują koncepcje często widoczne w danych użytkowników. Na przykład większość zbiorów danych wymaga pojęcia, aby reprezentują lata. Zamiast definiować nową koncepcję, możesz użyć atrybutu rok pojęcie z „http://www.google.com/publicdata/dataset/time” w gromadzeniu danych. Zapoznaj się z dokumentami kanonicznymi Pojęcia.
Aby użyć zewnętrznego zbioru danych, dodaj element <import>
do
pliku DSPL tuż po deklaracji przestrzeni nazw i wskaż
importowaną przestrzeń danych, w następujący sposób:
<import namespace="http://www.google.com/publicdata/dataset/google/time"/>
Następnie dodaj zaimportowaną przestrzeń nazw (w tym przypadku
time="http://www.google.com/publicdata/dataset/google/time"
).
do deklaracji przestrzeni nazw u góry pliku, na przykład:
<?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"/>
Twój plik DSPL może teraz odwoływać się do elementów z Google Public Data zbioru danych czasu. Powtórz dla każdego zbioru danych, do którego chcesz się odwołać.
Odwoływanie się do treści w zewnętrznych zbiorach danych
Po zaimportowaniu innego zbioru danych musisz mieć możliwość odwoływania się
koncepcje, wycinki i dane z tego zbioru danych. Aby to zrobić, możesz użyć:
odwołania w formacie prefix:other_id
, gdzie
prefix
to prefiks używany dla przestrzeni nazw
i do zewnętrznego zbioru danych.
Oto przykład odniesienia do pojęcia year
z:
zbiór danych time
(opisany powyżej):
<slices> <slice id="country_slice"> <dimension concept="country"/> <dimension concept="time:year"/> <metric concept="population"/> <table ref="country_slice_table"/> </slice> ... </slices>
Informacje o zbiorze danych
Element <info>
zawiera informacje opisowe
na temat zbioru danych. Przykłady i szczegółowe informacje na temat odpowiednich elementów XML to
wymienionych poniżej.
Przykład
<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>
Elementy
Element | Wymagana? | Opis |
---|---|---|
<info> |
Tak | Obejmuje wszystkie opisowe informacje na temat zbioru danych. Zawiera
elementy podrzędne <name> ,
<description> i <url> . |
<name> |
Tak | Dziecko konta <info> . Zawiera element podrzędny
<value> , który określa nazwę
w gromadzeniu danych. |
<description> |
Opcjonalnie | Dziecko konta <info> . Zawiera element podrzędny
<value> , który zawiera opis tekstowy
w gromadzeniu danych. |
<url> |
Tak | Dziecko konta <info> . link do adresu URL zawierający więcej elementów,
informacje o zbiorze danych. |
Informacje o dostawcy
Element <provider>
zawiera informacje o
dostawcy zbioru danych. Przykłady i szczegółowe informacje na temat odpowiednich elementów XML to
wymienionych poniżej.
Przykład
<provider> <name> <value>Bureau of Statistics</value> </name> <url> <value>http://www.example.com</value> </url> </provider>
Elementy
Element | Wymagana? | Opis |
---|---|---|
<provider> |
Tak | Obejmuje wszystkie opisowe informacje o dostawcy zbioru danych.
Zawiera elementy podrzędne <name> oraz
<url> |
<name> |
Opcjonalnie | Dziecko konta <provider> . Zawiera element podrzędny
<value> , która określa nazwę zbioru danych.
dostawcy usług. |
<url> |
Opcjonalnie | Dziecko konta <info> . link do adresu URL zawierającego więcej informacji,
informacje o dostawcy zbioru danych. |
Pojęcia
Opis
Każdy zbiór danych zawiera co najmniej 1 koncepcję. Pojęcie to definicji typu danych występujących w zbiorze danych. Zbiór danych z dane demograficzne mogą obejmować na przykład koncepcje kraj, stan, ludność i rok. Wartości danych odpowiadające argumentowi danej koncepcji są nazywane wystąpieniami tej koncepcji. Pojęcia to zwykle opisane w zbiorze danych, ale niektóre koncepcje (takie jak czas lub rok) i można je opisać w zewnętrznych zbiorach danych.
Każdy element może mieć co najmniej 1 właściwość. Usługa jest
dla instancji koncepcyjnej, która jest stabilna w czasie. Przykład:
koncepcja kraju może mieć właściwości name
,
population
i capital
.
Pojęcia mogą mieć co najmniej 1 atrybut. Atrybuty dostarczają na poziomie koncepcji, a nie jej poszczególnych wystąpień. Dla: Na przykład, jeśli mamy zbiór danych z koncepcją stopy bezrobocia, moglibyśmy użyć atrybutu, by wskazać, że ta koncepcja ma wartość procentową. Innym przykładem częstego użycia atrybutów jest podawanie jednostki i informacjami o nich.
Przykład
Oto przykład koncepcji kraju z unikalnym identyfikatorem
country
i usługę name
. Identyfikatorem pojęć może być
używane do odwoływania się do koncepcji z wycinków i 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>
Oto jak działa ten przykładowy kod.
- Ten kod opisuje kraj koncepcji, który ma identyfikator.
country
i właściwościname
,continent
icapital
. - Rozszerza koncepcję
geo:location
, kanoniczną koncepcję lokalizacji. Wydłużając termin:geo:location
,country
dziedziczy wszystkie właściwości i atrybuty zdefiniowane przez koncepcję rozszerzoną: właściwości, opis, url, szerokość i długość geograficzną. W porządku dlacountry
, aby ponownie zdefiniować niektóre z tych atrybutów oraz o ile definicja jest zgodna z podaną ze względu na koncepcję rozszerzoną. - Element
<info>
opisuje klucz. informacji na temat koncepcji. Jest ona wyświetlana na stronie zbioru danych w narzędziu Public Data Explorer. - Koncepcja elementu
<type>
odnosi się do typu treści. W tym przypadku jest to ciąg znaków (ale to może być inne). Idea Typ populacji będzie miał typinteger
; koncepcjaEurovision winner
może mieć wartość logiczną. - Element
<property>
opisuje każdą właściwość w tym jego unikalny identyfikator (id
),info
oraztype
Usługi mogą też odwoływać się do pojęć, aby wskazują, że ich wartości są prawidłowymi wystąpieniami tych koncepcji. -
Koncepcja odwołuje się do tabeli danych, która wskazuje do pliku CSV z rzeczywistymi danymi. Odwołanie do tabeli danych w ten sposób:
<table ref="countries_table"/>
.Jeśli pojęcie odwołuje się do tabeli, powiązany plik danych musi zawierać listę wszystkich wystąpień tej koncepcji. Nie można na przykład utworzyć tabeli który zawiera tylko kilka krajów uwzględnionych w zbiorze danych. (Jeśli jest podzbiorem krajów, które Cię interesują, możesz utworzyć aby je opisać. np.
mycountries
.)
Elementy
Element | Wymagana? | Opis |
---|---|---|
<concepts> |
Tak | Element najwyższego poziomu. Obejmuje wszystkie <concept>
. |
<concept> |
Tak | Określa pojęcie. Wartość wymaganego atrybutu
id musi być unikalna dla koncepcji w zbiorze danych. Jeśli
koncepcja odwołuje się do tabeli danych koncepcji, wartość
Wartość id musi być zgodna z nagłówkiem kolumny opisującym dany temat w
tabeli danych. Można użyć atrybutu extends do oznaczenia
że ta koncepcja jest rozwinięciem innej koncepcji. Wartość
extends musi pasować do identyfikatora elementu zdefiniowanego w tym samym
zbiór danych lub ma postać prefix:concept_id , gdzie
concept_id to identyfikator koncepcji zdefiniowanej w importowanym pliku.
i zewnętrzny zbiór danych powiązany z zasadą prefix . |
<info> |
Opcjonalnie | Zawiera opisowe informacje na temat pojęcia. |
<name> |
Tak | Dziecko konta <info> . Nazwa koncepcji.
element podrzędny <value> zawiera tekst - dla
na przykład Country . |
<description> |
Opcjonalnie | Dziecko konta <info> . Zawiera element podrzędny
<value> , który zawiera opis tekstowy
koncepcją działania. |
<url> |
Opcjonalnie | Dziecko konta <info> . Zawiera element podrzędny
<value> , który zawiera adres URL
koncepcją działania. |
<pluralName> |
Opcjonalnie | Dziecko konta <info> . Liczba mnoga dla
koncepcją działania. Element podrzędny <value> zawiera tekst
na przykład Countries . |
<totalName> |
Opcjonalnie | Dziecko konta <info> . Nazwa kombinacji
wszystkich wystąpień tej koncepcji. Element podrzędny <value>
zawiera tekst- w przypadku country
koncepcja, na przykład World . |
<type> |
Opcjonalnie |
Określa typ treści opisanym w koncepcji. Wymagane
atrybut ref ma następujące dozwolone wartości:
|
<property> |
Opcjonalnie |
Właściwość koncepcji, na przykład Właściwość może zawierać atrybut Właściwość może zawierać atrybut Właściwość może określać zagnieżdżone |
<attribute> |
Opcjonalnie |
Atrybut koncepcji. Atrybuty reprezentują dodatkowe
informacje o danym zagadnieniu (np. PKB to wartość procentowa). Wartość
wymaganego atrybutu Atrybut może określać zagnieżdżone atrybuty |
<table> |
Opcjonalnie | Identyfikuje tabelę danych zawierającą dane związane z zagadnieniem.
wartość wymaganego atrybutu ref musi być zgodna z tabelą
Identyfikator określony w powiązanym elemencie <table> . |
Wycinki
Opis
Wycinek to kombinacja koncepcji, dla których istnieją dane. Wycinek zawiera 2 rodzaje odwołań do koncepcji: wymiary i danych. Wymiar to pojęcie używane do podziału na segmenty lub filtrowania danych. Dane opisują natomiast obserwowaną wartość lub powiązane z każdym punktem danych.
Ogólnie wymiary są kategoryczne, a dane – nie kategoryzujące, zmienności czasowe, wartości liczbowe. Oto kilka prototypowych przykładów każdego z nich: następujące:
- Wymiary: kraj, stan, hrabstwo, region, rok miesiąc, płeć, kategoria wiekowa, segment branży
- Dane: populacja, PKB, stopa bezrobocia, kompetencje, przychody, koszt, cena
Przykład
<slices> <slice id="country_slice"> <dimension concept="country"/> <dimension concept="time:year"/> <metric concept="population"/> <table ref="country_slice_table"/> </slice> ... </slices>
Oto jak działa ten przykładowy kod.
- Ten wycinek reprezentuje populację według kraju.
- Zawiera dane
population
, a wymiarycountry
iyear
. Każdy wymiar jest koncepcją. już zdefiniowane w innym miejscu. Pojęciecountry
i wskaźnikpopulation
znajdują się w tym samym zbiorze danych co bieżący wycinek oraz są przywoływane w następujący sposób:concept="country"
- Pojęcie
year
istnieje w czasie zaimportowanego zbioru danych, z prefiksem używanym przed nazwą koncepcji (year
), :concept="time:year"
- Wycinek odwołuje się do tabeli danych, która wskazuje plik CSV.
zawierający rzeczywiste dane. Odwołanie do tabeli danych wygląda tak:
<table ref="country_slice_table"/>
(patrz wyżej do informacji o importowaniu i zbiory danych).
Uwaga: zwykle zbiór danych
jeśli ograniczysz dane do minimum, a zamiast tego utworzysz istotne
wymiarów. Na przykład zamiast tworzyć dane
Female Unemployment
i Male Unemployment
,
utwórz jeden rodzaj danych Unemployment
i dodaj wymiar
Gender
, który zawiera instancje Female
i
Male
.
Elementy
Element | Wymagana? | Opis |
---|---|---|
<slices> |
Tak | Element najwyższego poziomu. Obejmuje wszystkie <slice>
. |
<slice> |
Opcjonalnie | Identyfikuje wycinek. Wartość wymaganego atrybutu
Wartość id musi być unikalna dla wycinka. |
<dimension> |
Opcjonalnie | Definiuje wymiar wycinka, odwołując się do koncepcji.
wartość wymaganego atrybutu concept musi być dokładnie taka sama
unikalny identyfikator koncepcji. Użyj prawidłowego prefiksu, jeśli dana koncepcja
należy do zewnętrznego zaimportowanego zbioru danych. |
<metric> |
Opcjonalnie | Definiuje wskaźnik wycinka przez odniesienie do pojęcia. Wartość
wymaganego atrybutu concept musi być dokładnie takie samo jak
unikalny identyfikator koncepcji. Użyj też prawidłowego prefiksu, jeśli dana koncepcja jest odpowiednia,
do zewnętrznego zaimportowanego zbioru danych. |
<table> |
Tak | Identyfikuje tabelę danych zawierającą dane dotyczące wycinka. Wartość
z wymaganego atrybutu ref musi być zgodny z identyfikatorem tabeli
określony w powiązanym elemencie <table> . |
<mapDimension> |
Opcjonalnie | Dziecko konta <table> . Zawiera atrybuty
concept i toColumn ; wartość pierwszego jest
a wartością drugiej jest kolumna tabeli
analogiczny do poprzedniego. |
<mapMetric> |
Opcjonalnie | Dziecko konta <table> . Zawiera atrybuty
concept i toColumn ; wartość pierwszej to
dane w tym wycinku, a wartością drugiej jest kolumna tabeli
analogiczny do poprzedniego. |
Tabele
Opis
Sekcja tables
pliku DSPL zawiera dane
znajdujące się w zbiorze danych. Do tych tabel mogą odwoływać się pojęcia lub
wycinkami. Każdy element <table>
określa kolumny
oraz ich typy i wskazuje plik CSV z tabelą.
i skalowalnych danych.
Przykład
<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>
Oto jak działa ten przykładowy kod.
- Ten przykład opisuje tabelę
country_slice_table
. tabela zawiera kolumnycountry
,year
ipopulation
- Każda kolumna w tabeli ma unikalny identyfikator zdefiniowany przez
id
. Ten identyfikator musi być identyczny z odpowiednim nagłówka kolumny w powiązanym pliku danych. - Wartość opcjonalnego atrybutu
type
określa dane dla każdej kolumny. - Element
<data>
opisuje rzeczywisty plik .csv (country_slice.csv) zawierający dane do tabeli. Format pliku to zawszecsv
.
Elementy
Element | Wymagana? | Opis |
---|---|---|
<tables> |
Tak | Element najwyższego poziomu. Obejmuje wszystkie <table>
. |
<table> |
Tak | Identyfikuje tabelę. Wartość wymaganego atrybutu
Wartość id musi być unikalna w tabeli. |
<column> |
Opcjonalnie |
Dziecko konta <table> . Informacje o kolumnie
podane w tabeli. Zawiera te atrybuty:
|
<data> |
Opcjonalnie | Dziecko konta <table> . Plik danych, do którego odwołuje się funkcja
tabeli. Jeśli nazwa pliku ma postać adresu URL
(np. http://... ), plik zostanie pobrany przez
odpowiedni protokół (HTTP, HTTPS lub FTP); w przeciwnym razie plik
o tej nazwie musi być w pakiecie ze zbiorem danych.
Wartość wymaganego atrybutu format to
zawsze csv . Chociaż atrybut encoding
jest opcjonalny, pliki .csv muszą mieć kodowanie UTF-8. |
Tematy
Opis
Tematy hierarchicznie klasyfikują pojęcia, co pozwala użytkownikom poruszać się po nich i przetwarzanie danych w zbiorze danych.
Element <topics>
powinien pojawić się tuż przed tagiem
<concepts>
w pliku DSPL. (Kolejność
elementów są ważne i może nie być możliwe przesłanie zbioru danych, jeśli
elementy wyświetlają się w złej kolejności). Aby używać tematów, odwołać się do nich z
definicji koncepcji.
Przykład
Oto przykładowa definicja tematu:
<topics> <topic id="population_indicators"> <info> <name> <value>Population indicators</value> </name> </info> </topic> ... </topics>
...a oto przykładowe odniesienie do tego tematu:
<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>
Tematy mogą być zagnieżdżane, a koncepcja może odnosić się do więcej niż jednego tematu.
Definicja elementu
Element | Wymagana? | Opis |
---|---|---|
<topics> |
Tak | Element najwyższego poziomu. Obejmuje wszystkie <topic>
. |
<topic> |
Tak | Identyfikuje temat. Wartość wymaganego atrybutu
Identyfikator id musi być unikalny w zbiorze danych. |
<info> |
Opcjonalnie | Dziecko konta <topic> . Zawiera informacje na temat
temat. |
<name> |
Opcjonalnie | Dziecko konta <info> . Jego element podrzędny
<value> określa nazwę tematu. |
Pliki danych DSPL
Oprócz pliku metadanych XML zbiór danych DSPL może też
dołączyć co najmniej jeden plik danych w formacie CSV. Każdy plik danych
obsługuje tabelę w zbiorze danych i odwołuje się do niej w
<data>...</data>
. Zasadniczo te pliki
i powiązane z nimi tabele są używane do przedstawiania pojęć
definicje lub dane wycinków. Każdy z tych typów plików danych
omówiono szczegółowo poniżej.
Pamiętaj, że niezależnie od celu wszystkie pliki danych muszą zostać rozdzielane przecinkami (CSV) pliki tekstowe UTF-8. Pliki muszą zawierać tylko zwykłe pliki tekst; bez kodu HTML. Możesz tworzyć pliki danych ręcznie, ale realnie będzie trzeba masować dane za pomocą narzędzia zawierającego oryginalne dane, źródła (np. w arkuszu kalkulacyjnym) lub w samym wyeksportowanym pliku.
Pliki można połączyć w pakiet ze zbiorem danych lub, jeśli nazwa ma postać Adres URL pobrany ze źródła zdalnego za pomocą protokołu HTTP, HTTPS lub FTP.
Pliki danych pojęć
Pliki danych pojęć zawierają odpowiednie informacje do każdego pojęcia.
definicja koncepcji używa elementu <table>
, aby się odwoływać
ten plik.
Przykład
Oto przykład tabeli zawierającej pojęcie country
zdefiniowane powyżej:
country, name AD, Andorra AF, Afghanistan AI, Anguilla AL, Albania AO, Angola AQ, Antarctica AS, American Samoa
Oto jak to działa:
- Jeśli nie określono mapowania, pierwszy wiersz pliku danych (kolumna)
nagłówki) musi dokładnie odpowiadać identyfikatorowi elementu i odpowiedniej właściwości
identyfikatory koncepcji, z którą są powiązane dane. Jednak orzeczenie
kolumny nie muszą być takie same w pliku danych
tabeli pojęć. W tym przypadku pierwsza kolumna jest powiązana z
pojęcie
country
, a druga kolumna jest powiązana z usługaname
. - Kolumny właściwości są opcjonalne. jeśli usługa nie ma kolumny
w tabeli, przyjmuje się, że jego wartość jest niezdefiniowana w każdym wierszu.
tabeli powyżej, na przykład pomija kolumny dla
latitude
ilongitude
, dlatego krajów nie będzie można mapować. - Każda wartość w polu identyfikatora elementu (w tym przypadku
country
) musi być niepowtarzalny i nie może być pusty (puste pole ma wartość 1) bez spacji lub tylko spacji). - Wartości właściwości, które odwołują się do innych pojęć, muszą być: puste lub być prawidłową wartością odniesienia.
- Umieszczenie wartości w cudzysłowach podwójnych jest opcjonalne, chyba że zawierają przecinki, podwójne cudzysłowy lub znaki nowego wiersza.
- Aby zmienić znaczenie dosłownego cudzysłowu podwójnych, który pojawia się w wartości, poprzedza ją kolejny podwójny cudzysłów.
Pliki z danymi do wycinka
Pliki danych o wycinkach zawierają odpowiednie dane dla każdego wycinka. Wycinek
definicja używa elementu <table ref="...">
do
odwołują się do definicji <table>
, która z kolei określa
ten plik.
Przykład
Oto przykładowy plik .csv zawierający dane witryny
Wycinek population_by_country
opisany powyżej:
country, year, population AF, 1960, 9616353 AF, 1961, 9799379 AF, 1962, 9989846 AF, 1963, 10188299
Oto jak to działa:
- Pole wskaźnika to
population
. Polacountry
iyear
to pola wymiarów. - Żadna z wartości w polu wymiaru nie może być pusta. Obejmuje to czas wymiarów. Wartości pól wskaźników mogą być puste. Pusta wartość to nie jest reprezentowana przez żaden znak.
- Każdy nagłówek kolumny odwołujący się do danego zagadnienia (na przykład pierwszy
powyższego przykładu odwołuje się do koncepcji
country
) musi dokładnie pasują do unikalnego identyfikatora elementu w definicji pojęć. - Unikalna kombinacja wartości wymiarów, np.
AF, 2000
, może wystąpić tylko raz. - Wiersze w tym samym ciągu czasowym (tzn. wiersze zawierające tę samą kombinację) wszystkich wartości wymiarów z wyjątkiem czasu) muszą być zgrupowane razem, ale są one nie są w inny sposób sortowane.
Funkcje zaawansowane
Wielojęzyczne zbiory danych
Przetłumaczone wartości XML
Możesz użyć atrybutu xml:lang
z każdym
<value>
w pliku DSPL. Ten atrybut
określa język zawartości elementu za pomocą standardowego algorytmu W3C,
. Pamiętaj, że używanie tej funkcji jest opcjonalne. jeśli nie
uwzględniono atrybut xml:lang
, przyjmuje się, że treść znajduje się w
Angielski.
Na poniższym przykładzie pokazano fragmenty zbioru danych w języku angielskim: bułgarski, kataloński i chiński uproszczony:
<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>
Przetłumaczone właściwości
Możesz potrzebować tłumaczeń, które wykraczają poza zakres metadanych na poziomie koncepcji, które mają zastosowanie dodatkowo (lub zamiast) do poszczególnych koncepcji. Jest to szczególnie przydatne, gdy wartości atrybutu właściwość (np. nazwa) różni się w zależności od języka.
Aby podać takie wartości w wielu językach, utwórz jedną kolumnę w
odpowiednią tabelę definicji dla każdej kombinacji usługi i języka.
Następnie połącz te kolumny z powiązanymi usługami i językami:
dodanie do tabeli zestawu elementów <mapProperty xml:lang="..."
ref="..." toColumn="...">
dla danej koncepcji.
Oto przykład, który określa pojęcie kraju z nazwami w języku angielskim: hiszpański i francuski:
<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>
Plik CSV z danymi countries_table
będzie wtedy zawierał
ten formularz:
country,name_en,name_es,name_fr,... ... US,United States of America,Estados Unidos de América,États-Unis d'Amérique,... ...
Pojęcia możliwe do mapowania
wiele pojęć (np. „hrabstwo”, „stan” miasta) mają wystąpienia odpowiadające lokalizacji geograficznej. DSPL obsługuje geokodowanie tych instancji, dzięki czemu będzie można je zwizualizować Animowany wykres przedstawiający mapę Google Public Data.
Jeśli pojęcie jest równoważne z krajami świata, stanami USA lub USA możesz dodać link do odpowiedniej strony kanonicznej Google, koncepcja; nie jest wymagane żadne jawne geokodowanie. Więcej informacji znajdziesz w przewodniku po pojęciach kanonicznych. .
Jeśli nie, musisz dodać tę koncepcję do map. Najpierw
ustaw rozszerzenie z geo:location
:
<concept id="..." extends="geo:location"> ... </concept>
Następnie musisz dodać szerokość i długość geograficzną jako właściwości:
<concept id="..." extends="geo:location"> ... <property id="latitude"/> <property id="longitude"/> </concept>
Następnie określa się je jako kolumny w odpowiednich tabeli danych definicji pojęć.
Relacje między koncepcjami
Pojęcia często są powiązane z innymi pojęciami w uporządkowany sposób. Dla: np. wystąpienie kontynentu może zawierać wiele krajowych instancji, które z kolei mogą zawierać w poszczególnych stanach lub prowincjach. Kodowanie tych elementów relacje między metadanymi zbioru danych i umożliwiają bogatsze wizualizacje funkcji, niż byłoby to możliwe, np. wyświetlanie zwijanego drzewa z lokalizacji, które można wybrać.
W poniższych sekcjach opisaliśmy relacje powiązane między koncepcjami schemat DSPL.
Hierarchie
Hierarchie koncepcji są reprezentowane w DSPL za pomocą funkcji
Atrybut isParent="true"
w
Tag <property>
kategorii podrzędnej, który zawiera
identyfikatory instancji z elementu nadrzędnego.
Na przykład koncepcja Google w USA dotyczy ten formularz:
<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>
Tabela danych pomocniczych ma kolumnę state
z parametrem
dwuliterowy kod stanu dla każdego hrabstwa. Ten typ metadanych pozwala
Public Data Explorer wyświetlający stany i hrabstwa w postaci hierarchii,
co znacznie ułatwia użytkownikom poznawanie ich możliwości.
Pamiętaj, że koncepcja może mieć wiele elementów potomnych, ale nie więcej niż jedno. Rodzic.
Odwzorowania
Mapowanie koncepcji (tzn. koncepcji, które zasadniczo reprezentują te same
rzecz) są reprezentowane przez isMapping="true"
w tagu property
zmapowanego pojęcia.
Wskazanie, że jeden element jest mapowany na drugi, umożliwia dziedziczenie pierwszego elementu. właściwości i atrybuty obu tych obiektów. Poza innymi aplikacjami przydaje się do „łączenia” osobiste koncepcje geograficzne te zdefiniowane w kanonicznym zbiorze danych geograficznych:
<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>
Rozszerzenia
Rozszerzenia pojęć są określane za pomocą elementu extends
w odpowiedniej definicji pojęć. Rozszerzenia są przydatne do wskazywania,
że dana koncepcja jest podklasą innej, szerszej koncepcji.
koncepcja rozszerzona dziedziczy wszystkie atrybuty i właściwości elementu nadrzędnego,
ale możesz też dodać kolejne.
Na przykład koncepcja usługi currency
Google rozszerza
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>
Zobacz dyskusję na temat koncepcji w samouczku.
Przesyłanie zbioru danych
Aby przesłać zbiór danych do Google Public Data Explorer, wykonaj te czynności: instrukcje:
- Utwórz katalog.
- Zapisz plik DSpl zbioru danych w utworzonym przez siebie katalogu. Upewnij się, że: użyj rozszerzenia .xml.
- Zapisz wszystkie lokalne pliki .csv w tym samym katalogu. Pliki danych, które są można pominąć.
- Skompresuj katalog.
- Prześlij zbiór danych do Google Public Data Eksplorator.
Gdy zbiór danych zostanie przesłany i zweryfikowany, możesz go przetestować po zalogowaniu na Twoje konto Google. Nie zostanie opublikowana, dopóki nie zaznaczysz tego pola i daj nam znać, że jest gotowa.