DSPL-Entwicklerleitfaden

DSPL steht für Dataset Publishing Language (Dataset-Veröffentlichungssprache). Es handelt sich um ein Darstellungsformat. für beide Metadaten (Informationen zum Datensatz, z. B. Name und Anbieter sowie die darin enthaltenen und angezeigten Konzepte) und Daten von Datasets. Datasets, die in diesem Format beschrieben werden, können in die Google Public Data Explorer, einem Tool, mit dem Sie den gesamten Daten.

Hinweis: Wenn Sie Daten in Google Public Data hochladen möchten, das Tool zum Hochladen öffentlicher Daten verwenden, benötigen Sie ein Google-Konto.

Dieses Dokument richtet sich an Dateninhaber, die möchten, dass ihre Inhalte die im Public Data Explorer verfügbar sind. Sie gehen über das Tutorial hinaus, indem sie tiefer in die Details des DSPL-Schemas und der unterstützten Funktionen. Nur eine grundlegende Vertrautheit von XML wird angenommen, wobei Kenntnisse über relationale Datenbanken auch nützlich sind.

Es ist zwar keine Voraussetzung, aber wir empfehlen Ihnen, sich die Anleitung durchzulesen. Sie ist kürzer und einfacher zu verstehen, bevor Sie sich dieses Dokument ansehen.

Übersicht

Ein DSPL-Dataset ist eine ZIP-Datei, die eine XML-Datei und eine Reihe von CSV-Dateien Dateien. Die CSV-Dateien sind einfache Tabellen, die die Daten des Datasets enthalten, während die XML-Datei die Metadaten des Datasets beschreibt. Letzteres beinhaltet Informationsmetadaten wie Beschreibungen von Messgrößen sowie strukturelle Metadaten wie Referenzen zwischen Tabellen. Diese Metadaten können auch unerfahrene Nutzende Ihre Daten untersuchen und visualisieren.

Prozess

Im Allgemeinen gehen Sie zum Erstellen eines DSPL-Datasets folgendermaßen vor (einige Schritte können parallel ablaufen):

  1. Erstellen Sie Ihre DSPL-XML-Datei.
  2. Identifizieren Sie alle externen Datenquellen, die Sie in Ihrem Dataset verwenden möchten.
  3. Definieren Sie Ihre Konzepte, Segmente und (optional) Themen. Iterativ aktualisieren Sie den Inhalt Ihrer DSPL-Datei.
  4. Exportieren Sie die Quelldaten in CSV-Dateien.
  5. Erstellen Sie ein DSPL-Dataset.
  6. Senden Sie das Dataset an Google.

XML-Struktur

Übersicht

Die DSPL-XML-Datei definiert die Metadaten des Datasets, einschließlich strukturelle Beziehungen zwischen Konzepten, Slices, Themen und Tabellen. Obwohl es möglich ist, diese Datei manuell zu erstellen, und Skripts können den Prozess erheblich vereinfachen. Beispiel einer DSPL-Datei in einem neuen .

Die Datei enthält eine Reihe von Abschnitten, die in der Tabelle zusammengefasst sind. unten. Im Anschluss an die Tabelle werden die einzelnen Details.

Abschnitt Zusammenfassung Weitere Informationen
Header und Importe Das übergeordnete Element für alle anderen Elemente des Datasets. Enthält die Ziel-Namespace (d.h. Kennung) für das Dataset zusammen mit dem Namespaces aller 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 angezeigt werden (z.B. Länder, Arbeitslosenquote, Geschlecht usw.)

Jedes Konzept hat eine eindeutige Kennung, auf die von Segmente und Tabellen.

Dokumentation
Segmente

Kombinationen von Konzepten, für die in der Tabelle statistische Daten vorhanden sind. Dataset. Jedes Segment enthält Dimensionen und Messwerte.

Slices verweisen auf Konzepte und auch Tabellen, die die tatsächlichen Daten. Jedes Segment hat eine eindeutige Kennung, auf die vom Tabellen mit den tatsächlichen Daten.

