DSPL steht für Dataset Publishing Language. Es handelt sich dabei um ein Darstellungsformat für die Metadaten (Informationen zum Dataset, z. B. Name und Anbieter sowie die darin enthaltenen Konzepte und Darstellungen) und für die tatsächlichen Daten von Datasets. In diesem Format beschriebene Datasets können in den Google Public Data Explorer importiert werden, ein Tool, das eine umfassende visuelle Untersuchung der Daten ermöglicht.
Hinweis: Wenn du Daten mit dem Tool zum Hochladen von öffentlichen Daten in Google Public Data hochladen möchtest, benötigst du ein Google-Konto.
Dieses Dokument richtet sich an Dateninhaber, die möchten, dass ihre Inhalte im Public Data Explorer verfügbar sind. Sie geht über das Tutorial hinaus, indem es die Details des DSPL-Schemas und der unterstützten Funktionen genauer erläutert. Dabei wird nur eine grundlegende Vertrautheit mit XML vorausgesetzt, aber auch Kenntnisse über relationale Datenbanken sind hilfreich.
Wir empfehlen Ihnen, die Anleitung zu lesen, die kürzer und leichter zu lesen ist, bevor Sie sich dieses Dokument ansehen. Dies ist jedoch keine Voraussetzung.
Übersicht
Ein DSPL-Dataset ist eine ZIP-Datei, die eine XML-Datei und eine Reihe von CSV-Dateien enthält. Die CSV-Dateien sind einfache Tabellen mit den Daten des Datasets. In der XML-Datei werden dagegen die Metadaten des Datasets beschrieben. Letzteres umfasst Informationsmetadaten wie Beschreibungen von Maßnahmen sowie strukturierte Metadaten wie Verweise zwischen Tabellen. Mithilfe dieser Metadaten können nicht fortgeschrittene Nutzer Ihre Daten untersuchen und visualisieren.
Verarbeiten
Im Allgemeinen läuft das Erstellen eines DSPL-Datasets so ab (einige Schritte können parallel ausgeführt werden):
- Erstellen Sie die DSPL-XML-Datei.
- Identifizieren Sie alle externen Datenquellen, die in Ihrem Dataset verwendet werden sollen.
- Definieren Sie Ihre Konzepte, Segmente und (optional) Themen. Aktualisieren Sie den Inhalt Ihrer DSPL-Datei iterativ.
- Exportieren Sie die Quelldaten in CSV-Dateien.
- Erstellen Sie ein DSPL-Dataset.
- Senden Sie das Dataset an Google.
XML-Struktur
Übersicht
Die DSPL-XML-Datei definiert die Metadaten des Datasets, einschließlich struktureller Beziehungen zwischen Konzepten, Segmenten, Themen und Tabellen. Obwohl es möglich ist, diese Datei manuell zu erstellen, können Datenverarbeitungstools und -skripte den Prozess erheblich optimieren. Beispiel einer DSPL-Datei in einem neuen Fenster ansehen
Die Datei enthält eine Reihe von Abschnitten, die in der folgenden Tabelle zusammengefasst sind. Im Folgenden werden die einzelnen Varianten ausführlicher beschrieben.
Abschnitt | Zusammenfassung | Weitere Informationen |
---|---|---|
Header und Importe | Das übergeordnete Element für alle anderen Elemente des Datasets. Enthält den Ziel-Namespace (d.h. die ID) für das Dataset sowie die Namespaces von importierten Datasets. | Dokumentation |
Dataset-Informationen | Der Name, die Beschreibung und die URL des Datasets. | Dokumentation |
Informationen zum Anbieter | Der Name, die Beschreibung und die URL des Dataset-Anbieters. | Dokumentation |
Konzepte |
Definitionen von „Dingen“, die im Dataset vorkommen (z.B. Ländern, Arbeitslosenquote, Geschlecht usw.) Jedes Konzept hat eine eindeutige Kennung, auf die von Segmenten und Tabellen verwiesen werden kann. |
Dokumentation |
Slices |
Kombinationen von Konzepten, für die statistische Daten im Dataset vorhanden sind. Jedes Segment enthält Dimensionen und Messwerte. Segmente und Referenztabellen, die die tatsächlichen Daten enthalten. Jedes Segment hat eine eindeutige Kennung, auf die von den Tabellen mit den tatsächlichen Daten verwiesen werden kann. |
Dokumentation |
Tabellen | Definieren Sie die Daten für Konzepte und Segmente. Konzepttabellen enthalten Aufzählungen und Segmenttabellen enthalten statistische Daten. Tabellen werden in der XML-Datei definiert und verweisen auf CSV-Dateien, die die tatsächlichen Daten enthalten. | Dokumentation |
Themen | Kategorien zum Organisieren von Dataset-Konzepten. Dies ist zwar nicht erforderlich, kann aber beim Navigieren durch die Daten sehr hilfreich sein. | Dokumentation |
Header und Importe
Namespace für öffentliche Daten deklarieren
Ein DSPL-Dataset beginnt mit dem übergeordneten Element <dspl>
.
Damit werden alle Dataset-Informationen eingeschlossen und alle Namespaces angegeben, die in der Datei verwendet werden. Beispiel:
<?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>
Ein Namespace ist eine eindeutige Kennung, die einem XML-Schema (einer Reihe von XML-Elementen und -Attributen) zugeordnet werden kann. targetNamespace
stellt einen URI zur Identifizierung des Datasets bereit.
Dieser URI muss nicht auf eine tatsächliche Ressource verweisen, es empfiehlt sich jedoch, den URI in ein Dokument auflösen zu lassen, das Ihren Inhalt oder Ihr Dataset beschreibt.
Sie müssen keine targetNamespace
angeben. Falls nicht, wird automatisch eines beim Import generiert.
Auf das Attribut targetNamespace
folgen eine Reihe von xmlns
-Attributen, mit denen andere XML-Schemas angegeben werden, die in der Datei verwendet werden. Jede DSPL-Datei muss das Google Public Data-Schema mit dem URI "http://schemas.google.com/dspl/2010" enthalten und als Standard-Namespace verwenden. Außerdem sollte es das W3-Standard-XML-Schema enthalten, das durch „http://www.w3.org/2001/XMLSchema-instance“ identifiziert wird. Wie im nächsten Abschnitt beschrieben, können weitere Namespaces hinzugefügt werden, um Informationen aus anderen Datasets einzuschließen.
Andere Dataset-Namespaces importieren
Datasets können Definitionen und Daten aus anderen Datasets wiederverwenden. Google bietet beispielsweise eine Reihe von einfachen Datasets, mit denen Sie Konzepte definieren, die häufig in Nutzerdaten vorkommen. Die meisten Datasets benötigen beispielsweise ein Konzept zur Darstellung von Jahren. Anstatt ein neues Konzept zu definieren, können Sie das Jahreskonzept aus dem Dataset „http://www.google.com/publicdata/dataset/time“ verwenden. Weitere Informationen finden Sie auf der Seite Kanonische Konzepte.
Wenn Sie ein externes Dataset verwenden möchten, fügen Sie der DSPL-Datei das Element <import>
direkt nach der Namespace-Deklaration hinzu. Geben Sie dabei den zu importierenden Datenraum an:
<import namespace="http://www.google.com/publicdata/dataset/google/time"/>
Fügen Sie dann den importierten Namespace (in diesem Fall time="http://www.google.com/publicdata/dataset/google/time"
) der Namespace-Deklaration oben in der Datei hinzu:
<?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"/>
Ihre DSPL-Datei kann jetzt auf Elemente aus dem Zeit-Dataset „Google Public Data“ verweisen. Wiederholen Sie diesen Vorgang für jedes Dataset, auf das Sie verweisen möchten.
Inhalte in externen Datasets referenzieren
Nachdem Sie ein anderes Dataset importiert haben, müssen Sie Konzepte, Segmente und Daten dieses Datasets referenzieren können. Dazu können Sie Verweise im Format prefix:other_id
verwenden, wobei prefix
das Präfix ist, das für den Namespace des externen Datasets verwendet wird.
Hier ein Beispiel für einen Verweis auf das Konzept year
aus dem Dataset time
(oben beschrieben):
<slices> <slice id="country_slice"> <dimension concept="country"/> <dimension concept="time:year"/> <metric concept="population"/> <table ref="country_slice_table"/> </slice> ... </slices>
Dataset-Informationen
Das Element <info>
enthält beschreibende Informationen zum Dataset. Ein Beispiel und Details zu den relevanten XML-Elementen finden Sie unten.
Beispiel
<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>
Elemente
Element | Erforderlich/Optional? | Beschreibung |
---|---|---|
<info> |
Ja | Umfasst alle beschreibenden Informationen zum Dataset. Enthält die untergeordneten Elemente <name> , <description> und <url> . |
<name> |
Ja | Untergeordnet unter <info> . Enthält das untergeordnete Element <value> , das den Namen des Datasets identifiziert. |
<description> |
Optional | Untergeordnet unter <info> . Enthält das untergeordnete Element <value> , das eine Textbeschreibung des Datasets enthält. |
<url> |
Ja | Untergeordnet unter <info> . Ein Link zur URL mit weiteren Informationen zum Dataset. |
Anbieterinformationen
Mit dem Element <provider>
werden Informationen zum Dataset-Anbieter aufgelistet. Ein Beispiel und Details zu den relevanten XML-Elementen finden Sie unten.
Beispiel
<provider> <name> <value>Bureau of Statistics</value> </name> <url> <value>http://www.example.com</value> </url> </provider>
Elemente
Element | Erforderlich/Optional? | Beschreibung |
---|---|---|
<provider> |
Ja | Enthält alle beschreibenden Informationen zum Dataset-Anbieter.
Enthält die untergeordneten Elemente <name> und <url> . |
<name> |
Optional | Untergeordnet unter <provider> . Enthält das untergeordnete Element <value> , das den Namen des Dataset-Anbieters angibt. |
<url> |
Optional | Untergeordnet unter <info> . Ein Link zu einer URL mit weiteren Informationen zum Dataset-Anbieter. |
Konzepte
Beschreibung
Jedes Dataset enthält mindestens ein Konzept. Ein Konzept ist eine Definition eines Datentyps, der in einem Dataset angezeigt wird. Ein Dataset mit Daten zur demografischen Bevölkerung könnte beispielsweise die Konzepte Land, Bundesstaat, Bevölkerung und Jahr enthalten. Die Datenwerte, die einem bestimmten Konzept entsprechen, werden als Instanzen dieses Konzepts bezeichnet. Konzepte werden in der Regel im Dataset beschrieben, einige Konzepte (z. B. Zeit oder Jahr) können jedoch in externen Datasets beschrieben werden.
Jedes Konzept kann eine oder mehrere Properties haben. Ein Attribut ist ein Merkmal einer Konzeptinstanz, die im Laufe der Zeit stabil ist. Das Länderkonzept kann beispielsweise die Attribute name
, population
und capital
haben.
Konzepte können auch ein oder mehrere Attribute haben. Attribute bieten Informationen auf Ebene des Konzepts, nicht für einzelne Instanzen. Wenn wir beispielsweise ein Dataset mit dem Konzept der Arbeitslosenquote hätten, könnten wir mit einem Attribut angeben, dass dieses Konzept ein Prozentsatz ist. Ein weiteres Beispiel für die häufige Verwendung von Attributen sind die Bereitstellung von Einheiteninformationen.
Beispiel
Hier ein Beispiel für ein Länderkonzept mit der eindeutigen ID country
und der Property name
. Die Konzept-ID kann zum Verweis auf das Konzept aus Segmenten und Tabellen verwendet werden.
<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>
Erklärung:
- Dieser Code beschreibt das Konzeptland mit der ID
country
und den Propertiesname
,continent
undcapital
. - Das Konzept erweitert
geo:location
, das kanonische Konzept für Standorte. Durch die Erweiterung vongeo:location
übernimmtcountry
alle Attribute und Attribute, die durch das erweiterte Konzept definiert werden: Attributname, Beschreibung, URL, Breiten- und Längengrad.country
kann einige dieser Attribute und Attribute neu definieren, solange die Definition mit der des erweiterten Konzepts übereinstimmt. - Das Konzeptelement
<info>
beschreibt die wichtigsten Informationen zum Konzept. Dies wird auf der Landingpage des Datasets im Public Data Explorer angezeigt. - Das Konzeptelement
<type>
bezieht sich auf den Inhaltstyp. In diesem Fall handelt es sich um einen String, der aber variieren kann. Das Konzept „Population“ hätte den Typinteger
. Das KonzeptEurovision winner
könnte den Typ „boolesch“ haben. - Ein
<property>
-Element beschreibt jedes Attribut des Konzepts, einschließlich seiner eindeutigen ID (id
),info
undtype
. Attribute können auch auf Konzepte verweisen, um anzugeben, dass ihre Werte gültige Instanzen dieser Konzepte sind. -
Das Konzept verweist auf eine Datentabelle, die auf die CSV-Datei mit den tatsächlichen Daten verweist. Auf die Datentabelle wird so verwiesen:
<table ref="countries_table"/>
.Wenn Ihr Konzept auf eine Tabelle verweist, müssen in der zugehörigen Datendatei alle Instanzen des Konzepts aufgeführt sein. Sie können beispielsweise keine Tabelle erstellen, in der nur einige der im Dataset enthaltenen Länder aufgeführt sind. Wenn es für einen Teil der Länder wichtig ist, kannst du auch ein separates Konzept zur Beschreibung dieser Länder erstellen. Beispiel:
mycountries
.
Elemente
Element | Erforderlich/Optional? | Beschreibung |
---|---|---|
<concepts> |
Ja | Element der obersten Ebene. Schließt alle <concept> -Elemente ein. |
<concept> |
Ja | Gibt das Konzept an. Der Wert des erforderlichen Attributs id muss innerhalb des Datasets eindeutig für das Konzept sein. Wenn das Konzept auf eine Konzeptdatentabelle verweist, muss der Wert von id mit der Spaltenüberschrift übereinstimmen, die das Konzept in der Datentabelle beschreibt. Mit dem Attribut extends kann angegeben werden, dass dieses Konzept ein anderes Konzept erweitert. Der Wert von extends muss mit der ID eines im selben Dataset definierten Konzepts übereinstimmen oder das Format prefix:concept_id haben. Dabei ist concept_id die ID eines im importierten externen Dataset definierten Konzepts. |
<info> |
Optional | Enthält beschreibende Informationen zum Konzept. |
<name> |
Ja | Untergeordnet unter <info> . Der Name des Konzepts. Das untergeordnete Element <value> enthält den Text, z. B. Country . |
<description> |
Optional | Untergeordnet unter <info> . Enthält das untergeordnete Element <value> , das eine Textbeschreibung des Konzepts enthält. |
<url> |
Optional | Untergeordnet unter <info> . Enthält das untergeordnete Element <value> , das eine URL für das Konzept enthält. |
<pluralName> |
Optional | Untergeordnet unter <info> . Der Pluralname für das Konzept. Das untergeordnete Element <value> enthält den Text, z. B. Countries . |
<totalName> |
Optional | Untergeordnet unter <info> . Der Name der Kombination aller Instanzen des Konzepts. Das untergeordnete Element <value> enthält den Text. Bei einem country -Konzept kann dies beispielsweise World sein. |
<type> |
Optional |
Gibt die Art des vom Konzept beschriebenen Inhalts an. Das erforderliche Attribut ref hat die folgenden zulässigen Werte:
|
<property> |
Optional |
Eine Eigenschaft des Konzepts, z. B. Ein Attribut kann ein boolesches Ein Attribut kann das boolesche In einer Property können verschachtelte |
<attribute> |
Optional |
Ein Attribut des Konzepts. Attribute stellen zusätzliche Informationen zum Konzept dar (z.B. Das BIP ist ein Prozentsatz.) Der Wert des erforderlichen Attributs In einem Attribut können ein verschachteltes |
<table> |
Optional | Kennzeichnet die Datentabelle mit Daten für das Konzept. Der Wert des erforderlichen Attributs ref muss mit der Tabellen-ID übereinstimmen, die im zugehörigen <table> -Element angegeben ist. |
Segmente
Beschreibung
Ein Segment ist eine Kombination aus Konzepten, für die Daten vorhanden sind. Ein Segment enthält zwei Arten von Verweisen auf Konzepte: Dimensionen und Messwerte. Eine Dimension ist ein Konzept, das zum Segmentieren oder Filtern Ihrer Daten verwendet wird. Ein Messwert beschreibt dagegen den beobachteten Wert oder die Werte, die mit jedem Datenpunkt verknüpft sind.
Im Allgemeinen sind Dimensionen kategorial, während Messwerte keine kategorischen, zeitabhängigen numerischen Werte sind. Beispiele hierfür sind folgende:
- Dimensionen: Land, Bundesland, Landkreis, Region, Jahr, Monat, Geschlecht, Alterskategorie, Branchensegment
- Messwerte: Bevölkerung, BIP, Arbeitslosenquote, Alphabetisierung, Umsatz, Kosten, Preis
Beispiel
<slices> <slice id="country_slice"> <dimension concept="country"/> <dimension concept="time:year"/> <metric concept="population"/> <table ref="country_slice_table"/> </slice> ... </slices>
Erklärung:
- Dieses Segment repräsentiert die Bevölkerung nach Land.
- Sie hat den Messwert
population
sowie die Dimensionencountry
undyear
. Jede Dimension ist ein Konzept, das bereits an anderer Stelle definiert ist. Das Konzeptcountry
und der Messwertpopulation
sind im selben Dataset wie der aktuelle Teil enthalten und werden so referenziert:concept="country"
- Das Konzept
year
ist in der importierten Dataset-Zeit vorhanden und wird durch das Präfix identifiziert, das vor dem Konzeptnamen (year
) verwendet wird. Beispiel:concept="time:year"
- Das Segment verweist auf eine Datentabelle, die auf die CSV-Datei mit den tatsächlichen Daten verweist. Auf die Datentabelle wird so verwiesen:
<table ref="country_slice_table"/>
. Weitere Informationen zum Importieren von Datasets finden Sie oben im Abschnitt .
Hinweis: Im Allgemeinen ist Ihr Dataset flexibler, wenn Sie die Messwerte auf ein Minimum beschränken und stattdessen aussagekräftige Dimensionen erstellen. Erstellen Sie beispielsweise anstelle der Messwerte Female Unemployment
und Male Unemployment
den einzelnen Messwert Unemployment
und fügen Sie die Dimension Gender
mit den Instanzen Female
und Male
hinzu.
Elemente
Element | Erforderlich/Optional? | Beschreibung |
---|---|---|
<slices> |
Ja | Element der obersten Ebene. Schließt alle <slice> -Elemente ein. |
<slice> |
Optional | Identifiziert das Segment Der Wert des erforderlichen Attributs id muss für das Segment eindeutig sein. |
<dimension> |
Optional | Definiert eine Dimension des Segments, indem auf ein Konzept verwiesen wird. Der Wert des erforderlichen Attributs concept muss genau mit der eindeutigen ID des Konzepts übereinstimmen und ein gültiges Präfix verwenden, wenn das Konzept zu einem externen importierten Dataset gehört. |
<metric> |
Optional | Definiert einen Messwert des Segments, indem auf ein Konzept verwiesen wird. Der Wert des erforderlichen Attributs concept muss genau mit der eindeutigen ID des Konzepts übereinstimmen und ein gültiges Präfix verwenden, wenn das Konzept zu einem externen importierten Dataset gehört. |
<table> |
Ja | Kennzeichnet die Datentabelle mit Daten für das Segment. Der Wert des erforderlichen Attributs ref muss mit der Tabellen-ID übereinstimmen, die im zugehörigen <table> -Element angegeben ist. |
<mapDimension> |
Optional | Untergeordnet unter <table> . Enthält die Attribute
concept und toColumn . Der Wert des ersten Attributs ist eine Dimension im Segment, der Wert des zweiten die Tabellenspalte, die dem ersten Wert entspricht. |
<mapMetric> |
Optional | Untergeordnet unter <table> . Enthält die Attribute
concept und toColumn . Der erste Wert ist ein Messwert im Segment und der zweite Wert die Tabellenspalte, die dem ersten Wert entspricht. |
Tabellen
Beschreibung
Der Abschnitt tables
der DSPL-Datei gibt die im Dataset enthaltenen Datentabellen an. Auf diese Tabellen kann anhand von Konzepten oder durch Segmente verwiesen werden. Jedes <table>
-Element gibt die Spalten der Tabellen und deren Typen an und verweist auf eine CSV-Datei mit den Tabellendaten.
Beispiel
<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>
Erklärung:
- Dieses Beispiel beschreibt die Tabelle
country_slice_table
. Die Tabelle hat die Spaltencountry
,year
undpopulation
. - Jede Spalte in der Tabelle hat eine eindeutige ID, die durch das Attribut
id
definiert wird. Diese ID muss genau mit der entsprechenden Spaltenüberschrift in der zugehörigen Datendatei übereinstimmen. - Der Wert des optionalen Attributs
type
definiert den Datentyp für jede Spalte. - Das Element
<data>
beschreibt die tatsächliche CSV-Datei (country_slice.csv), die die Daten für die Tabelle enthält. Das Dateiformat ist immercsv
.
Elemente
Element | Erforderlich/Optional? | Beschreibung |
---|---|---|
<tables> |
Ja | Element der obersten Ebene. Schließt alle <table> -Elemente ein. |
<table> |
Ja | Kennzeichnet die Tabelle. Der Wert des erforderlichen Attributs id muss für die Tabelle eindeutig sein. |
<column> |
Optional |
Untergeordnet unter <table> . Informationen zu einer in der Tabelle enthaltenen Spalte. Enthält die folgenden Attribute:
|
<data> |
Optional | Untergeordnet unter <table> . Die Datendatei, auf die in der Tabelle verwiesen wird. Wenn der Dateiname in Form einer URL vorliegt (z.B. http://... ) verwenden, wird die Datei über das entsprechende Protokoll (HTTP, HTTPS oder FTP) abgerufen. Andernfalls muss eine Datei mit diesem Namen im Dataset gebündelt werden.
Der Wert des erforderlichen Attributs format ist immer csv . Obwohl das encoding -Attribut optional ist, müssen Ihre CSV-Dateien UTF-8-codiert sein. |
Themen
Beschreibung
Mit Themen werden Konzepte hierarchisch klassifiziert, sodass Nutzer einfacher durch Ihr Dataset navigieren können.
Das <topics>
-Element sollte in der DSPL-Datei direkt vor dem <concepts>
-Element angezeigt werden. Die Reihenfolge der Elemente ist wichtig. Sie können das Dataset möglicherweise nicht hochladen, wenn die Elemente in der falschen Reihenfolge angezeigt werden. Verwenden Sie Themen aus der Konzeptdefinition, um Themen zu verwenden.
Beispiel
Hier ein Beispiel für eine Themendefinition:
<topics> <topic id="population_indicators"> <info> <name> <value>Population indicators</value> </name> </info> </topic> ... </topics>
...und hier ein Beispielverweis auf dieses Thema aus einem Konzept:
<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>
Themen können verschachtelt sein und ein Konzept kann auf mehr als ein Thema verweisen.
Element definition
Element | Erforderlich/Optional? | Beschreibung |
---|---|---|
<topics> |
Ja | Element der obersten Ebene. Schließt alle <topic> -Elemente ein. |
<topic> |
Ja | Identifiziert das Thema. Der Wert des erforderlichen Attributs id muss für das Dataset eindeutig sein. |
<info> |
Optional | Untergeordnet unter <topic> . Enthält Informationen zu einem Thema. |
<name> |
Optional | Untergeordnet unter <info> . Das untergeordnete Element <value> gibt den Namen des Themas an. |
DSPL-Datendateien
Zusätzlich zur XML-Datei metadata kann ein DSPL-Dataset auch eine oder mehrere Datendateien im CSV-Format enthalten. Jede Datendatei unterstützt eine Tabelle im Dataset und wird von der ersten im <data>...</data>
-Abschnitt referenziert. Theoretisch werden diese Dateien und die zugehörigen Tabellen entweder für Konzeptdefinitionen oder Segmentdaten verwendet. Jeder dieser Datendateitypen wird unten genauer beschrieben.
Unabhängig vom Zweck müssen alle Datendateien als kommagetrennte UTF-8-Textdateien (CSV) vorliegen. Die Dateien dürfen nur Nur-Text und kein HTML enthalten. Sie können die Datendateien manuell erstellen, müssen aber die Daten entweder im Tool, das die Originaldatenquelle enthält (z.B. eine Tabelle), oder in der exportierten Datei tatsächlich massieren.
Dateien können mit dem Dataset gebündelt sein oder, wenn der Name in Form einer URL vorliegt, über HTTP, HTTPS oder FTP von einer Remote-Quelle abgerufen werden.
Konzeptdatendateien
Konzeptdatendateien enthalten relevante Informationen zu jedem Konzept. In der Konzeptdefinition wird das Element <table>
verwendet, um auf diese Datei zu verweisen.
Beispiel
Hier ein Beispiel für eine Tabelle für das oben definierte country
-Konzept:
country, name AD, Andorra AF, Afghanistan AI, Anguilla AL, Albania AO, Angola AQ, Antarctica AS, American Samoa
So funktioniert dieses Beispiel:
- Wenn keine Zuordnungen angegeben werden, muss die erste Zeile der Datendatei (Spaltenüberschriften) genau mit der Konzept-ID und den entsprechenden Property-IDs des Konzepts übereinstimmen, mit dem die Daten verknüpft sind. Die Reihenfolge der Spalten muss jedoch in der Datendatei und in der Konzepttabelle nicht identisch sein. In diesem Fall wird die erste Spalte mit dem Konzept
country
und die zweite Spalte der Propertyname
zugeordnet. - Die Attributspalten sind optional. Wenn eine Eigenschaft keine Spalte in der Tabelle hat, wird angenommen, dass ihr Wert für jede Zeile undefiniert ist. In der Tabelle oben sind beispielsweise Spalten für die Properties
latitude
undlongitude
ausgelassen, sodass die Länder nicht zugeordnet werden können. - Jeder Wert für das ID-Feld des Konzepts (in diesem Fall
country
) muss eindeutig und nicht leer sein (ein leeres Feld enthält nur Null- oder Leerzeichen). - Werte für Attribute, die auf andere Konzepte verweisen, müssen entweder leer sein oder ein gültiger Wert des referenzierten Konzepts sein.
- Das Einschließen von Werten in doppelte Anführungszeichen ist optional, es sei denn, sie enthalten Kommas, doppelte Anführungszeichen oder Zeilenumbrüche.
- Maskieren Sie ein literales doppeltes Anführungszeichen in einem Wert, indem Sie ihm ein weiteres doppeltes Anführungszeichen voranstellen.
Datendateien teilen
Dateien mit Slice-Daten enthalten relevante Daten für jedes Segment. Die Segmentdefinition verwendet das Element <table ref="...">
, um auf die Definition <table>
zu verweisen, die wiederum diese Datei identifiziert.
Beispiel
Hier ein Beispiel für eine CSV-Datei mit den Daten für das oben beschriebene Segment population_by_country
:
country, year, population AF, 1960, 9616353 AF, 1961, 9799379 AF, 1962, 9989846 AF, 1963, 10188299
So funktioniert das Beispiel:
- Das Messwertfeld ist
population
. Die Feldercountry
undyear
sind Dimensionsfelder. - Jeder Wert eines Dimensionsfelds darf nicht leer sein. Dazu gehören auch Zeitdimensionen. Werte für Messwertfelder können leer sein. Ein leerer Wert wird durch kein Zeichen dargestellt.
- Jede Spaltenüberschrift, die auf ein Konzept verweist (z. B. verweist das erste Feld des Beispiels oben auf das Konzept
country
) muss genau mit der eindeutigen ID des Konzepts in der Konzeptdefinition übereinstimmen. - Eine eindeutige Kombination von Dimensionswerten, z.B.
AF, 2000
, darf nur einmal verwendet werden. - Zeilen in derselben Zeitachse (d.h. Zeilen mit derselben Kombination aus allen Dimensionswerten außer Zeit) müssen gruppiert werden, aber nicht anders sortiert sein.
Erweiterte Funktionen
Datasets in mehreren Sprachen
Übersetzte XML-Werte
Sie können das Attribut xml:lang
mit jedem <value>
-Element in der DSPL-Datei verwenden. Dieses Attribut gibt die Sprache des Inhalts mithilfe der Standard-W3C-Sprach-Tags an. Die Verwendung dieser Funktion ist optional. Wenn kein xml:lang
-Attribut angegeben wird, wird angenommen, dass der Inhalt auf Englisch ist.
Das folgende Beispiel zeigt Snipets eines Datasets, das auf Englisch, Bulgarisch, Katalanisch und Chinesisch (vereinfacht) ist:
<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>
Übersetzte Attribute
In einigen Fällen empfiehlt es sich, Übersetzungen bereitzustellen, die über Metadaten auf Konzeptebene hinausgehen und zusätzlich (oder stattdessen) auf einzelne Konzeptinstanzen angewendet werden. Dies ist besonders nützlich, wenn die Werte einer Konzept-Property (z.B. Name) je nach Sprache variieren.
Wenn Sie diese Werte in mehreren Sprachen angeben möchten, erstellen Sie für jede Property/Sprachkombination eine Spalte in der entsprechenden Definitionstabelle.
Verknüpfen Sie dann diese Spalten mit den zugehörigen Properties und Sprachen, indem Sie dem Tabellen-Referenz-Tag für das Konzept eine Reihe von <mapProperty xml:lang="..."
ref="..." toColumn="...">
-Elementen hinzufügen.
Hier ein Beispiel, das ein Länderkonzept mit Namen in Englisch, Spanisch und Französisch definiert:
<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>
Die CSV-Datei für countries_table
hätte dann das folgende Format:
country,name_en,name_es,name_fr,... ... US,United States of America,Estados Unidos de América,États-Unis d'Amérique,... ...
Kartografierbare Konzepte
Viele Konzepte (z. B. County, State und City) haben Instanzen, die geografischen Standorten entsprechen. DSPL unterstützt das Geocoding dieser Instanzen, damit sie im Google Maps-Diagramm der animierten Karten visuell dargestellt werden können.
Wenn dein Konzept mit Ländern auf der ganzen Welt, US-Bundesstaaten oder -Counties übereinstimmt, kannst du einfach eine Verknüpfung zum entsprechenden Konzept von Google herstellen. Es ist keine explizite Geocodierung erforderlich. Weitere Informationen finden Sie im Leitfaden zu kanonischen Konzepten.
Wenn nicht, müssen Sie Ihr Konzept zuordnungsfähig machen. Der erste Schritt besteht darin, ihn von geo:location
zu verlängern:
<concept id="..." extends="geo:location"> ... </concept>
Anschließend müssen Sie den Längen- und Breitengrad explizit als Eigenschaften hinzufügen:
<concept id="..." extends="geo:location"> ... <property id="latitude"/> <property id="longitude"/> </concept>
Die Werte dafür werden dann in der entsprechenden Datentabelle für Konzeptdefinitionen als Spalten angegeben.
Konzeptbeziehungen
Konzepte werden häufig auf strukturierte Weise mit anderen Konzepten in Zusammenhang gebracht. Eine Kontinentinstanz kann z. B. mehrere länderspezifische Instanzen umfassen, die wiederum mehrere Bundesstaaten- oder Provinzinstanzen enthalten können. Die Codierung dieser Beziehungen in den Dataset-Metadaten ermöglicht umfassendere Visualisierungsfunktionen, als dies sonst möglich wäre, z.B. um eine minimierbare Standortstruktur anzuzeigen.
In den folgenden Abschnitten werden die im DSPL-Schema unterstützten Konzeptbeziehungen beschrieben.
Hierarchien
Konzepthierarchien werden in DSPL durch die Verwendung eines isParent="true"
-Attributs in einem <property>
-Tag des untergeordneten Konzepts dargestellt, das Kennungen der Instanzen aus dem übergeordneten Konzept enthält.
Das Konzept von US County in Google hat beispielsweise das folgende Format:
<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>
Die unterstützende Datentabelle hat eine Spalte state
mit dem aus zwei Buchstaben bestehenden Bundesstaatencode für jeden County. Mit diesem Metadatentyp können im Public Data Explorer Bundesstaaten und Countys als Hierarchie angezeigt werden. Diese Funktion vereinfacht die explorative Datenanalyse für Nutzer.
Ein Konzept kann viele untergeordnete Elemente enthalten, jedoch nicht mehr als ein übergeordnetes Element.
Zuordnungen
Konzeptzuordnungen (d.h. Konzepte, die im Wesentlichen das Gleiche darstellen) werden durch ein isMapping="true"
-Attribut in einem property
-Tag des zugeordneten Konzepts dargestellt.
Wenn Sie ein Konzept einem anderen zuordnen, übernimmt das erste Konzept alle Attribute und Attribute des zweiten. Dies ist unter anderem nützlich, um persönliche geografische Konzepte mit denen zu verknüpfen, die im kanonischen Geo-Dataset von Google definiert sind:
<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>
Erweiterungen
Konzepterweiterungen werden in der entsprechenden Konzeptdefinition über ein extends
-Element bezeichnet. Erweiterungen sind nützlich, um anzugeben, dass ein bestimmtes Konzept eine Unterklasse eines anderen, allgemeineren Konzepts ist. Das erweiterte Konzept übernimmt alle Attribute und Attribute des übergeordneten Elements und kann auch zusätzliche Attribute und Attribute hinzufügen.
Das currency
-Konzept von Google erweitert beispielsweise 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>
Weitere Informationen und Beispiele finden Sie in der Erläuterung zu Konzepterweiterungen.
Dataset einreichen
So reichen Sie Ihr Dataset im Google Public Data Explorer ein:
- Erstellen Sie ein Verzeichnis.
- Speichern Sie die dspl-Datei des Datasets in dem von Ihnen erstellten Verzeichnis. Achten Sie darauf, die XML-Erweiterung zu verwenden.
- Speichern Sie alle lokalen CSV-Dateien im selben Verzeichnis. Datendateien, auf die über URLs verwiesen wird, können ausgelassen werden.
- Komprimieren Sie das Verzeichnis.
- Laden Sie das Dataset in den öffentlichen Daten-Explorer von Google hoch.
Nachdem Ihr Dataset hochgeladen und validiert wurde, können Sie es testen, wenn Sie in Ihrem Google-Konto angemeldet sind. Sie wird erst veröffentlicht, wenn du sie überprüft und uns mitgeteilt hast, dass sie bereit ist.