DSPL signifie Dataset Publishing Language. Il s'agit d'un format de représentation à la fois pour les métadonnées (informations sur l'ensemble de données, telles que son nom et son fournisseur, ainsi que les concepts qu'il contient et affiche) et pour ses données réelles. Les ensembles de données décrits dans ce format peuvent être importés dans l'Explorateur de données publiques Google, un outil permettant une exploration visuelle riche des données.
Remarque : Pour importer des données dans Google Public Data à l'aide de l'outil d'importation de données publiques, vous devez disposer d'un compte Google.
Ce document est destiné aux propriétaires de données qui souhaitent que leur contenu soit disponible dans Public Data Explorer. Il va au-delà du tutoriel en découvrant en détail le schéma DSPL et les fonctionnalités compatibles. Il ne nécessite qu'une connaissance de base du langage XML, même si la connaissance des bases de données relationnelles est également utile.
Bien que cela ne soit pas obligatoire, nous vous suggérons de lire le tutoriel, qui est plus court et plus facile à assimiler, avant de consulter ce document.
Présentation
Un ensemble de données DSPL est un fichier ZIP qui contient un fichier XML et un ensemble de fichiers CSV. Les fichiers CSV sont de simples tables contenant les données de l'ensemble de données, tandis que le fichier XML décrit les métadonnées de cet ensemble. Le second inclut des métadonnées d'information telles que des descriptions des mesures, ainsi que des métadonnées structurelles comme les références entre les tables. Ces métadonnées permettent aux utilisateurs non expérimentés d'explorer et de visualiser vos données.
Traiter
En général, le processus de création d'un ensemble de données DSPL est le suivant (certaines étapes peuvent se produire en parallèle):
- Créez votre fichier XML DSPL.
- Identifiez les sources de données externes à utiliser dans votre ensemble de données.
- Définissez vos concepts, vos segments et (éventuellement) des thèmes. Mettez à jour le contenu de votre fichier DSPL de manière itérative.
- Exportez vos données sources dans des fichiers .csv.
- Créez un ensemble de données DSPL.
- Envoyez l'ensemble de données à Google.
Structure XML
Présentation
Le fichier XML DSPL définit les métadonnées de l'ensemble de données, y compris les relations structurelles entre les concepts, les tranches, les sujets et les tables. Bien qu'il soit possible de créer ce fichier manuellement, les outils de traitement de données et les scripts peuvent grandement simplifier le processus. Voir un exemple de fichier DSPL dans une nouvelle fenêtre
Le fichier comprend plusieurs sections, qui sont résumées dans le tableau ci-dessous. À la suite du tableau, nous décrivons chacun d'eux plus en détail.
Section | Synthèse | Plus d'infos |
---|---|---|
En-tête et importations | Parent pour tous les autres éléments de l'ensemble de données. Inclut l'espace de noms cible (c'est-à-dire l'identifiant) de l'ensemble de données, ainsi que les espaces de noms des ensembles de données importés. | Documentation |
Informations sur les ensembles de données | Nom, description et URL de l'ensemble de données. | Documentation |
Informations sur le Fournisseur | Nom, description et URL du fournisseur de l'ensemble de données. | Documentation |
Concepts |
Définitions des "choses" qui apparaissent dans l'ensemble de données (ex. pays, taux de chômage, sexe, etc. Chaque concept possède un identifiant unique, qui peut être référencé par des tranches et des tables. |
Documentation |
Tranches |
Combinaisons de concepts pour lesquels il existe des données statistiques dans l'ensemble de données. Chaque tranche contient des dimensions et des métriques. Les secteurs font référence aux concepts et aux tables, qui contiennent les données réelles. Chaque tranche possède un identifiant unique qui peut être référencé par les tables contenant les données réelles. |
Documentation |
Tables | Définissez les données pour des concepts et des secteurs. Les tables de concepts contiennent des énumérations et les tables de tranches contiennent des données statistiques. Les tables sont définies dans le fichier XML et pointent vers des fichiers .csv contenant les données réelles. | Documentation |
Thèmes | Catégories permettant d'organiser les concepts de l'ensemble de données Bien que cela ne soit pas obligatoire, ces données peuvent être très utiles pour les utilisateurs qui consultent vos données. | Documentation |
En-tête et importations
Déclarer l'espace de noms de données publiques
Un ensemble de données DSPL commence par un élément <dspl>
de premier niveau.
Cela permet de délimiter toutes les informations de l'ensemble de données et d'indiquer tous les espaces de noms qui seront utilisés dans le fichier. Exemple:
<?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>
Un espace de noms est un identifiant unique qui peut être associé à un schéma XML (ensemble d'éléments et d'attributs XML). targetNamespace
fournit un URI qui identifie votre ensemble de données.
Cet URI n'est pas obligatoire pour pointer vers une ressource réelle, mais il est judicieux de faire pointer l'URI vers un document décrivant votre contenu ou votre ensemble de données.
Vous n'êtes pas obligé de fournir un targetNamespace
. Si vous ne le faites pas, un élément sera généré automatiquement pour vous au moment de l'importation.
L'attribut targetNamespace
est suivi d'une série d'attributs xmlns
spécifiant les autres schémas XML qui seront utilisés dans le fichier. Chaque fichier DSPL doit inclure le schéma Google Public Data, dont l'URI est "http://schemas.google.com/dspl/2010", et l'utiliser comme espace de noms par défaut. Il doit également inclure le schéma XML W3 standard identifié par "http://www.w3.org/2001/XMLSchema-instance". Comme décrit dans la section suivante, d'autres espaces de noms peuvent être ajoutés pour inclure des informations provenant d'autres ensembles de données.
Importer d'autres espaces de noms d'ensembles de données
Les ensembles de données peuvent réutiliser des définitions et des données d'autres ensembles de données. Google, par exemple, fournit un ensemble d'ensembles de données de base qui définissent les concepts couramment utilisés dans les données utilisateur. Par exemple, la plupart des ensembles de données ont besoin d'un concept pour représenter des années. Au lieu de définir un nouveau concept, vous pouvez utiliser le concept d'année de l'ensemble de données "http://www.google.com/publicdata/dataset/time". Pour en savoir plus, consultez la page Concepts canoniques.
Pour utiliser un ensemble de données externe, ajoutez l'élément <import>
au fichier DSPL juste après la déclaration d'espace de noms et indiquez l'espace de données que vous importez, comme suit:
<import namespace="http://www.google.com/publicdata/dataset/google/time"/>
Ajoutez ensuite l'espace de noms importé (dans ce cas, time="http://www.google.com/publicdata/dataset/google/time"
) à la déclaration d'espace de noms en haut du fichier, comme ceci:
<?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"/>
Votre fichier DSPL peut désormais référencer des éléments de l'ensemble de données de temps public Google Data. Répétez ce processus pour chaque ensemble de données que vous souhaitez référencer.
Référencer le contenu dans des ensembles de données externes
Une fois que vous avez importé un autre ensemble de données, vous devez pouvoir référencer des concepts, des tranches et des données à partir de cet ensemble de données. Pour ce faire, vous pouvez utiliser des références au format prefix:other_id
, où prefix
est le préfixe utilisé pour l'espace de noms de l'ensemble de données externe.
Voici un exemple de référence au concept year
de l'ensemble de données time
(décrit ci-dessus):
<slices> <slice id="country_slice"> <dimension concept="country"/> <dimension concept="time:year"/> <metric concept="population"/> <table ref="country_slice_table"/> </slice> ... </slices>
Informations sur l'ensemble de données
L'élément <info>
inclut des informations descriptives sur l'ensemble de données. Vous trouverez ci-dessous un exemple et des informations détaillées sur les éléments XML pertinents.
Exemple
<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>
Éléments
Élément | Obligatoire ? | Description |
---|---|---|
<info> |
Oui | Contient toutes les informations descriptives sur l'ensemble de données. Inclut les éléments enfants <name> , <description> et <url> . |
<name> |
Oui | Enfant de <info> . Inclut l'élément enfant <value> , qui identifie le nom de l'ensemble de données. |
<description> |
Facultative | Enfant de <info> . Inclut l'élément enfant <value> , qui comprend une description textuelle de l'ensemble de données. |
<url> |
Oui | Enfant de <info> . Lien vers une URL avec plus d'informations sur l'ensemble de données. |
Informations sur le fournisseur
L'élément <provider>
répertorie les informations sur le fournisseur de l'ensemble de données. Vous trouverez ci-dessous un exemple et des informations détaillées sur les éléments XML pertinents.
Exemple
<provider> <name> <value>Bureau of Statistics</value> </name> <url> <value>http://www.example.com</value> </url> </provider>
Éléments
Élément | Obligatoire ? | Description |
---|---|---|
<provider> |
Oui | Contient toutes les informations descriptives sur le fournisseur de l'ensemble de données.
Inclut les éléments enfants <name> et <url> . |
<name> |
Facultative | Enfant de <provider> . Inclut l'élément enfant <value> , qui identifie le nom du fournisseur de l'ensemble de données. |
<url> |
Facultative | Enfant de <info> . Lien vers une URL contenant plus d'informations sur le fournisseur de l'ensemble de données. |
Concepts
Description
Chaque ensemble de données contient un ou plusieurs concepts. Un concept est une définition d'un type de données qui apparaît dans un ensemble de données. Un ensemble de données avec des données démographiques, par exemple, peut comprendre les concepts de pays, d'état, de population et d'année. Les valeurs de données correspondant à un concept donné sont appelées instances de ce concept. Les concepts sont généralement décrits dans l'ensemble de données, mais certains d'entre eux (tels que le temps ou l'année) peuvent être décrits dans des ensembles de données externes.
Chaque concept peut avoir une ou plusieurs propriétés. Une propriété est une caractéristique d'une instance de concept stable au fil du temps. Par exemple, le concept de pays peut avoir les propriétés name
, population
et capital
.
Les concepts peuvent également comporter un ou plusieurs attributs. Les attributs fournissent des informations au niveau du concept, et non sur ses instances individuelles. Par exemple, si nous avions un ensemble de données avec un concept de taux de chômage, nous pourrions utiliser un attribut pour indiquer que ce concept est un pourcentage. Un autre exemple d'utilisation courante des attributs consiste à fournir des informations sur les unités.
Exemple
Voici un exemple de concept de pays avec l'ID unique country
et la propriété name
. L'ID de concept peut être utilisé pour référencer le concept à partir de tranches et de tables.
<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>
Description de l'exemple
- Ce code décrit le concept de pays, qui possède l'ID
country
, ainsi que les propriétésname
,continent
etcapital
. - Le concept étend
geo:location
, le concept canonique des emplacements. En étendantgeo:location
,country
hérite de toutes les propriétés et attributs définis par le concept étendu : nom des propriétés, description, URL, latitude et longitude.country
peut redéfinir certains de ces attributs et propriétés, à condition que la définition soit cohérente avec celle fournie par le concept étendu. - L'élément de concept
<info>
décrit les informations clés le concernant. Il s'affiche sur la page de destination de l'ensemble de données dans Public Data Explorer. - L'élément concept
<type>
fait référence au type de contenu. Dans ce cas, il s'agit d'une chaîne, mais cela peut varier. Le concept "Population" serait de typeinteger
. Le concept "Eurovision winner
" pourrait être de type booléen. - Un élément
<property>
décrit chaque propriété du concept, y compris son ID unique (id
),info
ettype
. Les propriétés peuvent également référencer des concepts pour indiquer que leurs valeurs sont des instances valides de ces concepts. -
Le concept fait référence à un tableau de données qui pointe vers le fichier CSV contenant les données réelles. La table de données est référencée comme suit:
<table ref="countries_table"/>
.Si votre concept fait référence à une table, le fichier de données associé doit répertorier toutes les instances du concept. Par exemple, vous ne pouvez pas créer de table ne répertoriant que quelques-uns des pays inclus dans l'ensemble de données. (S'il existe un sous-ensemble de pays qui vous intéressent, vous pouvez créer un concept distinct pour les décrire.) Par exemple,
mycountries
.
Éléments
Élément | Obligatoire ? | Description |
---|---|---|
<concepts> |
Oui | Élément de niveau supérieur. Contient tous les éléments <concept> . |
<concept> |
Oui | Identifie le concept. La valeur de l'attribut obligatoire id doit être unique au concept de l'ensemble de données. Si le concept fait référence à un tableau de données de concept, la valeur de id doit correspondre à l'en-tête de colonne décrivant le concept dans le tableau de données. Vous pouvez utiliser un attribut extends pour indiquer que ce concept étend un autre concept. La valeur de extends doit correspondre à l'ID d'un concept défini dans le même ensemble de données, ou prendre la forme prefix:concept_id , où concept_id est l'ID d'un concept défini dans l'ensemble de données externe importé associé à prefix . |
<info> |
Facultative | Contient des informations descriptives sur le concept. |
<name> |
Oui | Enfant de <info> . Nom du concept. L'élément enfant <value> contient le texte, par exemple Country . |
<description> |
Facultative | Enfant de <info> . Inclut l'élément enfant <value> , qui comprend une description textuelle du concept. |
<url> |
Facultative | Enfant de <info> . Elle inclut l'élément enfant <value> , qui inclut une URL pour le concept. |
<pluralName> |
Facultative | Enfant de <info> . Nom au pluriel du concept. L'élément enfant <value> contient le texte, par exemple Countries . |
<totalName> |
Facultative | Enfant de <info> . Nom de la combinaison de toutes les instances du concept. L'élément enfant <value> contient le texte (dans le cas d'un concept country ). Par exemple, il peut s'agir de World . |
<type> |
Facultative |
Identifie le type de contenu décrit par le concept. Les valeurs autorisées pour l'attribut obligatoire ref sont les suivantes :
|
<property> |
Facultative |
Propriété du concept, telle que Une propriété peut contenir un attribut booléen Une propriété peut contenir un attribut booléen Une propriété peut spécifier des éléments |
<attribute> |
Facultative |
Attribut du concept. Les attributs représentent des informations supplémentaires sur le concept (par exemple, PIB en pourcentage). La valeur de l'attribut obligatoire Un attribut peut spécifier des éléments |
<table> |
Facultative | Identifie le tableau de données contenant des données pour le concept. La valeur de l'attribut obligatoire ref doit correspondre à l'ID de table spécifié dans l'élément <table> associé. |
Segments d'application
Description
Une tranche est une combinaison de concepts pour lesquels des données existent. Une tranche contient deux types de références de concept : les dimensions et les métriques. Une dimension est un concept utilisé pour segmenter ou filtrer vos données. En revanche, une métrique décrit la ou les valeurs observées associées à chaque point de données.
En règle générale, les dimensions sont catégorielles, tandis que les métriques sont des valeurs numériques non catégoriques qui varient dans le temps. Voici quelques exemples prototypiques de chacun d'eux:
- Dimensions: pays, État, comté, région, année, mois, sexe, catégorie d'âge, segment sectoriel
- Métriques : Population, PIB, taux de chômage, niveau d'alphabétisation, revenus, coût, prix
Exemple
<slices> <slice id="country_slice"> <dimension concept="country"/> <dimension concept="time:year"/> <metric concept="population"/> <table ref="country_slice_table"/> </slice> ... </slices>
Description de l'exemple
- Cette tranche représente la population par pays.
- Il a les métriques
population
,country
etyear
. Chaque dimension est un concept déjà défini ailleurs. Le conceptcountry
et la métriquepopulation
existent dans le même ensemble de données que la tranche actuelle, et sont référencés comme suit:concept="country"
- Le concept
year
existe à l'heure de l'ensemble de données importé, identifié par le préfixe utilisé avant le nom du concept (year
), comme ceci :concept="time:year"
- La tranche fait référence à un tableau de données qui pointe vers le fichier CSV contenant les données réelles. La table de données est référencée comme suit :
<table ref="country_slice_table"/>
. (Voir ci-dessus pour en savoir plus sur l'importation d'ensembles de données.)
Remarque : En général, votre ensemble de données sera plus flexible si vous réduisez au minimum les métriques et créez à la place des dimensions significatives. Par exemple, au lieu de créer les métriques Female Unemployment
et Male Unemployment
, créez la métrique unique Unemployment
, puis ajoutez la dimension Gender
qui contient les instances Female
et Male
.
Éléments
Élément | Obligatoire ? | Description |
---|---|---|
<slices> |
Oui | Élément de niveau supérieur. Contient tous les éléments <slice> . |
<slice> |
Facultative | Identifie la tranche. La valeur de l'attribut obligatoire id doit être unique à la tranche. |
<dimension> |
Facultative | Définit une dimension de la tranche en faisant référence à un concept. La valeur de l'attribut obligatoire concept doit correspondre exactement à l'ID unique du concept et utiliser un préfixe valide si le concept appartient à un ensemble de données importé externe. |
<metric> |
Facultative | Définit une métrique de la tranche en faisant référence à un concept. La valeur de l'attribut obligatoire concept doit correspondre exactement à l'ID unique du concept et utiliser un préfixe valide si le concept appartient à un ensemble de données importé externe. |
<table> |
Oui | Identifie le tableau de données contenant les données de la tranche. La valeur de l'attribut obligatoire ref doit correspondre à l'ID de table spécifié dans l'élément <table> associé. |
<mapDimension> |
Facultative | Enfant de <table> . Contient les attributs
concept et toColumn . La valeur de la première correspond à une dimension de la tranche, et la valeur de la seconde correspond à la colonne de table correspondant à la première. |
<mapMetric> |
Facultative | Enfant de <table> . Contient les attributs
concept et toColumn . La valeur de la première correspond à une métrique de la tranche, et la valeur de la seconde correspond à la colonne de table correspondant à la première. |
Tableaux
Description
La section tables
du fichier DSPL identifie les tables de données incluses dans l'ensemble de données. Ces tables peuvent être référencées par concepts ou par tranches. Chaque élément <table>
spécifie les colonnes des tables et leurs types, et pointe vers un fichier CSV contenant les données de la table.
Exemple
<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>
Description de l'exemple
- Cet exemple décrit la table
country_slice_table
. La table contient les colonnescountry
,year
etpopulation
. - Chaque colonne de la table possède un identifiant unique, défini par l'attribut
id
. Cet identifiant doit correspondre exactement à l'en-tête de colonne approprié dans le fichier de données associé. - La valeur de l'attribut facultatif
type
définit le type de données pour chaque colonne. - L'élément
<data>
décrit le fichier .csv réel (country_slice.csv) contenant les données de la table. Le format de fichier est toujourscsv
.
Éléments
Élément | Obligatoire ? | Description |
---|---|---|
<tables> |
Oui | Élément de niveau supérieur. Contient tous les éléments <table> . |
<table> |
Oui | Identifie la table. La valeur de l'attribut obligatoire id doit être unique à la table. |
<column> |
Facultative |
Enfant de <table> . Informations sur une colonne incluse dans le tableau. Inclut les attributs suivants :
|
<data> |
Facultative | Enfant de <table> . Fichier de données référencé par la table. Si le nom du fichier se présente sous la forme d'une URL (par exemple, http://... ), le fichier sera récupéré via le protocole approprié (HTTP, HTTPS ou FTP). Sinon, un fichier portant ce nom doit être groupé avec l'ensemble de données.
La valeur de l'attribut obligatoire format est toujours csv . Bien que l'attribut encoding soit facultatif, vos fichiers .csv doivent être encodés en UTF-8. |
Rubriques
Description
Les sujets classent les concepts de manière hiérarchique afin que les utilisateurs puissent parcourir votre ensemble de données plus facilement.
L'élément <topics>
doit apparaître juste avant l'élément <concepts>
dans votre fichier DSPL. (L'ordre des éléments est important, et vous ne pourrez peut-être pas importer votre ensemble de données si ceux-ci n'apparaissent pas dans le bon ordre.) Pour utiliser des sujets, référencez-les depuis la définition du concept.
Exemple
Voici un exemple de définition de sujet:
<topics> <topic id="population_indicators"> <info> <name> <value>Population indicators</value> </name> </info> </topic> ... </topics>
...et voici un exemple de référence à ce sujet à partir d'un concept:
<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>
Les sujets peuvent être imbriqués, et un concept peut faire référence à plusieurs sujets.
Définition de l'élément
Élément | Obligatoire ? | Description |
---|---|---|
<topics> |
Oui | Élément de niveau supérieur. Contient tous les éléments <topic> . |
<topic> |
Oui | Identifie le sujet. La valeur de l'attribut obligatoire id doit être unique à l'ensemble de données. |
<info> |
Facultative | Enfant de <topic> . Contient des informations sur un sujet. |
<name> |
Facultative | Enfant de <info> . Son élément enfant <value> spécifie le nom du sujet. |
Fichiers de données DSPL
Outre le fichier de métadonnées XML, un ensemble de données DSPL peut également inclure un ou plusieurs fichiers de données au format CSV. Chaque fichier de données accepte une table de l'ensemble de données et est référencé dans l'ancienne version dans la section <data>...</data>
. Conceptuellement, ces fichiers et leurs tables associées sont utilisés pour représenter des définitions de concepts ou des données de tranche. Chacun de ces types de fichiers de données est décrit plus en détail ci-dessous.
Notez que, quel que soit leur objectif, tous les fichiers de données doivent être au format texte CSV (UTF-8) délimité par des virgules. Les fichiers ne doivent contenir que du texte brut, pas de code HTML. Vous pouvez créer les fichiers de données manuellement, mais de manière réaliste, vous devrez les manipuler dans l'outil contenant la source de données d'origine (une feuille de calcul, par exemple) ou dans le fichier exporté lui-même.
Les fichiers peuvent être regroupés avec l'ensemble de données ou, si le nom se présente sous la forme d'une URL, et récupérés via HTTP, HTTPS ou FTP à partir d'une source distante.
Fichiers de données de concept
Les fichiers de données conceptuelles contiennent des informations pertinentes sur chaque concept. La définition de concept utilise l'élément <table>
pour faire référence à ce fichier.
Exemple
Voici un exemple de table pour le concept country
défini ci-dessus:
country, name AD, Andorra AF, Afghanistan AI, Anguilla AL, Albania AO, Angola AQ, Antarctica AS, American Samoa
Voici comment fonctionne cet exemple:
- Sauf si des mappages sont spécifiés, la première ligne du fichier de données (en-têtes de colonne) doit correspondre exactement à l'ID de concept et aux ID de propriété appropriés du concept auquel les données sont associées. Cependant, l'ordre des colonnes ne doit pas nécessairement être le même dans le fichier de données et dans la table de concepts. Dans ce cas, la première colonne est associée au concept
country
, et la deuxième colonne est associée à la propriéténame
. - Les colonnes de propriété sont facultatives. Si une propriété ne comporte pas de colonne dans la table, sa valeur est supposée être non définie pour chaque ligne. Par exemple, le tableau ci-dessus omet les colonnes des propriétés
latitude
etlongitude
, de sorte que les pays ne pourront pas être mappés. - Chaque valeur du champ d'ID du concept (dans ce cas,
country
) doit être unique et non vide (un champ vide est un champ ne comportant aucun ou des espaces blancs). - Les valeurs des propriétés qui font référence à d'autres concepts doivent être vides ou correspondre à une valeur valide du concept référencé.
- L'ajout de guillemets entre guillemets est facultatif, sauf s'ils contiennent des virgules, des guillemets doubles ou des caractères de retour à la ligne.
- Échappez les guillemets droits littérals qui apparaissent dans une valeur en la plaçant devant un autre guillemet.
Fichiers de données de secteurs
Les fichiers de données des secteurs contiennent des données pertinentes sur chaque secteur. La définition de tranche utilise l'élément <table ref="...">
pour faire référence à la définition <table>
, qui identifie à son tour ce fichier.
Exemple
Voici un exemple de fichier .csv contenant les données de la tranche population_by_country
décrite ci-dessus:
country, year, population AF, 1960, 9616353 AF, 1961, 9799379 AF, 1962, 9989846 AF, 1963, 10188299
Voici comment fonctionne l'exemple:
- Le champ de métrique est
population
. Les champscountry
etyear
sont des champs de dimensions. - Chaque valeur d'un champ de dimension doit être renseignée. Cela inclut les dimensions temporelles. Les valeurs des champs de métrique peuvent être vides. Une valeur vide est représentée par aucun caractère.
- Chaque titre de colonne qui référence un concept (par exemple, le premier champ de l'exemple ci-dessus) fait référence au concept
country
doit correspondre exactement à l'ID unique du concept dans la définition du concept. - Une combinaison unique de valeurs de dimension (par exemple,
AF, 2000
) ne peut apparaître qu'une seule fois. - Les lignes d'une même série temporelle (c'est-à-dire les lignes qui ont la même combinaison de toutes les valeurs de dimension, à l'exception du temps) doivent être regroupées, bien qu'il soit nécessaire de les trier.
Fonctionnalités avancées
Ensembles de données multilingues
Valeurs XML traduites
Vous pouvez utiliser l'attribut xml:lang
avec chaque élément <value>
de votre fichier DSPL. Cet attribut permet d'indiquer la langue du contenu de l'élément à l'aide des tags de langue W3C standards. Notez que l'utilisation de cette fonctionnalité est facultative. Si aucun attribut xml:lang
n'est inclus, le contenu est supposé être en anglais.
L'exemple suivant montre les extraits d'un ensemble de données en anglais, chinois simplifié, catalan et chinois:
<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>
Propriétés traduites
Dans certains cas, il peut être utile de fournir des traductions qui vont au-delà des métadonnées au niveau du concept et qui s'appliquent en plus (ou à la place) à des instances de concept individuelles. Cela est particulièrement utile lorsque les valeurs d'une propriété de concept (par exemple, le nom) varient selon la langue.
Pour fournir ces valeurs en plusieurs langues, créez une colonne dans le tableau de définition correspondant pour chaque combinaison propriété/langue.
Associez ensuite ces colonnes aux propriétés et langues associées en ajoutant un ensemble d'éléments <mapProperty xml:lang="..."
ref="..." toColumn="...">
à la balise de référence de la table pour le concept.
Voici un exemple qui définit un concept de pays avec des noms en anglais, en espagnol et en français:
<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>
Le fichier CSV pour countries_table
présenterait alors le format suivant:
country,name_en,name_es,name_fr,... ... US,United States of America,Estados Unidos de América,États-Unis d'Amérique,... ...
Concepts mappable
De nombreux concepts (par exemple, le comté, l'État et la ville) comportent des instances correspondant à des emplacements géographiques. DSPL est compatible avec le geocoding de ces instances afin qu'elles puissent être visualisées dans le graphique de carte animé Google Public Data.
Si votre concept est équivalent à celui de pays du monde, d'États ou de comtés des États-Unis, vous pouvez simplement créer un lien vers le concept canonique Google correspondant. Aucun geocoding explicite n'est nécessaire. Pour en savoir plus, consultez le guide des concepts canoniques.
Sinon, vous devez rendre votre concept cartographique. La première étape consiste à le faire s'étendre de geo:location
:
<concept id="..." extends="geo:location"> ... </concept>
Vous devez ensuite ajouter explicitement la latitude et la longitude en tant que propriétés:
<concept id="..." extends="geo:location"> ... <property id="latitude"/> <property id="longitude"/> </concept>
Ces valeurs sont ensuite spécifiées sous forme de colonnes dans la table de données de définition de concept correspondante.
Relations conceptuelles
Les concepts sont souvent liés à d'autres concepts de manière structurée. Par exemple, une instance de continent peut inclure plusieurs instances de pays, qui peuvent elles-mêmes contenir plusieurs instances d'état ou de province. L'encodage de ces relations dans les métadonnées de l'ensemble de données offre des fonctionnalités de visualisation plus riches que ce qu'il serait possible de faire, par exemple pour afficher un arbre réductible des emplacements.
Dans les sections ci-dessous, nous décrivons les relations de concepts acceptées dans le schéma DSPL.
Hiérarchies
Les hiérarchies de concepts sont représentées dans DSPL via l'utilisation d'un attribut isParent="true"
dans une balise <property>
du concept enfant, qui contient des identifiants d'instances du concept parent.
À titre d'exemple, le concept de Google dans le comté des États-Unis se présente comme suit:
<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 table de données de support possède une colonne state
avec le code d'état à deux lettres de chaque comté. Ce type de métadonnées permet à Public Data Explorer d'afficher les États et les comtés sous la forme d'une hiérarchie, une fonctionnalité qui facilite grandement l'exploration pour les utilisateurs.
Notez qu'un concept peut avoir plusieurs enfants, mais pas plus d'un parent.
Mappages
Les mappages de concepts (c'est-à-dire les concepts qui représentent, fondamentalement, la même chose) sont représentés par un attribut isMapping="true"
dans une balise property
du concept mappé.
Spécifier qu'un concept est mappé à un autre permet au premier d'hériter de toutes les propriétés et attributs du second. Par exemple, cette option est utile pour "associer" des concepts géographiques personnels à ceux définis dans l'ensemble de données géographique canonique de 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>
Extensions
Les extensions de concept sont désignées par un élément extends
dans la définition de concept correspondante. Les extensions sont utiles pour indiquer qu'un concept particulier est une sous-classe d'un autre concept plus large. Le concept étendu hérite de tous les attributs et propriétés de son parent, et peut également en ajouter d'autres.
Par exemple, le concept currency
de Google étend 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>
Pour en savoir plus et obtenir des exemples, consultez la discussion sur les extensions de concept dans ce tutoriel.
Envoyer votre ensemble de données
Pour envoyer votre ensemble de données à Google Public Data Explorer, procédez comme suit:
- Créez un répertoire.
- Enregistrez le fichier dspl de l'ensemble de données dans le répertoire que vous avez créé. Assurez-vous d'utiliser l'extension .xml.
- Enregistrez tous les fichiers .csv locaux dans le même répertoire. Les fichiers de données référencés via des URL peuvent être omis.
- Compressez le répertoire.
- Importez votre ensemble de données dans Google Public Data Explorer.
Une fois votre ensemble de données importé et validé, vous pouvez le tester une fois connecté à votre compte Google. Elle ne sera publiée qu'une fois que vous l'aurez vérifiée et que vous nous aurez indiqué qu'elle est prête.