DSPL è l'acronimo di Dataset Publishing Language. È un formato di rappresentazione per entrambi i campi metadata (informazioni sul set di dati, come le nome e provider, nonché i concetti che contiene e mostra) e dati effettivi di set di dati. I set di dati descritti in questo formato possono essere importati in Google Public Data Spazio di esplorazione, uno strumento che permette di esplorare visivamente e in modo approfondito e i dati di Google Cloud.
Nota: per caricare i dati su Google Public Data. Tramite lo strumento di caricamento dei dati pubblici, devi avere un Account Google.
Questo documento è rivolto ai proprietari dei dati che vogliono che i loro contenuti siano disponibili in Public Data Explorer. Va oltre il tutorial approfondendo i dettagli dello schema DSPL e delle funzionalità supportate. Solo una familiarità di base di XML, sebbene sia anche la conoscenza dei database relazionali utile.
Sebbene non sia un requisito, ti consigliamo di seguire il tutorial, che è più breve e più facile da assimilare, prima di esaminare questo documento.
Panoramica
Un set di dati DSPL è un file ZIP contenente un file XML e un set di file CSV . I file CSV sono semplici tabelle contenenti i dati del set di dati, mentre il file XML descrive i metadati del set di dati. Quest'ultimo include metadati informativi come descrizioni di misure e metadati strutturali come riferimenti tra tabelle. Questi metadati consente agli utenti non esperti di esplorare e visualizzare i tuoi dati.
Processo
In generale, il processo di creazione di un set di dati DSPL è il seguente (alcuni passaggi possono avvenire in parallelo):
- Crea il file XML DSPL.
- Identifica le origini dati esterne da utilizzare nel set di dati.
- Definisci i concetti, le sezioni e (facoltativamente) gli argomenti. In modo iterativo aggiorna il contenuto del file DSPL.
- Esporta i dati di origine in file .csv.
- Creare un set di dati DSPL.
- Invia il set di dati a Google.
Struttura XML
Panoramica
Il file XML DSPL definisce i metadati del set di dati, tra cui relazioni strutturali tra concetti, sezioni, argomenti e tabelle. Sebbene sia possibile creare il file manualmente, gli strumenti di elaborazione dei dati e gli script possono semplificare notevolmente il processo. Visualizza un esempio di file DSPL in un nuovo finestra.
Il file include una serie di sezioni, che vengono riassunte nella tabella. di seguito. Seguendo la tabella, descriviamo i primi due in maggior dettaglio.
Sezione | Riepilogo | Ulteriori informazioni |
---|---|---|
Intestazione e importazioni | Il padre per tutti gli altri elementi del set di dati. Include: spazio dei nomi target (ovvero, identificatore) per il set di dati, insieme allo di qualsiasi set di dati importato. | Documentazione |
Informazioni sul set di dati | Nome, descrizione e URL del set di dati. | Documentazione |
Informazioni sul fornitore | Nome, descrizione e URL del fornitore del set di dati. | Documentazione |
Concetti |
Definizioni di "cose" che compaiono nel set di dati (ad es. paesi, tasso di disoccupazione, genere ecc.) Ogni concetto ha un identificatore univoco, al quale può fare riferimento sezioni e tabelle. |
Documentazione |
Sezioni |
Combinazioni di concetti per i quali esistono dati statistici nel del set di dati. Ogni sezione contiene dimensioni e metriche. Suddividi i concetti di riferimento e anche le tabelle contenenti e i dati di Google Cloud. Ogni sezione ha un identificatore univoco a cui può fare riferimento il contenenti i dati effettivi. |
Documentazione |
Tabelle | Definisci i dati per concetti e sezioni. Blocco delle tabelle concettuali le enumerazioni e le tabelle delle sezioni contengono dati statistici. Le tabelle sono definite nel file XML e puntare ai file .csv contenenti i dati effettivi. | Documentazione |
Argomenti | Categorie per l'organizzazione dei concetti dei set di dati. Sebbene non siano obbligatori, questi può essere molto utile per gli utenti che navigano nei dati. | Documentazione |
Intestazione e importazioni
Dichiarazione dello spazio dei nomi Public Data
Un set di dati DSPL inizia con un elemento <dspl>
di primo livello.
Viene utilizzato per racchiudere tutte le informazioni del set di dati e per indicare qualsiasi
utilizzati in tutto il file. Ecco un esempio:
<?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>
Uno spazio dei nomi è un identificatore univoco che può essere associato a un
Schema XML (un insieme di elementi e attributi XML). La
targetNamespace
fornisce un URI che identifica il set di dati.
Questo URI non è necessario per puntare a una risorsa effettiva, ma è una buona
l'idea di risolvere l'URI in un documento che descriva i tuoi contenuti oppure
del set di dati.
Non è necessario fornire un targetNamespace
. Se
non lo fai, ne verrà generato automaticamente uno al momento dell'importazione
nel tempo.
L'attributo targetNamespace
è seguito da una serie di
Attributi xmlns
che specificano altri schemi XML che verranno utilizzati
nel file. Ogni file DSPL deve includere lo schema Google Public Data,
il cui URI è "http://schemas.google.com/dspl/2010" e usalo come
lo spazio dei nomi predefinito. Deve includere anche lo schema XML W3 standard
identificato da "http://www.w3.org/2001/XMLSchema-instance". Come
descritti nella prossima sezione, è possibile aggiungere altri spazi dei nomi per includere
le informazioni da altri set di dati.
Importazione di altri spazi dei nomi del set di dati
I set di dati possono riutilizzare le definizioni e i dati di altri set di dati. Google, per , fornisce una serie di set di dati di base che definiscono concetti comunemente visualizzati nei dati utente. Ad esempio, la maggior parte dei set di dati richiede un concetto rappresentano gli anni. Anziché definire un nuovo concetto, puoi usare l'anno da "http://www.google.com/publicdata/dataset/time" del set di dati. Vedi la sezione Canonical Concetti per saperne di più.
Per utilizzare un set di dati esterno, aggiungi l'elemento <import>
a
il file DSPL subito dopo la dichiarazione dello spazio dei nomi e indica la
che stai importando, nel seguente modo:
<import namespace="http://www.google.com/publicdata/dataset/google/time"/>
Quindi, aggiungi lo spazio dei nomi importato (in questo caso,
time="http://www.google.com/publicdata/dataset/google/time"
alla dichiarazione dello spazio dei nomi nella parte superiore del file, in questo modo:
<?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"/>
Il file DSPL ora può fare riferimento a elementi di Google Public Data set di dati temporali. Ripeti questo processo per ogni set di dati a cui vuoi fare riferimento.
Fare riferimento a contenuti in set di dati esterni
Dopo aver importato un altro set di dati, devi poter fare riferimento
concetti, sezioni e dati da quel set di dati. A questo scopo, puoi utilizzare
riferimenti del formato prefix:other_id
, dove
prefix
è il prefisso utilizzato per lo spazio dei nomi del
un set di dati esterno.
Ecco un esempio di un riferimento al concetto year
da
il set di dati time
(descritto sopra):
<slices> <slice id="country_slice"> <dimension concept="country"/> <dimension concept="time:year"/> <metric concept="population"/> <table ref="country_slice_table"/> </slice> ... </slices>
Informazioni sul set di dati
L'elemento <info>
include informazioni descrittive.
sul set di dati. Un esempio e i dettagli degli elementi XML pertinenti sono
elencati di seguito.
Esempio
<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>
Elementi
Elemento | Obbligatorio? | Descrizione |
---|---|---|
<info> |
Sì | Racchiude tutte le informazioni descrittive sul set di dati. Include
gli elementi secondari <name> ,
<description> e <url> . |
<name> |
Sì | Secondario di <info> . Include l'elemento secondario
<value> , che identifica il nome dell'account
del set di dati. |
<description> |
Facoltativo | Secondario di <info> . Include l'elemento secondario
<value> , che include una descrizione testuale del
del set di dati. |
<url> |
Sì | Secondario di <info> . Un link a un URL con ulteriori
informazioni sul set di dati. |
Informazioni sul fornitore
L'elemento <provider>
elenca informazioni sull'elemento
da un provider del set di dati. Un esempio e i dettagli degli elementi XML pertinenti sono
elencati di seguito.
Esempio
<provider> <name> <value>Bureau of Statistics</value> </name> <url> <value>http://www.example.com</value> </url> </provider>
Elementi
Elemento | Obbligatorio? | Descrizione |
---|---|---|
<provider> |
Sì | Racchiude tutte le informazioni descrittive sul fornitore del set di dati.
Include gli elementi secondari <name> e
<url> . |
<name> |
Facoltativo | Secondario di <provider> . Include l'elemento secondario
<value> , che identifica il nome del set di dati
o il provider di servizi di terze parti. |
<url> |
Facoltativo | Secondario di <info> . Un link a un URL con altro
le informazioni sul fornitore del set di dati. |
Concetti
Descrizione
Ogni set di dati contiene uno o più concetti. Un concetto è un di un tipo di dati che compaiono in un set di dati. Un set di dati con I dati demografici sulla popolazione, ad esempio, potrebbero avere i concetti paese, stato, popolazione e anno. I valori dei dati corrispondenti a un dato concetto sono chiamate istanze di tale concetto. I concetti sono sono generalmente descritti nel set di dati, ma alcuni concetti (ad esempio ora o anno) possono essere descritti in set di dati esterni.
Ogni concetto può avere una o più proprietà. Una proprietà è una
caratteristica di un'istanza concettuale stabile nel tempo. Ad esempio:
il concetto di paese potrebbe avere le proprietà name
,
population
e capital
.
I concetti possono anche avere uno o più attributi. Gli attributi offrono informazioni a livello di concetto, non di singole istanze. Per Ad esempio, se avessimo un set di dati con un concetto di tasso di disoccupazione, potremmo usare un attributo per indicare che questo concetto è una percentuale. Un altro esempio di uso comune degli attributi è la definizione di unità di informazioni.
Esempio
Ecco un esempio di concetto di paese con l'ID univoco
country
e la proprietà name
. L'ID concetto può essere
utilizzato per fare riferimento al concetto da sezioni e tabelle.
<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>
Ecco come funziona questo codice di esempio.
- Questo codice descrive il concetto di paese, con l'ID.
country
e le proprietàname
,continent
ecapital
. - Il concetto estende
geo:location
, il concetto canonico per di località. Estendendogeo:location
,country
eredita tutte le proprietà e gli attributi definiti dal concetto esteso: nome, descrizione, URL, latitudine e longitudine delle proprietà. Buono dicountry
per ridefinire alcuni di questi attributi proprietà, purché la definizione sia coerente con quella fornita dal concetto esteso. - L'elemento
<info>
del concetto descrive la chiave informazioni sul concetto. Viene visualizzato nel set di dati pagina di destinazione in Public Data Explorer. - L'elemento concettuale
<type>
si riferisce al tipo di contenuti. In questo caso si tratta di una stringa, ma potrebbe variare. Il concetto La popolazione è di tipointeger
; il concettoEurovision winner
può avere il tipo booleano. - Un elemento
<property>
descrive ogni proprietà dell'elemento di Google, incluso l'ID univoco (id
),info
etype
. Le proprietà possono anche fare riferimento a concetti, indicano che i loro valori sono istanze valide di questi concetti. -
Il concetto fa riferimento a una tabella di dati che indica al file CSV contenente i dati effettivi. Viene fatto riferimento alla tabella di dati nel seguente modo:
<table ref="countries_table"/>
.Se il concetto fa riferimento a una tabella, il file di dati associato deve elencare tutte le istanze del concetto. Non puoi, ad esempio, creare una tabella che elenca solo alcuni dei paesi inclusi nel set di dati. (Se è un sottoinsieme dei paesi che ti interessano, puoi creare un insieme concetto per descriverli. ad esempio
mycountries
.
Elementi
Elemento | Obbligatorio? | Descrizione |
---|---|---|
<concepts> |
Sì | Elemento di primo livello. Include tutti i valori <concept>
elementi. |
<concept> |
Sì | Identifica il concetto. Il valore dell'attributo obbligatorio
id deve essere univoco per il concetto all'interno del set di dati. Se
il concetto fa riferimento a una tabella di dati concettuali, il valore di
id deve corrispondere all'intestazione di colonna che descrive il concetto in
la tabella dei dati. Un attributo extends può essere utilizzato per indicare
che questo concetto estende un altro concetto. Il valore di
extends deve corrispondere all'ID di un concetto definito nello stesso
set di dati o avere la forma prefix:concept_id , dove
concept_id è l'ID di un concetto definito nella
set di dati esterno associato a prefix . |
<info> |
Facoltativo | Racchiude informazioni descrittive sul concetto. |
<name> |
Sì | Secondario di <info> . Il nome del concetto. La
l'elemento secondario <value> contiene il testo - per
ad esempio Country . |
<description> |
Facoltativo | Secondario di <info> . Include l'elemento secondario
<value> , che include una descrizione testuale del
concetto. |
<url> |
Facoltativo | Secondario di <info> . Include l'elemento secondario
<value> , che include un URL per
concetto. |
<pluralName> |
Facoltativo | Secondario di <info> . Il nome plurale per
concetto. L'elemento secondario <value> contiene il testo
ad esempio Countries . |
<totalName> |
Facoltativo | Secondario di <info> . Il nome della combinazione
tutte le istanze del concetto. L'elemento secondario <value>
contiene il testo- nel caso di un valore country
di base, ad esempio World . |
<type> |
Facoltativo |
Identifica il tipo di contenuti descritto dal concetto. Il campo obbligatorio
L'attributo ref ha i seguenti valori consentiti:
|
<property> |
Facoltativo |
Una proprietà del concetto, ad esempio Una proprietà può contenere un attributo Una proprietà può contenere un attributo Una proprietà può specificare un elemento |
<attribute> |
Facoltativo |
Un attributo del concetto. Gli attributi rappresentano
informazioni sul concetto (ad es. il PIL è una percentuale). Il valore
dell'attributo obbligatorio Un attributo può specificare un elemento |
<table> |
Facoltativo | Identifica la tabella contenente i dati per il concetto. La
il valore dell'attributo obbligatorio ref deve corrispondere a quello della tabella
ID specificato nell'elemento <table> correlato. |
Sezioni
Descrizione
Una sezione è una combinazione di concetti per cui esistono dati. Una sezione contiene due tipi di riferimenti concettuali: dimensioni e metriche. Una dimensione è un concetto utilizzato per segmentare o filtrare i tuoi dati. Una metrica, invece, descrive il valore osservato o associati a ciascun punto dati.
In genere, le dimensioni sono categoriche, mentre le metriche non sono categoriche, valori numerici che variano nel tempo. Alcuni esempi prototipici di ciascuno sono che segue:
- Dimensioni: paese, stato, contea, regione, anno, mese, genere, categoria di età, segmento di settore
- Metriche: popolazione, PIL, tasso di disoccupazione, alfabetizzazione. entrate, costo, prezzo
Esempio
<slices> <slice id="country_slice"> <dimension concept="country"/> <dimension concept="time:year"/> <metric concept="population"/> <table ref="country_slice_table"/> </slice> ... </slices>
Ecco come funziona questo codice di esempio.
- Questa sezione rappresenta la popolazione per paese.
- Ha la metrica
population
e le dimensionicountry
eyear
. Ogni dimensione è un concetto sono già definite altrove. Il concettocountry
e la metricapopulation
esistono nello stesso set di dati della sezione corrente e hanno riferimenti nel seguente modo:concept="country"
- Il concetto
year
esiste nell'ora del set di dati importato, identificati dal prefisso utilizzato prima del nome del concetto (year
), nel seguente modo:concept="time:year"
- La sezione fa riferimento a una tabella di dati che punta al file CSV
contenente i dati effettivi. Alla tabella di dati viene fatto riferimento nel seguente modo:
<table ref="country_slice_table"/>
. (Vedi sopra per informazioni sull'importazione set di dati.
Nota: in generale, il set di dati sarà
flessibile se mantieni le metriche al minimo e invece crei nomi significativi
dimensioni. Ad esempio, invece di creare le metriche
Female Unemployment
e Male Unemployment
,
crea la metrica singola Unemployment
e aggiungi la dimensione
Gender
con le istanze Female
e
Male
,
Elementi
Elemento | Obbligatorio? | Descrizione |
---|---|---|
<slices> |
Sì | Elemento di primo livello. Include tutti i valori <slice>
elementi. |
<slice> |
Facoltativo | Identifica la sezione. Il valore dell'attributo obbligatorio
id deve essere univoco per la sezione. |
<dimension> |
Facoltativo | Definisce una dimensione della sezione, facendo riferimento a un concetto. La
il valore dell'attributo obbligatorio concept deve corrispondere esattamente
l'ID univoco del concetto e utilizza un prefisso valido se il concetto
appartiene a un set di dati esterno importato. |
<metric> |
Facoltativo | Definisce una metrica della sezione, facendo riferimento a un concetto. Il valore
dell'attributo obbligatorio concept deve corrispondere esattamente ai
ID univoco del concetto e utilizza un prefisso valido se il concetto appartiene
in un set di dati esterno importato. |
<table> |
Sì | Identifica la tabella contenente i dati della sezione. Il valore
dell'attributo obbligatorio ref deve corrispondere all'ID tabella
specificato nell'elemento <table> correlato. |
<mapDimension> |
Facoltativo | Secondario di <table> . Contiene gli attributi
concept e toColumn ; il valore del primo è
della sezione e il valore del secondo è la colonna della tabella
corrispondenti al primo. |
<mapMetric> |
Facoltativo | Secondario di <table> . Contiene gli attributi
concept e toColumn ; il valore del primo è
una metrica nella sezione, con il valore del secondo è la colonna della tabella
corrispondenti al primo. |
Tabelle
Descrizione
La sezione tables
del file DSPL identifica i dati
incluse nel set di dati. È possibile fare riferimento a queste tabelle per concetti o
per sezioni. Ogni elemento <table>
specifica le colonne
le tabelle e i relativi tipi e punta a un file CSV contenente la tabella
e i dati di Google Cloud.
Esempio
<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>
Ecco come funziona questo codice di esempio.
- In questo esempio viene descritta la tabella
country_slice_table
. La tabella ha le colonnecountry
,year
epopulation
. - Ogni colonna della tabella ha un ID univoco, definito dal
Attributo
id
. Questo ID deve corrispondere esattamente al codice nel file di dati associato. - Il valore dell'attributo facoltativo
type
definisce i dati tipo di colonna. - L'elemento
<data>
descrive il file .csv effettivo (country_slice.csv) contenente i dati per la tabella. Il formato file è semprecsv
.
Elementi
Elemento | Obbligatorio? | Descrizione |
---|---|---|
<tables> |
Sì | Elemento di primo livello. Include tutti i valori <table>
elementi. |
<table> |
Sì | Identifica la tabella. Il valore dell'attributo obbligatorio
id deve essere univoco per la tabella. |
<column> |
Facoltativo |
Secondario di <table> . Informazioni su una colonna
incluse nella tabella. Include i seguenti attributi:
|
<data> |
Facoltativo | Secondario di <table> . Il file di dati a cui fa riferimento
nella tabella. Se il nome del file è sotto forma di URL
(ad es. http://... ), il file verrà recuperato tramite
protocollo appropriato (HTTP, HTTPS o FTP); altrimenti un file
con questo nome devono essere
associati al set di dati.
Il valore dell'attributo obbligatorio format è
sempre csv . Sebbene l'attributo encoding
è facoltativo, i file .csv devono avere codifica UTF-8. |
Argomenti
Descrizione
Gli argomenti classificano i concetti in modo gerarchico, consentendo agli utenti di spostarsi tramite il tuo set di dati.
L'elemento <topics>
dovrebbe apparire subito prima di
<concepts>
nel file DSPL. (L'ordine di
è importante e potresti non riuscire a caricare il set di dati se
vengono visualizzati nell'ordine errato). Per utilizzare gli argomenti, consultali nel
definizione del concetto.
Esempio
Ecco un esempio di definizione di argomento:
<topics> <topic id="population_indicators"> <info> <name> <value>Population indicators</value> </name> </info> </topic> ... </topics>
...ed ecco un esempio di riferimento a questo argomento partendo da un concetto:
<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>
Gli argomenti possono essere nidificati e un concetto può fare riferimento a più argomenti.
Definizione dell'elemento
Elemento | Obbligatorio? | Descrizione |
---|---|---|
<topics> |
Sì | Elemento di primo livello. Include tutti i valori <topic>
elementi. |
<topic> |
Sì | Identifica l'argomento. Il valore dell'attributo obbligatorio
id deve essere univoco per il set di dati. |
<info> |
Facoltativo | Secondario di <topic> . Contiene informazioni su un
per ogni argomento. |
<name> |
Facoltativo | Secondario di <info> . L'elemento secondario
<value> specifica il nome dell'argomento. |
File di dati DSPL
Oltre al file XML metadata, un set di dati DSPL può anche
Includi uno o più file di dati in formato CSV. Ogni file di dati
supporta una tabella nel set di dati e viene fatto riferimento al precedente
Sezione <data>...</data>
. Concettualmente, questi file
e le relative tabelle associate sono utilizzate per rappresentare concetto
definizioni o dati sezione. Ciascuno di questi tipi di file di dati
descritti più dettagliatamente di seguito.
Tieni presente che, indipendentemente dallo scopo, tutti i file di dati devono essere File di testo UTF-8 delimitato da virgole (CSV). I file devono contenere solo testo; senza HTML. Puoi creare i file di dati manualmente, ma realisticamente dovrà massaggiare i dati nello strumento contenente i dati originali origine (ad es. un foglio di lavoro) o nello stesso file esportato.
I file possono essere raggruppati con il set di dati oppure, se il nome è sotto forma di URL, recuperato tramite HTTP, HTTPS o FTP da una sorgente remota.
File di dati sui concetti
I file di dati concettuali contengono informazioni pertinenti per ogni concetto. La
utilizza l'elemento <table>
per fare riferimento a
questo file.
Esempio
Ecco un esempio di tabella per il concetto country
definita sopra:
country, name AD, Andorra AF, Afghanistan AI, Anguilla AL, Albania AO, Angola AQ, Antarctica AS, American Samoa
Ecco come funziona questo esempio:
- A meno che non siano specificate mappature, la prima riga del file di dati (colonna
) devono corrispondere esattamente all'ID concetto e alla proprietà appropriata
ID del concetto a cui sono associati i dati. Tuttavia, l'ordine
colonne non devono essere uguali nel file di dati e
concettuale. In questo caso, la prima colonna è associata al parametro
concetto
country
e la seconda colonna è associata al proprietàname
. - Le colonne delle proprietà sono facoltative; se una proprietà non ha una colonna
nella tabella, si presume che il suo valore non sia definito per ogni riga. La
nella tabella precedente, ad esempio, omette le colonne per
latitude
elongitude
proprietà, quindi i paesi non saranno mappabili. - Ogni valore per il campo ID del concetto (in questo caso,
country
) deve essere univoco e non vuoto (un campo vuoto corrisponde a uno con zero o solo spazi vuoti). - I valori delle proprietà che fanno riferimento ad altri concetti devono essere vuoto o essere un valore valido del concetto a cui viene fatto riferimento.
- Racchiudi i valori tra virgolette è facoltativo, tranne quando contenere virgole, virgolette doppie o caratteri di nuova riga.
- Esegui l'escape di una virgoletta doppia letterale visualizzata in un valore facendola precedere con un'altra virgoletta doppia.
Sezione dei file di dati
I file di dati delle sezioni contengono dati pertinenti per ogni sezione. Sezione
definizione utilizza l'elemento <table ref="...">
per
fare riferimento alla definizione di <table>
, che a sua volta identifica
questo file.
Esempio
Di seguito è riportato un esempio di un file .csv contenente i dati relativi alla
Sezione population_by_country
descritta sopra:
country, year, population AF, 1960, 9616353 AF, 1961, 9799379 AF, 1962, 9989846 AF, 1963, 10188299
Ecco come funziona l'esempio:
- Il campo della metrica è
population
. I campicountry
eyear
sono campi dimensione. - Ogni valore di un campo dimensione non deve essere vuoto. Sono incluse le ore dimensioni. I valori dei campi delle metriche possono essere vuoti. Un valore vuoto è rappresentato da nessun carattere.
- Ogni intestazione di colonna che fa riferimento a un concetto (ad esempio, il primo
dell'esempio precedente fa riferimento al concetto
country
) deve corrispondono esattamente all'ID univoco del concetto nella definizione del concetto. - Una combinazione unica di valori di dimensione, ad esempio
AF, 2000
, possono verificarsi una sola volta. - Righe nella stessa serie temporale (ovvero righe con la stessa combinazione di tutti i valori di dimensione, tranne il tempo) devono essere raggruppati insieme, anche se non devono essere ordinati in altro modo.
Funzionalità avanzate
Set di dati multilingue
Valori XML tradotti
Puoi utilizzare l'attributo xml:lang
con ogni
<value>
nel file DSPL. Questo attributo
specifica la lingua dei contenuti dell'elemento, utilizzando lo standard, W3C
dei tag di lingua. Tieni presente che l'utilizzo di questa funzione è facoltativo; In caso contrario
L'attributo xml:lang
è incluso, si presume che i contenuti siano in
Inglese.
L'esempio seguente mostra gli snipet di un set di dati in inglese, Bulgaro, catalano e cinese semplificato:
<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>
Proprietà tradotte
In alcuni casi, potresti fornire traduzioni che vanno oltre di metadati a livello concettuale, che vengono applicati in aggiunta (o invece) ai singoli più istanze del concetto. Ciò è particolarmente utile quando i valori di un concetto (ad es. il nome) varia a seconda della lingua.
Per fornire questi valori in più lingue, crea una colonna in
la tabella di definizione corrispondente per ogni combinazione proprietà/lingua.
Poi collega queste colonne alle rispettive proprietà e lingue associate
aggiunta di un insieme di elementi <mapProperty xml:lang="..."
ref="..." toColumn="...">
alla tabella
di riferimento per il concetto.
Ecco un esempio che definisce un concetto di paese con nomi in inglese: Spagnolo e francese:
<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>
Il file CSV per countries_table
conterrà quindi
modulo seguente:
country,name_en,name_es,name_fr,... ... US,United States of America,Estados Unidos de América,États-Unis d'Amérique,... ...
Concetti mappabili
Molti concetti (ad esempio contea, stato e città) hanno istanze corrispondenti a posizioni geografiche. DSPL supporta la geocodifica di queste istanze in modo che siano visualizzabili Grafico mappa animato di Google Public Data.
Se il tuo concetto è equivalente ai paesi del mondo, agli stati USA o agli Stati Uniti contee, puoi collegarti ai contenuti canonici di Google concetto; non è richiesta alcuna geocodifica esplicita. Per ulteriori informazioni, consulta la Guida ai concetti canonici i dettagli.
In caso contrario, devi rendere il tuo concept mappabile. Il primo passaggio consiste nel
eseguine l'estensione da geo:location
:
<concept id="..." extends="geo:location"> ... </concept>
Quindi, devi aggiungere esplicitamente latitudine e longitudine come proprietà:
<concept id="..." extends="geo:location"> ... <property id="latitude"/> <property id="longitude"/> </concept>
I valori corrispondenti vengono quindi specificati come colonne nel una tabella di dati sulla definizione dei concetti.
Relazioni concettuali
Spesso i concetti sono correlati ad altri in modo strutturato. Per Un'istanza continente può includere più istanze di istanze di paesi, che a loro volta possono contenere di stato o provincia. Codifica di questi le relazioni nei metadati del set di dati consentono una visualizzazione più completa rispetto a quelle che sarebbero altrimenti possibili, ad es. mostrare un albero comprimibile più località tra cui scegliere.
Nelle sezioni seguenti vengono descritte le relazioni concettuali supportate in lo schema DSPL.
Gerarchie
Le gerarchie concettuali sono rappresentate in DSPL tramite l'uso di una
Attributo isParent="true"
in un
<property>
del concetto secondario, che contiene
identificatori delle istanze dal concetto padre.
Ad esempio, il concetto di contea statunitense di Google ha la modulo seguente:
<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>
La tabella dei dati di supporto ha una colonna state
con
codice dello stato di due lettere per ogni contea. Questo tipo di metadati consente
Public Data Explorer per mostrare stati e contee come gerarchia, una funzionalità
che semplifica molto l'esplorazione per gli utenti.
Tieni presente che un concetto può avere molti elementi secondari, ma non più di uno. principale.
Mappature
Mappature concettuali (ovvero concetti che rappresentano, fondamentalmente, lo stesso
) sono rappresentate da un isMapping="true"
in un tag property
del concetto mappato.
Specificare che un concetto è mappato a un altro consente al primo di ereditare tutte le proprietà e gli attributi di quest'ultimo. Tra le altre applicazioni, Questa funzionalità è utile per i "link" concetti geografici personali Quelli definiti nel set di dati geografici canonico di Google:
<concept id="my_country" extends="geo:location"> <info> <name> <value xml:lang="en">Country</value> </name> ... </info> ... <property id="google_country_code" concept="geo:country" isMapping="true"/> <data> <table ref="countries_concept"/> </data> </concept>
Estensioni
Le estensioni concettuali sono designate tramite un elemento extends
nella definizione concettuale corrispondente. Le estensioni sono utili per indicare
che un particolare concetto è una sottoclasse di un altro concetto più ampio. La
il concetto esteso eredita tutti gli attributi e le proprietà dell'elemento padre,
e puoi aggiungerne altri.
Ad esempio, il concetto currency
di Google si estende
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>
Leggi la discussione sul concetto nel tutorial per ulteriori spiegazioni ed esempi.
Invio del set di dati
Per inviare il tuo set di dati a Google Public Data Explorer, segui questi passaggi: istruzioni:
- Crea una directory.
- Salva il file dspl del set di dati nella directory che hai creato. Assicurati di usa l'estensione .xml.
- Salva tutti i file .csv locali nella stessa directory. I file di dati a cui viene fatto riferimento tramite gli URL.
- Comprimi la directory.
- Carica il tuo set di dati in Google Public Data Spazio di esplorazione.
Dopo aver caricato e convalidato il set di dati, puoi testarlo dopo averlo firmato al tuo Account Google. Non verrà pubblicato finché non avrai selezionato e dirci che è pronto.