Guía para desarrolladores sobre DSPL

DSPL es la sigla en inglés de Dataset Publishing Language. Es un formato de representación tanto para los metadatos (información sobre el conjunto de datos, como su nombre y proveedor, así como los conceptos que contiene y muestra) y datos reales de los conjuntos de datos. Los conjuntos de datos descritos en este formato pueden importar a la página Explorer, una herramienta que permite realizar una exploración visual enriquecida del de datos no estructurados.

Nota: Para subir datos a la sección de datos públicos de Google, sigue estos pasos: con la Herramienta de carga de datos públicos, debe tener una Cuenta de Google.

Este documento está dirigido a los propietarios de datos que deseen que su contenido se disponibles en Public Data Explorer. Para ir más allá del Instructivo, se profundiza en el detalles del esquema DSPL y las funciones compatibles. Solo un conocimiento básico de XML, aunque también es importante conocer bases de datos relacionales útiles.

Aunque no es un requisito, te sugerimos que leas el instructivo, que es más breve y más fáciles de digerir, antes de mirar este documento.

Descripción general

Un conjunto de datos DSPL es un archivo ZIP que contiene un archivo XML y un conjunto de CSV archivos. Los archivos CSV son tablas simples que contienen los datos del conjunto de datos, mientras que el archivo en formato XML describe los metadatos del conjunto de datos. Este último incluye metadatos informativos, como descripciones de medidas, así como metadatos estructurales, como referencias entre tablas. Este metadato permite que los usuarios inexpertos exploren y visualicen tus datos.

Proceso

En general, el proceso de creación de un conjunto de datos DSPL es el siguiente (algunos los pasos pueden realizarse en paralelo):

  1. Crea tu archivo XML DSPL.
  2. Identifica cualquier fuente de datos externa para usar en tu conjunto de datos.
  3. Define tus conceptos, porciones y (opcionalmente) temas. Iterativamente actualizar el contenido de su archivo DSPL
  4. Exporta los datos de origen a archivos .csv.
  5. Crear un conjunto de datos DSPL
  6. Envía el conjunto de datos a Google.

Estructura XML

Descripción general

El archivo XML de DSPL define los metadatos del conjunto de datos, que incluye lo siguiente: relaciones estructurales entre conceptos, porciones, temas y tablas. Aunque es posible crear este archivo manualmente, las herramientas de procesamiento de datos y los guiones pueden optimizar el proceso de forma significativa. Ver un ejemplo de archivo DSPL en una nueva en la ventana modal.

El archivo incluye una serie de secciones, que se resumen en la tabla. a continuación. Siguiendo la tabla, describimos cada uno de los primeros de forma más en detalle.

Sección Resumen Más información
Importaciones y encabezado El elemento superior para todos los demás elementos del conjunto de datos. Incluye el de destino (es decir, identificador) del conjunto de datos, junto con el espacios de nombres de los conjuntos de datos importados. Documentación
Información del conjunto de datos El nombre, la descripción y la URL del conjunto de datos. Documentación
Información del proveedor El nombre, la descripción y la URL del proveedor del conjunto de datos. Documentación
Conceptos

Definiciones de "cosas" que aparecen en el conjunto de datos (p.ej., países, tasa de desempleo, género, etc.)

Cada concepto tiene un identificador único, al que se puede hacer referencia porciones y tablas.

Documentación
Secciones

Se trata de combinaciones de conceptos para los que se dispone de datos estadísticos en la de tu conjunto de datos. Cada porción contiene dimensiones y métricas.

Slices hace referencia a conceptos y también tablas, que contienen los valores de datos no estructurados. Cada porción tiene un identificador único al que puede hacer referencia la tablas que contienen los datos reales.

Documentación
Tablas Define los datos para los conceptos y las porciones. Las tablas de conceptos contienen las enumeraciones y las tablas de porciones contienen datos estadísticos. Las tablas están definidas en el archivo en formato XML y señalan archivos .csv que contienen los datos reales. Documentación
Temas Categorías para organizar conceptos de conjuntos de datos. Si bien no es obligatorio, estos puede ser muy útil para los usuarios que navegan por tus datos. Documentación

Importaciones y encabezado

Declara el espacio de nombres de datos públicos

Un conjunto de datos DSPL comienza con un elemento <dspl> de nivel superior. Esto se usa para encerrar toda la información del conjunto de datos e indicar cualquier espacios de nombres que se usarán en todo el archivo. Por ejemplo:

<?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 espacio de nombres es un identificador único que se puede asociar con un Esquema XML (un conjunto de elementos y atributos XML). El targetNamespace proporciona un URI que identifica tu conjunto de datos. No es necesario que este URI apunte a un recurso real, pero es una buena idea que el URI se resuelva en un documento que describa tu contenido o de tu conjunto de datos.

No es necesario que proporciones un targetNamespace. Si no, entonces se generará automáticamente una para ti al momento de la importación tiempo.

Al atributo targetNamespace le sigue una serie de Atributos xmlns que especifican otros esquemas XML que se usarán en el archivo. Cada archivo DSPL debe incluir el esquema de datos públicos de Google, cuyo URI es "http://schemas.google.com/dspl/2010" y usarla como el espacio de nombres predeterminado. También debe incluir el esquema XML W3 estándar. se identifica mediante “http://www.w3.org/2001/XMLSchema-instance”. Como descritos en la siguiente sección, se pueden agregar otros espacios de nombres para incluir información de otros conjuntos de datos.

Importa otros espacios de nombres de conjuntos de datos

Los conjuntos de datos pueden reutilizar definiciones y datos de otros conjuntos de datos. Google, para proporciona una serie de conjuntos de datos básicos que definen conceptos que aparezcan en los datos del usuario. Por ejemplo, la mayoría de los conjuntos de datos necesitan un concepto para representan años. En lugar de definir un concepto nuevo, puedes usar el año de registro de “http://www.google.com/publicdata/dataset/time” de tu conjunto de datos. Consulta la guía de la página Conceptos para obtener más información.

Para usar un conjunto de datos externo, agrega el elemento <import> a al archivo DSPL justo después de la declaración del espacio de nombres y, luego, se indica el espacio de datos que estás importando de la siguiente manera:

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

Luego, agrega el espacio de nombres importado (en este caso, time="http://www.google.com/publicdata/dataset/google/time") a la declaración del espacio de nombres en la parte superior del archivo, de la siguiente manera:

<?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"/>

Su archivo DSPL ahora puede hacer referencia a elementos de los conjunto de datos de tiempo. Repetir este proceso para cada conjunto de datos al que quieras hacer referencia.

Haz referencia al contenido en conjuntos de datos externos

Una vez que hayas importado otro conjunto de datos, debes poder hacer referencia conceptos, porciones y datos de ese conjunto de datos. Para hacerlo, puedes usar referencias del formato prefix:other_id, en las que prefix es el prefijo que se usa para el espacio de nombres del conjunto de datos externo.

Este es un ejemplo de una referencia al concepto year de Conjunto de datos de time (descrito anteriormente):

<slices>
  <slice id="country_slice">
    <dimension concept="country"/>
    <dimension concept="time:year"/>
    <metric concept="population"/>
    <table ref="country_slice_table"/>
  </slice>
  ...
</slices>

Información del conjunto de datos

El elemento <info> incluye información descriptiva sobre el conjunto de datos. Se incluye un ejemplo y detalles sobre los elementos XML relevantes que se enumeran a continuación.

Ejemplo

<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>

Elementos

Elemento ¿Obligatorio? Descripción
<info> Incluye toda la información descriptiva sobre el conjunto de datos. Incluye los elementos secundarios <name> <description> y <url>.
<name> Secundario de <info>. Incluye el elemento secundario <value>, que identifica el nombre del de tu conjunto de datos.
<description> Opcional Secundario de <info>. Incluye el elemento secundario <value>, que incluye una descripción de texto de la de tu conjunto de datos.
<url> Secundario de <info>. Un vínculo a una URL con más información importante sobre el conjunto de datos.

Información del proveedor

El elemento <provider> enumera información sobre el proveedor de conjuntos de datos. Se incluye un ejemplo y detalles sobre los elementos XML relevantes que se enumeran a continuación.

Ejemplo

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

Elementos

Elemento ¿Obligatorio? Descripción
<provider> Incluye toda la información descriptiva sobre el proveedor del conjunto de datos. Incluye los elementos secundarios <name> y <url>
<name> Opcional Secundario de <provider>. Incluye el elemento secundario <value>, que identifica el nombre del conjunto de datos proveedor.
<url> Opcional Secundario de <info>. Un vínculo a una URL con más información sobre el proveedor del conjunto de datos.

Conceptos