Dokumentation
Tabellen Definieren Sie die Daten für Konzepte und Segmente. Konzepttabellen enthalten Aufzählungen und Slice-Tabellen enthalten statistische Daten. Tabellen sind definiert in der XML-Datei und verweisen Sie auf CSV-Dateien, die die tatsächlichen Daten enthalten. Dokumentation
Themen Kategorien zum Organisieren von Dataset-Konzepten. Diese sind zwar nicht erforderlich, kann sehr hilfreich für Nutzende sein, die in Ihren Daten navigieren. Dokumentation

Header und Importe

Public Data-Namespace deklarieren

Ein DSPL-Dataset beginnt mit einem übergeordneten <dspl>-Element. Dieser wird verwendet, um alle Dataset-Informationen einzuschließen und um etwaige Namespaces, die in der gesamten Datei verwendet werden. Hier ein 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 Namespace zugeordnet werden kann. XML-Schema (eine Reihe von XML-Elementen und -Attributen). Die targetNamespace stellt einen URI bereit, der das Dataset identifiziert. Dieser URI muss nicht auf eine tatsächliche Ressource verweisen, ist aber eine gute Lösung. dass der URI zu einem Dokument führt, in dem Ihr Content beschrieben wird, oder Dataset.

Sie müssen keine targetNamespace angeben. Wenn Sie Andernfalls wird beim Import automatisch eine ID generiert. .

Auf das Attribut targetNamespace folgt eine Reihe von xmlns-Attribute, die andere zu verwendende XML-Schemas angeben in der Datei. Jede DSPL-Datei muss das Google Public Data-Schema, deren URI "http://schemas.google.com/dspl/2010" lautet und verwenden sie als Standard-Namespace. Außerdem sollte sie das W3-Standard-XML-Schema enthalten. identifiziert durch "http://www.w3.org/2001/XMLSchema-instance". Als wie im nächsten Abschnitt beschrieben, können Sie weitere Namespaces hinzufügen, Daten aus anderen Datasets.

Andere Dataset-Namespaces importieren

Datasets können Definitionen und Daten aus anderen Datasets wiederverwenden. Google für bietet eine Reihe von grundlegenden Datasets, mit denen Konzepte häufig definiert werden. die in den Nutzerdaten erscheinen. Die meisten Datasets benötigen beispielsweise ein Konzept, Jahre darstellen. Anstatt ein neues Konzept zu definieren, können Sie das Jahr Konzept aus "http://www.google.com/publicdata/dataset/time" Dataset. In der Canonical- finden Sie auf der Seite „Konzepte“ weitere Informationen.

Um ein externes Dataset zu verwenden, fügen Sie das Element <import> direkt nach der Namespace-Deklaration in der DSPL-Datei Datenraum, den Sie importieren:

<import namespace="http://www.google.com/publicdata/dataset/google/time"/>

Fügen Sie dann den importierten Namespace hinzu (in diesem Fall time="http://www.google.com/publicdata/dataset/google/time") in die Namespace-Deklaration oben in Ihrer Datei ein:

<?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 den Google Public Data verweisen. Zeit-Dataset. Wiederholen für jedes Dataset, auf das Sie verweisen möchten.

Auf Inhalte in externen Datasets verweisen

Nachdem Sie ein weiteres Dataset importiert haben, müssen Sie in der Lage sein, Konzepte, Slice und Daten aus diesem Dataset. Dazu können Sie Referenzen des Formats prefix:other_id, wobei prefix ist das Präfix, das für den Namespace des externen Datasets.