Descripción

Cada conjunto de datos contiene uno o más conceptos. Un concepto es un definición de un tipo de datos que aparece en un conjunto de datos. Un conjunto de datos con los datos demográficos de la población, por ejemplo, podrían tener los conceptos país, estado, población y año. Los valores de datos correspondientes a un un concepto determinado se denominan instancias de ese concepto. Los conceptos son generalmente se describe en el conjunto de datos, pero algunos conceptos (como la hora o el año) puede describirse en conjuntos de datos externos.

Cada concepto puede tener una o más propiedades. Una propiedad es un característico de una instancia de concepto que es estable en el tiempo. Por ejemplo: el concepto de país podría tener las propiedades name population y capital.

Los conceptos también pueden tener uno o más atributos. Los atributos proporcionan información a nivel del concepto, no en sus instancias individuales. Para ejemplo, si tuviéramos un conjunto de datos con un concepto de tasa de desempleo, podríamos usar un atributo para indicar que este concepto es un porcentaje. Otro ejemplo de uso común de los atributos es proporcionar etiquetas información.

Ejemplo

Este es un ejemplo de un concepto de país con el ID único country y la propiedad name. El ID de concepto puede ser que se usa para hacer referencia al concepto a partir de porciones y tablas.

<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>

A continuación, se muestra cómo funciona este ejemplo.

  • Este código describe el concepto de país, que tiene el ID country y las propiedades name, continent y capital.
  • El concepto extiende geo:location, el concepto canónico para de una organización. Extendiendo geo:location, country Hereda todas las propiedades y atributos definidos por el concepto extendido: las propiedades, como el nombre, la descripción, la URL, la latitud y la longitud. Aceptable para que country redefine algunos de estos atributos y propiedades, siempre y cuando la definición sea coherente con la proporcionada por el concepto extendido.
  • El elemento <info> de concepto describe la clave información sobre el concepto. Esto se muestra en el conjunto de datos página de destino del Explorador de datos públicos.
  • El concepto de elemento <type> hace referencia al tipo de contenido. En este caso, se trata de una cadena, pero esto podría variar. El concepto La población tendría el tipo integer. el concepto Eurovision winner podría tener el tipo booleano.
  • Un elemento <property> describe cada propiedad del elemento concepto, incluido su ID único (id), info y type Las propiedades también pueden hacer referencia a conceptos, como indican que sus valores son instancias válidas de esos conceptos.
  • El concepto hace referencia a una tabla de datos que apunta al archivo CSV que contiene los datos reales. Se hace referencia a la tabla de datos de la siguiente manera: <table ref="countries_table"/>.

    Si tu concepto hace referencia a una tabla, el archivo de datos asociado debe enumerar todas las instancias del concepto. No puedes, por ejemplo, crear una tabla que enumera solo algunos de los países incluidos en el conjunto de datos. (Si hay es un subconjunto de países que te interesan, puedes crear un para describirlos. Por ejemplo: mycountries).

Elementos

Elemento ¿Obligatorio? Descripción
<concepts> Elemento de nivel superior. Incluye <concept> o de terceros.
<concept> Identifica el concepto. El valor del atributo obligatorio id debe ser único para el concepto dentro del conjunto de datos. Si el concepto hace referencia a una tabla de datos de conceptos, el valor de id debe coincidir con el encabezado de la columna que describe el concepto en la tabla de datos. Se puede usar un atributo extends para denotar de que este concepto extiende otro concepto. El valor de extends debe coincidir con el ID de un concepto definido en el mismo conjunto de datos, o tener el formato prefix:concept_id, donde concept_id es el ID de un concepto definido en el archivo conjunto de datos externo asociado con prefix.
<info> Opcional Incluye información descriptiva sobre el concepto.
<name> Secundario de <info>. Es el nombre del concepto. El el elemento secundario <value> contiene el texto - for Por ejemplo, Country.
<description> Opcional Secundario de <info>. Incluye el elemento secundario <value>, que incluye una descripción de texto de la concepto.
<url> Opcional Secundario de <info>. Incluye el elemento secundario <value>, que incluye una URL para el concepto.
<pluralName> Opcional Secundario de <info>. El nombre en plural del concepto. El elemento secundario <value> contiene el texto. ; por ejemplo, Countries.
<totalName> Opcional Secundario de <info>. Es el nombre de la combinación de todas las instancias del concepto. El elemento secundario <value> contiene el texto, en el caso de una country por ejemplo, podría ser World.
<type> Opcional Identifica el tipo de contenido que describe el concepto. Los atributos el atributo ref tiene los siguientes valores permitidos:
  • string
  • float
  • integer
  • fecha
  • boolean