Hier ist ein Beispiel für einen Verweis auf das Konzept year von das 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 eine Beschreibung über das Dataset. Ein Beispiel und Details zu den relevanten XML-Elementen sind (siehe 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? 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> für den Namen des Dataset.
<description> Optional Untergeordnet unter <info>. Enthält das untergeordnete Element <value> mit einer Textbeschreibung des Dataset.
<url> Ja Untergeordnet unter <info>. Ein Link zu einer URL mit weiteren Informationen über das Dataset.

Informationen zum Anbieter

Das Element <provider> listet Informationen zum Dataset-Anbieter. Ein Beispiel und Details zu den relevanten XML-Elementen sind (siehe unten).

Beispiel

<provider>
  <name>
    <value>Bureau of Statistics</value>
  </name>
  <url>
    <value>http://www.example.com</value>
  </url>
</provider>

Elemente

Element Erforderlich? 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>: Gibt den Namen des Datasets an Dienstanbieter.
<url> Optional Untergeordnet unter <info>. Ein Link zu einer URL mit weiteren Informationen zum Dataset-Anbieter.

Konzepte

Beschreibung

Jedes Dataset enthält ein oder mehrere Konzepte. Ein Konzept ist ein Definition eines Datentyps, der in einem Dataset angezeigt wird. Ein Dataset mit Daten zur demografischen Bevölkerung könnten beispielsweise die Konzepte Land, Bundesland, Bevölkerung und Jahr. Die Datenwerte, die einer Konzept werden als Instanzen dieses Konzepts bezeichnet. Konzepte sind normalerweise im Dataset beschrieben, aber einige Konzepte (wie Zeit oder Jahr) in externen Datasets beschrieben werden.

Jedes Konzept kann ein oder mehrere Attribute haben. Eine Eigenschaft ist ein Merkmal einer Konzeptinstanz, die im Zeitverlauf stabil ist. Beispiel: könnte das Länderkonzept die Eigenschaften name, population und capital.

Konzepte können auch ein oder mehrere Attribute haben. Attribute bieten Informationen auf Konzeptebene und nicht auf den einzelnen Instanzen. Für Wenn wir z. B. ein Dataset mit dem Konzept der Arbeitslosenquote hätten, könnten wir mithilfe eines Attributs bestimmen, dass es sich bei diesem Konzept um einen Prozentsatz handelt. Ein weiteres Beispiel für die häufige Verwendung von Attributen ist die Angabe von Informationen.

Beispiel

Hier ist ein Beispiel für ein Länderkonzept mit der eindeutigen ID. country und das Attribut name. Die Konzept-ID kann auf das Konzept aus Slices und Tabellen verweist.

<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 Konzept „country“, das die ID enthält. country und die Attribute name continent und capital.
  • Das Konzept erweitert geo:location, das kanonische Konzept für Standorte. Durch Verlängern von geo:location, country übernimmt alle Eigenschaften und Attribute, die durch das erweiterte Konzept definiert wurden: Eigenschaftenname, Beschreibung, URL, Breiten- und Längengrad. Ganz okay dass country einige dieser Attribute neu definiert und Eigenschaften, solange die Definition mit der bereitgestellten übereinstimmt des erweiterten Konzepts durch.
  • Das Konzept <info>-Element beschreibt den Schlüssel Informationen über das Konzept. Dies wird auf der Seite Landingpage im Public Data Explorer.
  • Das Konzept <type>-Element bezieht sich auf den Typ des Inhalte. In diesem Fall ist es ein String, dieser kann aber variieren. Das Konzept Die Bevölkerung hätte den Typ integer. Konzept Eurovision winner könnte den Typ "boolesch" haben.
  • Ein <property>-Element beschreibt jede Eigenschaft der Konzept, einschließlich seiner eindeutigen ID (id), info und type. Properties können auch auf Konzepte verweisen, um angeben, dass ihre Werte gültige Instanzen dieser Konzepte sind.
  • Das Konzept verweist auf eine Datentabelle, die auf zur CSV-Datei mit den tatsächlichen Daten hinzu. Auf die Datentabelle wird verwiesen. Beispiel: <table ref="countries_table"/>.

    Wenn Ihr Konzept auf eine Tabelle verweist, muss die zugehörige Datendatei Folgendes enthalten: alle Instanzen des Konzepts. Sie können beispielsweise keine Tabelle erstellen der nur einige der im Dataset enthaltenen Länder auflistet. (Falls es eine Untergruppe von Ländern darstellt, die für Sie wichtig sind, können Sie Konzept, um sie zu beschreiben. Beispiel: mycountries.)

Elemente

Element Erforderlich? Beschreibung
<concepts> Ja Element der obersten Ebene. Umfasst alle <concept> Elemente.
<concept> Ja Identifiziert das Konzept. Der Wert des erforderlichen Attributs id muss für das Konzept im Dataset eindeutig sein. Wenn verweist das Konzept auf eine Konzeptdatentabelle, id muss mit der Spaltenüberschrift übereinstimmen, die das Konzept in in der Datentabelle. Ein extends-Attribut kann verwendet werden, dass dieses Konzept ein anderes Konzept erweitert. Der Wert von extends muss mit der ID eines Konzepts übereinstimmen, das im selben Konzept definiert ist. oder die Form prefix:concept_id haben, wobei concept_id ist die ID eines Konzepts, das in der importierten externes Dataset, das mit prefix verknüpft ist.
<info> Optional Enthält beschreibende Informationen zum Konzept.
<name> Ja Untergeordnet unter <info>. Der Name des Konzepts. Die untergeordnetes Element <value> enthält den Text - für Beispiel: Country.
<description> Optional Untergeordnet unter <info>. Enthält das untergeordnete Element <value> mit einer Textbeschreibung des Konzept.
<url> Optional Untergeordnet unter <info>. Enthält das untergeordnete Element <value> mit einer URL für das Konzept.
<pluralName> Optional Untergeordnet unter <info>. Der Pluralname für die Konzept. Das untergeordnete Element <value> enthält den Text – z. B. Countries.
<totalName> Optional Untergeordnet unter <info>. Der Name für die Kombination aus alle Instanzen des Konzepts. Das untergeordnete Element <value> enthält den Text – im Fall eines country Konzept verwenden, z. B. World.
<type> Optional Kennzeichnet den durch das Konzept beschriebenen Inhaltstyp. Das erforderliche Das Attribut ref hat die folgenden zulässigen Werte: <ph type="x-smartling-placeholder">
    </ph>
  • String
  • float
  • Ganzzahl
  • Datum
  • boolean
Der Typ kann weggelassen werden, wenn das Konzept ein anderes Konzept erweitert, In diesem Fall wird es aus dem erweiterten Konzept übernommen.
<property> Optional

Eine Eigenschaft des Konzepts, z. B. capital. Der Wert des erforderlichen Attributs id muss eindeutig sein im Konzept. Mit einem optionalen concept-Attribut können geben an, dass die Werte dieser Eigenschaft Instanzen eines bestimmten Konzept. Wenn concept angegeben ist, dann gilt id kann weggelassen werden; sein Wert ist implizit als ID des Konzept (z.B. <property concept="geo:country"/> entspricht <property id="country" concept="geo:country"/>).

Eine Eigenschaft kann ein boolesches isParent-Attribut enthalten, um anzuzeigen, dass die Beziehung zwischen einer Instanz und der Wert dieser Eigenschaft ist hierarchisch.

Eine Eigenschaft kann ein boolesches isMapping-Attribut enthalten, um anzuzeigen, dass es eine 1:1-Zuordnung zwischen den Instanzen des und die Werte der Eigenschaft.

Eine Property kann ein verschachteltes info- und type, die genau wie für ein Konzept definiert sind. type ist erforderlich, wenn das Attribut keinen concept-Attribut und muss dem Typ des Konzept verwendet, wenn dies der Fall ist.

<attribute> Optional

Ein Attribut des Konzepts. Attribute stehen für zusätzliche Informationen zum Konzept (z.B. Das BIP ist ein Prozentsatz). Der Wert des erforderlichen Attributs id muss eindeutig sein im Konzept. Mit einem optionalen concept-Attribut können geben an, dass die Werte dieses Attributs Instanzen eines bestimmten Konzept. Wenn concept angegeben ist, dann gilt id können weggelassen werden. Der Wert ist implizit als die ID des Konzept verwendet. (z. B. mit der <attribute concept="unit:unit"/> entspricht <attribute id="unit" concept="unit:unit"/>.

Ein Attribut kann ein verschachteltes info und type, die genau wie für ein Konzept definiert werden. type ist erforderlich, wenn das Attribut keinen Wert concept-Attribut und muss dem Typ des Konzept verwendet, wenn dies der Fall ist.

<table> Optional Kennzeichnet die Datentabelle, die Daten für das Konzept enthält. Die Der Wert des erforderlichen Attributs ref muss mit der Tabelle übereinstimmen Die im zugehörigen <table>-Element angegebene ID.

Segmente

Beschreibung

Ein Slice ist eine Kombination von Konzepten, für die Daten vorhanden sind. Ein Stück enthält zwei Arten von Konzeptverweisen: Dimensionen und Messwerte. Eine Dimension ist ein Konzept zum Segmentieren oder Filtern Ihre Daten. Eine Metrik hingegen beschreibt den beobachteten Wert oder die mit jedem Datenpunkt verknüpft sind.

Dimensionen sind kategorial, während Messwerte nicht kategorial, zeitvariablen, numerische Werte. Einige prototypische Beispiele folgt:

  • 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 stellt die Bevölkerung nach Land dar.
  • Sie hat den Messwert population und die Dimensionen country und year. Jede Dimension ist ein Konzept, die bereits an anderer Stelle definiert sind. Das Konzept country und der Messwert population sind im selben Dataset wie das aktuelle Slice vorhanden. werden so referenziert: concept="country"
  • Das Konzept year ist in der importierten Dataset-Zeit vorhanden. durch das Präfix identifiziert, das vor dem Konzeptnamen verwendet wird (year), Beispiel: concept="time:year"
  • Das Slice verweist auf eine Datentabelle, die auf die CSV-Datei verweist. der die tatsächlichen Daten enthält. Auf die Datentabelle wird wie folgt verwiesen: <table ref="country_slice_table"/> (Siehe oben finden Sie Informationen zum Datasets)

Hinweis:In der Regel ist Ihr Dataset eher sind flexibel, wenn Sie die Messwerte auf ein Minimum beschränken und stattdessen aussagekräftige Dimensionen. Anstatt z. B. Messwerte zu erstellen, Female Unemployment und Male Unemployment, Erstellen Sie den einzelnen Messwert Unemployment und fügen Sie die Dimension Gender mit den Instanzen Female und Male

Elemente

Element Erforderlich? Beschreibung
<slices> Ja Element der obersten Ebene. Umfasst alle <slice> Elemente.
<slice> Optional Kennzeichnet das Segment. Der Wert des erforderlichen Attributs id muss für das Segment eindeutig sein.
<dimension> Optional Definiert eine Dimension des Slice, indem auf ein Konzept verwiesen wird. Die Der Wert des erforderlichen Attributs concept muss genau übereinstimmen die eindeutige ID des Konzepts und verwenden Sie ein gültiges Präfix, wenn das Konzept zu einem extern importierten Dataset gehört.
<metric> Optional Definiert einen Messwert des Segments durch Verweis auf ein Konzept. Der Wert des erforderlichen Attributs concept muss genau mit dem eindeutige ID des Konzepts. Verwenden Sie ein gültiges Präfix, wenn das Konzept gehört. in ein extern importiertes Dataset.
<table> Ja Kennzeichnet die Datentabelle mit den Daten für das Segment. Der Wert des erforderlichen ref-Attributs muss mit der Tabellen-ID übereinstimmen die im zugehörigen <table>-Element angegeben sind.
<mapDimension> Optional Untergeordnet unter <table>. Enthält die Attribute concept und toColumn. ist der Wert der ersten Dimension im Segment und der Wert der zweiten ist die Tabellenspalte entspricht.
<mapMetric> Optional Untergeordnet unter <table>. Enthält die Attribute concept und toColumn. ist der Wert der ersten ein Messwert im Segment und der Wert der zweiten ist die Tabellenspalte, entspricht.

Tabellen

Beschreibung

Der Abschnitt tables der DSPL-Datei enthält die Daten Tabellen, die im Dataset enthalten sind. Auf diese Tabellen kann von Konzepten oder nach Segment unterteilt. Jedes <table>-Element gibt die Spalten der die Tabellen und ihre Typen und verweist auf eine CSV-Datei mit der Tabelle Daten.

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:

  • In diesem Beispiel wird die Tabelle country_slice_table beschrieben. Die Tabelle enthält die Spalten country, year und population
  • Jede Spalte in der Tabelle hat eine eindeutige ID, die durch den Attribut „id“. Diese ID muss genau mit der entsprechenden Spaltenüberschrift in der zugehörigen Datendatei.
  • Der Wert des optionalen type-Attributs definiert die Daten. für jede Spalte verwenden.
  • Mit dem Element <data> wird die eigentliche CSV-Datei beschrieben. (country_slice.csv) mit den Daten für die Tabelle. Das Dateiformat ist immer csv.

Elemente

Element Erforderlich? Beschreibung
<tables> Ja Element der obersten Ebene. Umfasst alle <table> Elemente.
<table> Ja Kennzeichnet die Tabelle. Der Wert des erforderlichen Attributs id muss in der Tabelle eindeutig sein.
<column> Optional Untergeordnet unter <table>. Informationen zu einer Spalte die in der Tabelle enthalten sind. Enthält die folgenden Attribute: <ph type="x-smartling-placeholder">
    </ph>
  • id (erforderlich): Die ID der Spalte.
  • type (optional): Der Datentyp der Informationen in der angegebenen Spalte ein. Zulässige Werte: string, float, integer, date oder boolean
<data> Optional Untergeordnet unter <table>. Die Datendatei, auf die in in der Tabelle. Wenn der Dateiname in Form einer URL vorliegt (z.B. http://...), wird die Datei über den entsprechendes Protokoll (HTTP, HTTPS oder FTP) Andernfalls wird eine Datei mit diesem Namen mit dem Dataset gebündelt werden. Der Wert des erforderlichen Attributs format lautet immer csv. Obwohl das Attribut encoding optional ist, müssen Ihre CSV-Dateien UTF-8-codiert sein.

Themen

Beschreibung

Mit Topics werden Konzepte hierarchisch klassifiziert, sodass Nutzende durch Ihr Dataset zu durchsuchen.

Das Element <topics> sollte direkt vor dem Tag <concepts>-Element in Ihrer DSPL-Datei. (Die Reihenfolge Elemente wichtig ist, und Sie können Ihr Dataset möglicherweise nicht hochladen, Elemente in der falschen Reihenfolge angezeigt werden.) Die Verwendung von Themen erfolgt über die Konzeptdefinition.

Beispiel

Hier ist ein Beispiel für eine Themendefinition:

<topics>
  <topic id="population_indicators">
    <info>
      <name>
        <value>Population indicators</value>
      </name>
    </info>
  </topic>
  ...
</topics>
  

...und hier ist 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? Beschreibung
<topics> Ja Element der obersten Ebene. Umfasst alle <topic> Elemente.
<topic> Ja Kennzeichnet das Thema. Der Wert des erforderlichen Attributs id muss für das Dataset eindeutig sein.
<info> Optional Untergeordnet unter <topic>. Enthält Informationen zu einer .
<name> Optional Untergeordnet unter <info>. Sein untergeordnetes Element <value> gibt den Namen des Themas an.

DSPL-Datendateien

Zusätzlich zur Metadatendatei kann ein DSPL-Dataset auch Eine oder mehrere Datendateien im CSV-Format enthalten. Jede Datendatei unterstützt eine Tabelle im Dataset und wird in der <data>...</data> Abschnitt. Konzeptionell werden diese Dateien und die zugehörigen Tabellen werden verwendet, um entweder Konzepte oder Datensegmenten zu unterteilen. Jeder dieser Datendateitypen die nachfolgend ausführlicher beschrieben sind.

Unabhängig vom Zweck müssen alle Datendateien CSV-Textdateien im UTF-8-Format. Die Dateien dürfen nur Nur-Text-Dateien enthalten. Text; kein HTML. Sie können die Datendateien manuell erstellen, müssen die Daten entweder im Tool mit den Originaldaten (z.B. eine Tabellenkalkulation) oder in der exportierten Datei selbst.

Dateien können mit dem Datensatz gebündelt werden oder, wenn der Name in Form eines URL, die über HTTP, HTTPS oder FTP von einer Remote-Quelle abgerufen wird.

Konzeptdatendateien

Konzeptdatendateien enthalten relevante Informationen zu jedem Konzept. Die In der Konzeptdefinition wird mit dem Element <table> auf für diese Datei.

Beispiel

Hier ist ein Beispiel für eine Tabelle für das Konzept country wie oben definiert:

country, name
AD, Andorra
AF, Afghanistan
AI, Anguilla
AL, Albania
AO, Angola
AQ, Antarctica
AS, American Samoa

So funktioniert dieses Beispiel:

  • Sofern keine Zuordnungen angegeben sind, wird die erste Zeile der Datendatei (Spalte Überschriften) muss genau mit der Konzept-ID und der entsprechenden Eigenschaft übereinstimmen. IDs des Konzepts, mit dem die Daten verknüpft sind. Die Reihenfolge, in der Spalten müssen in der Datendatei nicht identisch sein Konzepttabelle. In diesem Fall wird die erste Spalte Konzept country und die zweite Spalte ist dem Property name.
  • Die Eigenschaftsspalten sind optional. Wenn eine Eigenschaft keine Spalte hat, in der Tabelle wird angenommen, dass der Wert für jede Zeile nicht definiert ist. Die In der obigen Tabelle wurden beispielsweise Spalten für latitude und longitude-Eigenschaften, 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 entspricht einer mit null oder nur Leerzeichen).
  • Werte für Eigenschaften, die auf andere Konzepte verweisen, müssen entweder leer oder ein gültiger Wert des referenzierten Konzepts sein.
  • Das Einschließen von Werten in doppelte Anführungszeichen ist optional, es sei denn, sie Kommas, doppelte Anführungszeichen oder Zeilenumbruchzeichen enthalten.
  • Ein doppeltes Literal-Anführungszeichen maskieren, das in einem Wert erscheint, indem es diesem vorangestellt wird mit einem weiteren doppelten Anführungszeichen.

Datendateien aufteilen

Slice-Datendateien enthalten relevante Daten für jedes Segment. Das Stück in der Definition das <table ref="...">-Element, finden Sie in der <table>-Definition, die wiederum für diese Datei.

Beispiel

Hier ist ein Beispiel für eine CSV-Datei mit den Daten für die oben beschriebenes population_by_country-Segment:

country, year, population
AF, 1960, 9616353
AF, 1961, 9799379
AF, 1962, 9989846
AF, 1963, 10188299

So funktioniert das Beispiel:

  • Das Messwertfeld ist population. Die Felder country und year sind Dimensionsfelder.
  • Jeder Wert eines Dimensionsfelds darf nicht leer sein. Dazu gehört auch die Zeit, Dimensionen. Werte für Messwertfelder können leer sein. Ein leerer Wert ist durch kein Zeichen dargestellt wird.
  • Jede Spaltenüberschrift, die auf ein Konzept verweist (z. B. die erste des obigen Beispiels auf das Konzept country verweist) muss mit der eindeutigen ID des Konzepts in der Konzeptdefinition übereinstimmt.
  • Eine eindeutige Kombination von Dimensionswerten, z.B. AF, 2000, kann nur einmal vorkommen.
  • Zeilen in derselben Zeitreihe (d.h. Zeilen mit derselben Kombination) aller Dimensionswerte mit Ausnahme der Zeit) müssen gruppiert werden, auch wenn sie nicht anderweitig sortiert werden müssen.

Erweiterte Funktionen

Mehrsprachige Datasets

Übersetzte XML-Werte

Sie können das Attribut xml:lang mit jedem <value>-Element in Ihrer DSPL-Datei. Dieses Attribut gibt die Sprache des Elementinhalts mit dem standard, W3C Sprach-Tags. Die Verwendung dieser Funktion ist optional. Falls nein xml:lang-Attribut enthält, wird angenommen, dass sich der Inhalt in folgender Sprache befindet: Englisch.

Das folgende Beispiel zeigt Ausschnitte eines englischen Datasets, Bulgarisch, Katalanisch und Chinesisch (vereinfacht):

<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 möchten Sie vielleicht Übersetzungen bereitstellen, Metadaten auf Konzeptebene, die zusätzlich (oder stattdessen) zu einzelnen Konzeptinstanzen. Dies ist besonders nützlich, wenn die Werte eines Konzepts (z.B. der Name) je nach Sprache variieren.

Um solche Werte in mehreren Sprachen bereitzustellen, erstellen Sie eine Spalte in die entsprechende Definitionstabelle für jede Kombination aus Eigenschaft und Sprache. Verknüpfen Sie diese Spalten dann mit den zugehörigen Properties und Sprachen, indem Sie der Tabelle eine Reihe von <mapProperty xml:lang="..." ref="..." toColumn="...">-Elementen hinzufügen Referenz-Tag für das Konzept.

Hier ist ein Beispiel, in dem ein Länderkonzept mit Namen auf Englisch definiert wird, Spanisch und Französisch:

<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 enthält dann folgendes Formular:

country,name_en,name_es,name_fr,...
...
US,United States of America,Estados Unidos de América,États-Unis d'Amérique,...
...

Zuordnungsfähige Konzepte

Viele Konzepte (z. B. Landkreis, Bundesstaat und city) haben Instanzen, die geografischen Standorten entsprechen. DSPL unterstützt das Geocoding dieser Instanzen, sodass sie im Animiertes Kartendiagramm von Google Public Data.

Wenn Ihr Konzept äquivalent zu Ländern der Welt, US-Bundesstaaten oder USA ist können Sie einfach eine Verknüpfung zur entsprechenden kanonischen Konzept; kein explizites Geocoding ist erforderlich. Weitere Informationen findest du im Leitfaden zu kanonischen Konzepten. Details.

Wenn nicht, müssen Sie Ihr Konzept zuordnen können. Der erste Schritt besteht darin, Legen Sie sie auf geo:location fest:

<concept id="..." extends="geo:location">
  ...
</concept>

Dann müssen Sie Breiten- und Längengrad explizit als Eigenschaften hinzufügen:

<concept id="..." extends="geo:location">
  ...
  <property id="latitude"/>
  <property id="longitude"/>
</concept>
  

Die Werte dafür werden dann als Spalten in den entsprechenden Konzeptdefinitions-Datentabelle.

Konzeptbeziehungen

Konzepte sind oft auf strukturierte Weise mit anderen Konzepten verbunden. Für Kontinentinstanz kann mehrere Länderinstanzen, die wiederum mehrere Bundesland oder Provinz. Diese Codierung Beziehungen in den Dataset-Metadaten ermöglicht eine umfassendere Visualisierung. Elemente, als dies sonst möglich wäre, z. B. die Darstellung eines minimierbaren Baums. Standorte zur Auswahl stehen.

In den folgenden Abschnitten werden die Konzeptbeziehungen beschrieben, die in das DSPL-Schema.

Hierarchien

Konzepthierarchien werden in DSPL durch die Verwendung eines isParent="true"-Attribut in einer <property>-Tag des untergeordneten Konzepts, das Folgendes enthält: IDs der Instanzen aus dem übergeordneten Konzept.

Das Google-Konzept „US County“ enthält beispielsweise folgendes Formular:

<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 state-Spalte mit den aus zwei Buchstaben bestehende Bundesstaatencode für jeden County. Diese Art von Metadaten ermöglicht es, Public Data Explorer zur Darstellung von Bundesstaaten und Countys als Hierarchie, eine Funktion die das Erkunden viel einfacher macht.

Ein Konzept kann mehrere untergeordnete Elemente, jedoch nur ein untergeordnetes Element haben. Parent ersetzt.

Zuordnungen

Konzeptzuordnungen (d.h. Konzepte, die im Grunde die gleichen Ding) werden durch ein isMapping="true" dargestellt. in einem property-Tag des zugeordneten Konzepts.

Wenn Sie angeben, dass ein Konzept einem anderen Konzept zugeordnet ist, kann das erste Konzept die alle Eigenschaften und Attribute des Letzteren. Neben anderen Anwendungen ist dies nützlich für „Verlinkungen“, persönliche geografische Konzepte mit die im kanonischen geografischen 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 durch ein extends-Element gekennzeichnet in der entsprechenden Konzeptdefinition. Erweiterungen sind nützlich, um dass ein Konzept eine abgeleitete Klasse eines anderen, umfassenderen Konzepts ist. Die erweitertes Konzept alle Attribute und Eigenschaften des übergeordneten und Sie können auch weitere 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>
  

Diskussion zum Konzept ansehen finden Sie weitere Erläuterungen und Beispiele.

Dataset senden

Gehen Sie wie folgt vor, um Ihr Dataset an den Google Public Data Explorer zu senden: Anweisungen:

  1. Erstellen Sie ein Verzeichnis.
  2. Speichern Sie die Dataset-Datei dspl in dem von Ihnen erstellten Verzeichnis. Achten Sie darauf, Verwenden Sie die Erweiterung „.xml“.
  3. Speichern Sie alle lokalen CSV-Dateien im selben Verzeichnis. Datendateien, die URLs, auf die über URLs verwiesen wird, können weggelassen werden.
  4. Komprimieren Sie das Verzeichnis.
  5. Laden Sie Ihr Dataset in Google Public Data hoch. Explorer.

Sobald Ihr Dataset hochgeladen und validiert wurde, können Sie es testen, wenn Sie in deinem Google-Konto anmelden. Sie wird erst veröffentlicht, wenn du überprüft hast und sagen uns, dass sie fertig ist.