El tipo se puede omitir si el concepto extiende otro concepto. en cuyo caso se hereda del concepto extendido.
<property> Opcional

Es una propiedad del concepto, como capital. El valor del atributo obligatorio id debe ser único para el concepto. Se puede usar un atributo opcional concept para lo siguiente: indican que los valores de esta propiedad son instancias de un determinado concepto. Si se especifica concept, entonces id se puede omitir; su valor se define de forma implícita como el ID del concepto al que se hace referencia (p.ej., <property concept="geo:country"/> equivale a <property id="country" concept="geo:country"/>).

Una propiedad puede contener un atributo booleano isParent, para indicar que la relación entre una instancia del concepto y el valor de esta propiedad es jerárquico.

Una propiedad puede contener un atributo booleano isMapping, para indicar que hay una asignación 1-1 entre las instancias de la y los valores de la propiedad.

Una propiedad puede especificar un info anidado y type, que se definen tal como se describen para un concepto. type es obligatorio si la propiedad no especifica un concept y debe coincidir con el tipo de la al que se hace referencia.

<attribute> Opcional

Es un atributo del concepto. Los atributos representan funciones información sobre el concepto (p.ej., el PBI es un porcentaje). El valor del atributo obligatorio id debe ser único para el concepto. Se puede usar un atributo opcional concept para lo siguiente: indican que los valores de este atributo son instancias de un determinado concepto. Si se especifica concept, entonces id puede omitirse. Su valor se define de forma implícita como el ID del al que se hace referencia. (p. ej., <attribute concept="unit:unit"/> equivale a <attribute id="unit" concept="unit:unit"/>

Un atributo puede especificar un elemento info anidado y type, que se definen como para un concepto. type es obligatorio si el atributo no especifica un concept y debe coincidir con el tipo de la al que se hace referencia.

<table> Opcional Identifica la tabla de datos que contiene los datos del concepto. El El valor del atributo ref obligatorio debe coincidir con la tabla Es el ID especificado en el elemento <table> relacionado.

Secciones

Descripción

Una porción es una combinación de conceptos para los que existen datos. Una porción contiene dos tipos de referencias de conceptos: dimensiones y métricas. Una dimensión es un concepto que se usa para segmentar o filtrar tus datos. Una métrica, por otro lado, describe el valor observado o asociados con cada dato.

Por lo general, las dimensiones son categóricas, mientras que las métricas no son categóricas. valores numéricos variables en el tiempo. Algunos ejemplos prototípicos de cada una son sigue:

  • Dimensiones: país, estado, condado, región, año mes, sexo, categoría de edad, segmento de la industria
  • Métricas: Población, PBI, tasa de desempleo, alfabetización, ingresos, costo, precio

Ejemplo

<slices>
  <slice id="country_slice">
    <dimension concept="country"/>
    <dimension concept="time:year"/>
    <metric concept="population"/>
    <table ref="country_slice_table"/>
  </slice>
  ...
</slices>

A continuación, se muestra cómo funciona este ejemplo.

  • Esta porción representa la población por país.
  • Tiene la métrica population y las dimensiones country y year. Cada dimensión es un concepto ya definidos en otra parte. El concepto country y la métrica population existen en el mismo conjunto de datos que la porción actual. se hace referencia a esto de la siguiente manera: concept="country"
  • El concepto year existe en la hora del conjunto de datos importado. Se identifica con el prefijo usado antes del nombre del concepto (year), así: concept="time:year"
  • La porción hace referencia a una tabla de datos que apunta al archivo CSV. que contiene los datos reales. Se hace referencia a la tabla de datos de la siguiente manera: <table ref="country_slice_table"/> (Consulta la sección anterior para obtener información sobre la importación conjuntos de datos).

Nota: En general, tu conjunto de datos será más flexible si mantienes las métricas al mínimo y, en cambio, creas dimensiones. Por ejemplo, en lugar de crear las métricas Female Unemployment y Male Unemployment, Crea la métrica única Unemployment y agrega la dimensión Gender que tiene las instancias Female y Male

Elementos

Elemento ¿Obligatorio? Descripción
<slices> Elemento de nivel superior. Incluye <slice> o de terceros.
<slice> Opcional Identifica la porción. El valor del atributo obligatorio id debe ser único para la porción.
<dimension> Opcional Define una dimensión de la porción con referencia a un concepto. El el valor del atributo obligatorio concept debe coincidir exactamente el ID único del concepto y usa un prefijo válido si el concepto pertenece a un conjunto de datos importado de forma externa.
<metric> Opcional Define una métrica de la porción con referencia a un concepto. El valor del atributo obligatorio concept debe coincidir exactamente con el es el ID único del concepto y usa un prefijo válido si el concepto pertenece a un conjunto de datos importado externo.
<table> Identifica la tabla de datos que contiene los datos de la porción. El valor del atributo ref obligatorio debe coincidir con el ID de la tabla especificado en el elemento <table> relacionado.
<mapDimension> Opcional Secundario de <table>. Contiene los atributos concept y toColumn. el valor del primero es un dimensión en la porción, y el valor de la segunda es la columna de la tabla que se corresponderán con el primero.
<mapMetric> Opcional Secundario de <table>. Contiene los atributos concept y toColumn. el valor del primero es una métrica en la porción y el valor de la segunda es la columna de la tabla que se corresponden con el primero.

Tablas

Descripción

La sección tables del archivo DSPL identifica los datos. incluidas en el conjunto de datos. A estas tablas se les puede hacer referencia por conceptos por porciones. Cada elemento <table> especifica las columnas de las tablas y sus tipos, y apunta a un archivo CSV que contiene la tabla de datos no estructurados.

Ejemplo

<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>

A continuación, se muestra cómo funciona este ejemplo.

  • En esta muestra, se describe la tabla country_slice_table. El tiene las columnas country, year y population
  • Cada columna de la tabla tiene un ID único, definido por el atributo id. Este ID debe coincidir exactamente con el ID encabezado de columna en el archivo de datos asociado.
  • El valor del atributo opcional type define los datos para cada columna.
  • El elemento <data> describe el archivo .csv real. (country_slice.csv) que contiene los datos de la tabla. El formato de archivo es siempre es csv.

Elementos

Elemento ¿Obligatorio? Descripción
<tables> Elemento de nivel superior. Incluye <table> o de terceros.
<table> Identifica la tabla. El valor del atributo obligatorio id debe ser único en la tabla.
<column> Opcional Secundario de <table>. Información sobre una columna incluidos en la tabla. Incluye los siguientes atributos:
  • id (obligatorio): Es el ID de la columna.
  • type (opcional): Es el tipo de datos de la información. en la columna especificada. Los valores permitidos son string, float, integer, date o boolean
<data> Opcional Secundario de <table>. El archivo de datos al que hace referencia la tabla. Si el nombre del archivo tiene la forma de una URL (p.ej., http://...), el archivo se recuperará a través del el protocolo adecuado (HTTP, HTTPS o FTP) De lo contrario, un archivo con este nombre deben agruparse con el conjunto de datos. El valor del atributo obligatorio format es el siguiente: siempre es csv. Aunque el atributo encoding es opcional, los archivos .csv deben estar codificados en UTF-8.

Temas

Descripción

Los temas clasifican conceptos de forma jerárquica, lo que permite a los usuarios navegar a través del conjunto de datos con mayor facilidad.

El elemento <topics> debe aparecer justo antes del <concepts> en tu archivo DSPL. (El orden de es importante, y es posible que no puedas cargar tu conjunto de datos si tu los elementos aparecen en el orden incorrecto). Para usar temas, haz referencia a ellos en el definición de concepto.

Ejemplo

A continuación, se incluye una definición de tema de ejemplo:

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

Y aquí hay una referencia de ejemplo a este tema a partir de un concepto:

<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>

Los temas se pueden anidar y un concepto puede hacer referencia a más de un tema.

Definición del elemento

Elemento ¿Obligatorio? Descripción
<topics> Elemento de nivel superior. Incluye <topic> o de terceros.
<topic> Identifica el tema. El valor del atributo obligatorio id debe ser único en el conjunto de datos.
<info> Opcional Secundario de <topic>. Contiene información sobre un en el tema.
<name> Opcional Secundario de <info>. Su elemento secundario <value> especifica el nombre del tema.

Archivos de datos DSPL

Además del archivo de metadatos XML, un conjunto de datos DSPL también puede incluir uno o más archivos de datos en formato CSV. Cada archivo de datos que admite una tabla en el conjunto de datos, al que se hace referencia desde el primero en su <data>...</data>. Conceptualmente, estos archivos y sus tablas asociadas se usan para representar los conceptos definiciones o fragmentar datos. Cada uno de estos tipos de archivos de datos se describen con más detalle a continuación.

Ten en cuenta que, independientemente del propósito, todos los archivos de datos deben archivos de texto UTF-8 delimitados por comas (CSV). Los archivos solo deben contener texto texto; sin HTML. Puedes crear los archivos de datos manualmente, pero, en realidad, necesitará aplicar datos en la herramienta que contiene los datos originales de origen (por ejemplo, una hoja de cálculo) o en el propio archivo exportado.

Los archivos se pueden agrupar con el conjunto de datos o, si el nombre tiene la forma de URL, recuperada a través de HTTP, HTTPS o FTP desde una fuente remota.

Archivos de datos de conceptos

Los archivos de datos de conceptos contienen información relevante para cada concepto. El definición del concepto usa el elemento <table> para referirse a este archivo.

Ejemplo

Este es un ejemplo de una tabla para el concepto country que se definieron anteriormente:

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

Este ejemplo funciona de la siguiente manera:

  • A menos que se especifiquen asignaciones, la primera línea del archivo de datos (columna encabezados) deben coincidir exactamente con el ID de concepto y la propiedad correspondiente los IDs del concepto con el que se asocian los datos. Sin embargo, el pedido de las columnas no tiene que ser la misma en el archivo de datos y conceptual. En este caso, la primera columna se asocia con el el concepto country y la segunda columna se asocia con el propiedad name.
  • Las columnas de propiedad son opcionales. si una propiedad no tiene una columna en la tabla, se supone que su valor no está definido para cada fila. El tabla anterior, por ejemplo, omite columnas para latitude y longitude, por lo que los países no se podrán mapear.
  • Cada valor del campo de ID del concepto (en este caso, country) debe ser único y no debe estar vacío (un campo vacío es uno con cero o solo caracteres de espacio en blanco).
  • Los valores de propiedades que hacen referencia a otros conceptos deben ser estar vacía o ser un valor válido del concepto al que se hace referencia.
  • Encerrar valores entre comillas dobles es opcional, excepto cuando contienen comas, comillas dobles o caracteres de línea nueva.
  • Escape de una comilla doble literal que aparezca en un valor al precedente con otra comilla doble.

Archivos de datos de Slice

Los archivos de datos de la porción contienen datos relevantes para cada porción. La porción definición usa el elemento <table ref="..."> para consulta la definición <table>, que, a su vez, identifica este archivo.

Ejemplo

Este es un ejemplo de un archivo .csv que contiene los datos de la Porción de population_by_country descrita anteriormente:

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

El ejemplo funciona de la siguiente manera:

  • El campo de métrica es population. Los campos country y year son campos de dimensiones.
  • Ningún valor de un campo de dimensión debe estar vacío. Esto incluye el tiempo dimensiones. Los valores de los campos de métricas pueden estar vacíos. Un valor vacío es sin caracteres.
  • Cada encabezado de columna que hace referencia a un concepto (por ejemplo, el primer encabezado de del ejemplo anterior hace referencia al concepto country) debe debe coincidir exactamente con el ID único del concepto en la definición del concepto.
  • Una combinación única de valores de dimensiones, p.ej., AF, 2000, puede ocurrir una sola vez.
  • Filas de la misma serie temporal (es decir, filas que tienen la misma combinación) de todos los valores de dimensión, excepto el tiempo) deben agruparse, aunque no es necesario ordenar de otra forma.

Funciones avanzadas

Conjuntos de datos en varios idiomas

Valores XML traducidos

Puedes usar el atributo xml:lang con cada <value> en tu archivo DSPL. Este atributo especifica el idioma del contenido del elemento mediante el atributo standard, W3C etiquetas de idioma. Ten en cuenta que el uso de esta función es opcional. si no es así xml:lang, se supone que el contenido está en Inglés.

El siguiente ejemplo muestra fragmentos de un conjunto de datos que está en inglés, Búlgaro, catalán y chino simplificado:

<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>

Propiedades traducidas

En algunos casos, es posible que quieras proporcionar traducciones que vayan más allá metadatos a nivel de concepto, que se aplican además (o en su lugar) a de conceptos de infraestructura. Esto es particularmente útil cuando los valores de un concepto propiedad (p.ej., nombre) varían según el idioma.

Para proporcionar estos valores en varios idiomas, crea una columna en en la tabla de definiciones correspondiente para cada combinación de propiedad/idioma. Luego, vincula estas columnas a sus idiomas y propiedades asociados. Para ello, haz lo siguiente: agregar un conjunto de elementos <mapProperty xml:lang="..." ref="..." toColumn="..."> a la tabla etiqueta de referencia del concepto.

Aquí hay un ejemplo que define un concepto de país con nombres en inglés, español y francés:

<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>

El archivo CSV para countries_table tendría la siguiente información: siguiente formulario:

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

Conceptos asignables

Muchos conceptos (por ejemplo: condado, estado y ciudad) tienen instancias correspondientes a ubicaciones geográficas. DSPL admite la geocodificación de estas instancias para que puedan visualizarse Gráfico de mapa animado de Google Public Data.

Si tu concepto es equivalente a países del mundo, estados de EE.UU. o EE.UU. condados, puedes vincular a la página de la concepto; no se necesita geocodificación explícita. Consulta la Guía de conceptos canónicos para obtener más información más detalles.

De lo contrario, debes hacer que tu concepto se pueda asignar. El primer paso haz que se extienda desde geo:location:

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

Luego, debes agregar la latitud y longitud de forma explícita como propiedades:

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

Los valores para estos luego se especifican como columnas en el de datos de definición de conceptos.

Relaciones de conceptos

Los conceptos suelen relacionarse con otros de forma estructurada. Para una instancia de continente puede incluir varias de un país, que, a su vez, puede contener varios de estado o provincia. Codificar estas en los metadatos del conjunto de datos permite una visualización más completa atributos de los que sería posible de otro modo; p.ej., mostrar un árbol contraíble de ubicaciones para elegir.

En las secciones a continuación, describimos las relaciones de conceptos admitidas el esquema de DSPL.

Jerarquías

Las jerarquías de conceptos se representan en la DSPL mediante el uso de una El atributo isParent="true" en una Etiqueta <property> del concepto secundario, que contiene identificadores de instancias del concepto superior.

Por ejemplo, el concepto de condado de Google de EE.UU. tiene la siguiente formulario:

<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 tabla de datos complementarios tiene una columna state con la el código de estado de dos letras de cada condado. Este tipo de metadatos permite Public Data Explorer para mostrar estados y condados como una jerarquía, un atributo que facilita mucho la exploración a los usuarios.

Ten en cuenta que un concepto puede tener muchos elementos secundarios, pero no más de uno superior.

Asignaciones

Mapeos de conceptos (es decir, conceptos que representan, fundamentalmente, los mismos se representan a través de un isMapping="true" en una etiqueta property del concepto asignado.

Especificar que un concepto se asigna a otro permite que el primero herede todas las propiedades y atributos de los últimos. Entre otras aplicaciones, Esto es útil para "vincular" conceptos geográficos personales con aquellos definidos en el conjunto de datos canónicos de ubicación geográfica 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>
  

Extensiones

Las extensiones de conceptos se designan a través de un elemento extends en la definición del concepto correspondiente. Las extensiones son útiles para indicar que un concepto particular es una subclase de otro concepto más amplio. El del concepto extendido hereda todos los atributos y propiedades de su elemento superior y también puedes agregar otras.

Como ejemplo, el concepto currency de Google extiende 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>
  

Consulta el debate sobre el concepto extensiones en el instructivo para obtener más explicaciones y ejemplos.

Envía tu conjunto de datos

Para enviar tu conjunto de datos a Public Data Explorer de Google, sigue estos instrucciones:

  1. Crea un directorio.
  2. Guarda el archivo dspl del conjunto de datos en el directorio que creaste. Asegúrate de usa la extensión .xml.
  3. Guarda los archivos .csv locales en el mismo directorio. Los archivos de datos que se a las que se hace referencia a través de las URLs.
  4. Comprime el directorio en un archivo ZIP.
  5. Sube tu conjunto de datos a la sección de datos públicos de Google. un profesional de seguridad en la nube.

Una vez que tu conjunto de datos esté subido y validado, puedes probarlo cuando lo firmes. a tu Cuenta de Google. No se publicará hasta que lo verifiques y nos dice que está listo.