DSPL デベロッパー ガイド

DSPL は、Dataset Publishing Language の略です。これは表現形式であり、 メタデータ(データセットに関する情報、 その中に含まれるコンセプト)と データセットの実際のデータです。この形式で記述されたデータセットは、 Google Public Data にインポートされた エクスプローラを使用すると、 分析できます

注: Google Public Data にデータをアップロードするには、 公開データ アップロード ツールを使用するには、Google アカウントが必要です。

このドキュメントは、データオーナーが自身のコンテンツを 利用できます。ここでは、チュートリアルだけでなく、 DSPL スキーマとサポートされる機能について詳しく説明します。基本的な知識のみ XML の使用を想定していますが、リレーショナル データベースの知識も 便利です。

必須ではありませんが、チュートリアルに目を通すことをおすすめします。チュートリアルは、 確認してから、このドキュメントを読む前に確認しておいてください。

概要

DSPL データセットは、XML ファイルと CSV セットを含む .zip ファイルです。 できます。CSV ファイルは、データセットのデータを含むシンプルなテーブルです。 XML ファイルにはデータセットのメタデータが記述されます。後者の場合、 情報メタデータ: 情報メタデータ(メジャーの説明など)に加え、 構造メタデータ(テーブル間の参照など)です。このメタデータは を使用すると、専門知識のないユーザーでもデータを探索して可視化できます。

プロセス

一般に、DSPL データセットを作成するプロセスは次のとおりです(一部 複数のステップが並行して行われる場合があります)。

  1. DSPL XML ファイルを作成します。
  2. データセットで使用する外部データソースを特定します。
  3. コンセプト、スライス、(必要に応じて)トピックを定義します。反復的 DSPL ファイルの内容を更新します。
  4. ソースデータを .csv ファイルにエクスポートします。
  5. DSPL データセットを作成する。
  6. データセットを Google に送信する。

XML 構造

概要

DSPL XML ファイルは、以下を含むデータセットのメタデータを定義します。 コンセプト、スライス、トピック、テーブルの構造的な関係性を学習できます。 このファイルは手動で作成することもできますが、 プロセスを大幅に合理化できます新しいドキュメントで DSPL ファイルのサンプルを クリックします

このファイルにはいくつかのセクションが含まれている。それらのセクションを表にまとめている。 ご覧ください表の後に、前者を大まかに説明します。 できます。

セクション 概要 詳細
ヘッダーとインポート データセットの他のすべての要素の親。内容 名前空間(識別子)と、 Namespace があります。 ドキュメント
データセット情報 データセットの名前、説明、URL。 ドキュメント
プロバイダ情報 データセット プロバイダの名前、説明、URL。 ドキュメント
コンセプト

「物」の定義(例: 国、失業率、性別など)

各コンセプトには一意の識別子があり、 分割することもできます

ドキュメント
Slices

統計データがあるコンセプトの組み合わせ 見てみましょう。各スライスには、ディメンション指標

スライスはコンセプトだけでなくテーブルも参照し、 分析できます各スライスには、インスタンスから参照できる一意の識別子があります。 実際のデータを含む.

ドキュメント
テーブル コンセプトとスライスのデータを定義します。コンセプト テーブルの保持 列挙型とスライス テーブルは統計データを保持します。テーブルを定義する 実際のデータを含む .csv ファイルを指定します。 ドキュメント
トピック データセットのコンセプトを整理するためのカテゴリ。必須ではありませんが、 ユーザーがデータを操作するうえで非常に役立ちます。 ドキュメント

ヘッダーとインポート

一般公開データの名前空間を宣言する

DSPL データセットは、最上位の <dspl> 要素で始まります。 これは、すべてのデータセット情報を囲むとともに、任意のデータセットを 使用されます。次に例を示します。

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

Namespace は、プロジェクトに関連付けることができる一意の識別子です。 XML スキーマ(XML 要素と属性のセット)。「 targetNamespace は、データセットを識別する URI です。 この URI は実際のリソースを指定する必要はありませんが、 URI は、コンテンツまたはコンテンツを記述するドキュメントに解決するとよいでしょう。 見てみましょう。

targetNamespace を指定する必要はありません。もし ない場合は、インポート時に自動的に生成されます。 あります。

targetNamespace 属性の後に、 使用される他の XML スキーマを指定する xmlns 属性 あります。すべての DSPL ファイルには、Google Public Data スキーマ、 URI が「http://schemas.google.com/dspl/2010」使用して、 作成されます。標準の W3 XML スキーマも含める必要があります。 "http://www.w3.org/2001/XMLSchema-instance" で識別されます。として 他の Namespace を追加して、その Namespace に 他のデータセットの情報も参照できます。

他のデータセットの名前空間のインポート

データセットは、他のデータセットの定義やデータを再利用できます。Google を さまざまな基本的なデータセットが用意されており、 表示されますたとえば、ほとんどのデータセットには、 年を表します。新しいコンセプトを定義する代わりに、年を使用して "http://www.google.com/publicdata/dataset/time" 見てみましょう。正規化の コンセプトのページをご覧ください。

外部データセットを使用するには、<import> 要素を Namespace 宣言の直後にある DSPL ファイルの 次のように指定します。

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

次に、インポートした名前空間を追加します(この場合は time="http://www.google.com/publicdata/dataset/google/time") 次のように、ファイル上部の Namespace 宣言に追加します。

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

DSPL ファイルで Google Public Data の要素を参照できるようになりました 時間データセット。繰り返し このプロセスを、参照するすべてのデータセットに対して実行します。

外部データセット内のコンテンツの参照

別のデータセットをインポートしたら、 コンセプト、スライス、データが含まれますこれを行うには、 prefix:other_id 形式の参照。ここで prefix は、リソースの名前空間に使用される接頭辞です。 使用します。

以下は、year のコンセプトへの参照の例です。 time データセット(上記を参照):

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

データセット情報

<info> 要素に説明情報を含める 詳しく見ていきます。関連する XML 要素の例と詳細については、以下をご覧ください。 下の一覧をご覧ください。

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

要素

要素 必須 説明
<info> データセットに関するすべての説明情報を含めます。含まれるもの 子要素 <name><description><url>
<name> <info> の子。子要素を含める <value>: プロジェクトの名前、 見てみましょう。
<description> 省略可 <info> の子。子要素を含める <value>: テキストによる説明が含まれます 見てみましょう。
<url> <info> の子。詳細情報を含む URL へのリンク 表示されます。

プロバイダ情報

<provider> 要素は、 設定します。関連する XML 要素の例と詳細については、以下をご覧ください。 下の一覧をご覧ください。

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

要素

要素 必須 説明
<provider> データセット プロバイダに関するすべての説明情報を含めます。 子要素 <name><url>
<name> 省略可 <provider> の子。子要素を含める <value>: データセットの名前を示します。 接続します。
<url> 省略可 <info> の子。詳細情報を含む URL へのリンク プロバイダに関する情報を指定します。

コンセプト

説明

各データセットには、1 つ以上のコンセプトが含まれています。コンセプトとは データセットに含まれるデータタイプの定義。以下を含むデータセット たとえば 人口統計データには 国、州、人口、年などです対応するデータ値は そのコンセプトのインスタンスと呼ばれます。コンセプトは 通常はデータセットで記述されていますが、一部のコンセプト(時間や年など) 外部データセットで記述される場合があります。

各コンセプトには 1 つ以上のプロパティを設定できます。プロパティとは 経時的に安定しているという コンセプトインスタンスの特徴ですたとえば 国のコンセプトには、namepopulationcapital

コンセプトには 1 つ以上の属性を含めることもできます。属性によって、 コンセプトのレベルでのみ情報を確認できます。対象 たとえば失業率の概念を含むデータセットの場合 属性を使用して、このコンセプトが割合で示されるようにすることもできます。 一般的な属性のもう一つの使用例は、 情報です。

一意の ID を持つ国のコンセプトの例 country、プロパティ name。コンセプト ID には スライスとテーブルからコンセプトを参照するために使用します。

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

このサンプルについて解説します。

  • このコードは、コンセプトの国について記述しています。 country、プロパティ namecontinentcapital
  • このコンセプトは、Google Pixel の標準的なコンセプトである geo:location を拡張したものです。 をご覧ください。geo:location を拡張することで、country 拡張された概念で定義されたすべてのプロパティと属性を継承します。 name、description、url、latitude、longitude です普通 country でこれらの属性の一部を再定義し、 定義は、指定されたプロパティと定義が一致している必要があります。 拡張されたコンセプトです
  • コンセプト <info> 要素は、鍵を説明する 表示されます。これは、データセットの Public Data Explorer で確認できます。
  • <type> というコンセプトは、タイプが 説明します。この場合は文字列ですが、変動する可能性があります。コンセプト 母集団のタイプは integer になります。コンセプト Eurovision winner をブール値型にできます。
  • <property> 要素は、変数の各プロパティを記述します。 コンセプト(一意の ID(id)、infotype。プロパティは、次のようなコンセプトを参照することもできます。 コンセプトの有効なインスタンスであることを示すことができます。
  • このコンセプトでは、次のポイントを示すデータテーブルが参照されます。 実際のデータを含む CSV ファイルに出力されます。データテーブルが参照され、 (例: <table ref="countries_table"/>)。

    コンセプトでテーブルを参照する場合、関連するデータファイルに すべてのインスタンスが含まれます。たとえば、テーブルや Cloud SDK など、 データセットに含まれる一部の国のみをリスト表示します。( 国のサブセットである場合、別の 記述する必要があります。例: mycountries)。

要素

要素 必須 説明
<concepts> 最上位の要素。すべての <concept> を含む あります。
<concept> コンセプトを識別します。必須の属性の値 id は、データセット内のコンセプトに対して一意である必要があります。条件 コンセプト データテーブルを参照している場合、 id は、コンセプトを説明する列見出しと一致する必要があります。 作成しますextends 属性は、 このコンセプトは別のコンセプトを拡張するものです価値: extends は、定義されたコンセプトの ID と一致する必要があります。 prefix:concept_id の形式にします。ここで、 concept_id は、インポートされた prefix に関連付けられた外部データセット。
<info> 省略可 コンセプトの説明情報を含める。
<name> <info> の子。コンセプトの名前。「 子要素 <value> には、次のテキストが含まれます。 例: Country
<description> 省略可 <info> の子。子要素を含める <value>: テキストによる説明が含まれます コンセプトです。
<url> 省略可 <info> の子。子要素を含める <value>: 次の URL が含まれます。 コンセプトです。
<pluralName> 省略可 <info> の子。属性の複数形の名前 コンセプトです。子要素 <value> にはテキストが含まれます。 - 例: Countries
<totalName> 省略可 <info> の子。組み合わせの名前 すべてのインスタンスが含まれます。子要素 <value> テキストを含む(country の場合) たとえば、World などです。
<type> 省略可 コンセプトによって記述されるコンテンツのタイプを指定します。必須の 属性 ref には次の値を使用できます。 <ph type="x-smartling-placeholder">
    </ph>
  • 文字列
  • float
  • integer
  • date
  • ブール値
コンセプトが別のコンセプトを拡張する場合、型は省略できます。 拡張コンセプトから継承されます。
<property> 省略可

コンセプトのプロパティ(capital など)。この値 必須の属性 id は、各モジュールに固有の コンセプトです。オプションの concept 属性を使用して、 このプロパティの値が特定のタイプの コンセプトです。concept が指定されている場合は、id になります。 省略できます。その値は暗黙的にリソースの ID として (例:<property concept="geo:country"/> は次の値と同等です。 <property id="country" concept="geo:country"/>)。

プロパティにはブール値 isParent 属性を含めることができます。 コンセプトのインスタンス間の関係を、 このプロパティは階層構造になっています

プロパティにはブール値 isMapping 属性を含めることができます。 インスタンスの間に 1 対 1 のマッピングがあることを示すために、 プロパティの値が含まれます。

1 つのプロパティに、ネストされた infotype: コンセプトの場合と同じように定義されます。 プロパティで指定されていない場合、type は必須です。 concept 属性で、かつ 参照されるコンセプトです。

<attribute> 省略可

コンセプトの属性。属性は、追加の コンセプトに関する情報(例:GDP はパーセンテージ)。この値 必須の属性 id は、各モジュールに固有の コンセプトです。オプションの concept 属性を使用して、 は、この属性の値が特定の コンセプトです。concept が指定されている場合は、id になります。 省略できます。この値は、 参照されるコンセプトです。(例: <attribute concept="unit:unit"/> は次の値と同等です。 <attribute id="unit" concept="unit:unit"/>

属性で、ネストされた info を指定し、 type: コンセプトと同様に定義されます。 属性で値が指定されていない場合、type は必須です。 concept 属性で、かつ 参照されるコンセプトです。

<table> 省略可 コンセプトのデータを含むデータテーブルを指定します。「 必須の ref 属性の値がテーブルと一致している必要があります 関連する <table> 要素で指定された ID。

スライス

説明

スライスは、データが存在するコンセプトの組み合わせです。スライス には、2 種類のコンセプト参照、ディメンション指標。ディメンションとは、セグメントやフィルタに使用する概念 保護します。一方、指標は観測値、つまり 値を生成しています。

一般的に、ディメンションはカテゴリ的ですが、指標はカテゴリ型ではありません。 数値で表しますそれぞれの典型的な例は、 次のようになります。

  • ディメンション: 国、州、郡、地域、年、 月、性別、年齢層、業種
  • 指標: 人口、GDP、失業率、読み書き、 収益、費用、価格

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

このサンプルについて解説します。

  • このスライスは国別の人口を表しています。
  • 指標 population とディメンションがあります。 countryyear。各次元は概念である 別の場所ですでに定義されています。country というコンセプトと指標 population が現在のスライスと同じデータセット内に存在し、かつ は concept="country" のように参照されます。
  • インポートされたデータセットの時間に year というコンセプトが存在する コンセプト名の前に使用される接頭辞(year)で識別されます。 よいね: concept="time:year"
  • スライスは、CSV ファイルを指すデータテーブルを参照しています 実際のデータを含む.データテーブルは次のように参照されます。 <table ref="country_slice_table"/>。(上記を参照) データセットをご覧ください)。

注: 一般に、データセットは 指標を最小限に保ち、有意義な 定義できます。たとえば、指標を作成する代わりに、 Female Unemployment さんと Male Unemployment さん、 単一の指標 Unemployment を作成し、ディメンションを追加する インスタンス Female を含む Gender Male

要素

要素 必須 説明
<slices> 最上位の要素。すべての <slice> を含む あります。
<slice> 省略可 スライスを識別します。必須の属性の値 id はスライスに対して一意である必要があります。
<dimension> 省略可 コンセプトを参照して、スライスのディメンションを定義します。「 必須属性の値 concept は完全に一致する必要があります コンセプトの一意の ID で始まり、コンセプトが 外部からインポートされたデータセットに属します
<metric> 省略可 コンセプトを参照して、スライスの指標を定義します。この値 必須属性 concept の値が、 コンセプトの一意の ID。コンセプトが属している場合は有効な接頭辞を使用します。 インポートします
<table> スライスのデータを含むデータテーブルを指定します。この値 必須の ref 属性がテーブル ID と一致していること 関連する <table> 要素に指定します。
<mapDimension> 省略可 <table> の子。属性 concepttoColumn が含まれます。最初の値は 2 番目の値はテーブルの列です。 表します。
<mapMetric> 省略可 <table> の子。属性 concepttoColumn が含まれます。最初の Pod の値は スライスの指標、2 番目の値はテーブルの列 表します。

テーブル

説明

DSPL ファイルの tables セクションで、データを識別します。 表します。これらのテーブルは、コンセプトまたは 分割されます。各 <table> 要素は、 テーブルを含む CSV ファイルをポイントする 分析できます

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

このサンプルについて解説します。

  • このサンプルでは、テーブル country_slice_table について説明します。「 テーブルには列 countryyearpopulation
  • テーブルの各列には一意の ID があり、 id 属性。この ID は、適切な ID と完全に一致する必要があります。 関連データファイルの列見出しです。
  • オプションの type 属性の値で、データが定義されます。 必要があります。
  • <data> 要素には、実際の .csv ファイルを記述します (country_slice.csv)。ファイル形式: 常に csv

要素

要素 必須 説明
<tables> 最上位の要素。すべての <table> を含む あります。
<table> テーブルを識別します。必須の属性の値 id はテーブルに対して一意である必要があります。
<column> 省略可 <table> の子。列に関する情報 表に含まれます。次の属性が含まれます。 <ph type="x-smartling-placeholder">
    </ph>
  • id(必須): 列の ID。
  • type(省略可): 情報のデータ型 表示されます。使用できる値: stringfloatintegerdate、または boolean
<data> 省略可 <table> の子。参照するデータファイルは 表示されます。ファイル名が URL 形式の場合 (例:http://...)の場合、ファイルは 適切なプロトコル(HTTP、HTTPS、または FTP)それ以外の場合は、 データセットにバンドルする必要があります。 必須の属性 format の値は次のとおりです。 常に csvencoding 属性は、 オプションの場合、.csv ファイルは UTF-8 でエンコードされている必要があります。

トピック

説明

トピックはコンセプトを階層的に分類し、ユーザーが移動できるようにする データセットを 簡単に把握できます

<topics> 要素は <concepts> 要素を追加します。( が重要であり、必要な場合はデータセットをアップロードできない 要素の順序が間違っています)。トピックを使用するには、 説明します。

トピックの定義の例を次に示します。

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

以下は、このトピックを概念から引用した例です。

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

トピックはネストでき、1 つのコンセプトで複数のトピックを参照することもできます。

要素の定義

要素 必須 説明
<topics> 最上位の要素。すべての <topic> を含む あります。
<topic> トピックを識別します。必須の属性の値 id はデータセットに対して一意である必要があります。
<info> 省略可 <topic> の子。インフラストラクチャに関する情報が 説明します。
<name> 省略可 <info> の子。その子要素 <value> には、トピックの名前を指定します。

DSPL データファイル

DSPL データセットは、XML メタデータ ファイルに加えて、 CSV 形式のデータファイルを 1 つ以上含める。各データファイル データセット内のテーブルをサポートし、そのテーブルから <data>...</data> セクション。概念的には、これらのファイルは とそれに関連するテーブルを使用して、 スライスまたはスライスデータを使用します。これらのデータファイル形式はそれぞれ 以下で詳しく説明します。

目的にかかわらず、すべてのデータファイルは カンマ区切り(CSV)の UTF-8 テキスト ファイル。ファイルにはプレーンなテキストのみを含む テキスト、作成します。データファイルは手動で作成できますが、実際には 元のデータを含むツール内で、データを処理する必要があります。 ソース(スプレッドシートなど)、またはエクスポートしたファイル自体で確認できます。

ファイルはデータセットにバンドルできます。名前が リモートソースから HTTP、HTTPS、または FTP 経由で取得された URL。

コンセプト データファイル

コンセプト データファイルには、各コンセプトの関連情報が含まれています。「 コンセプト定義では、<table> 要素を使用して できます。

以下に、country のコンセプトのテーブルの例を示します。 上記の定義:

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

この例の動作は次のとおりです。

  • マッピングが指定されていない場合、データファイル(列)の最初の行は 見出しなど)は、概念 ID および適切なプロパティと データが関連付けられているコンセプトの ID。注文は 列の順序は、データファイル内の列と列が同じである必要は コンセプト テーブル。この場合、最初の列は コンセプト country、2 番目の列は プロパティ name
  • プロパティ列は省略可能です。プロパティに列がない場合 場合、その値は各行で未定義とみなされます。「 たとえば、上記の表では latitudelongitude プロパティではないため、国はマッピングできません。
  • コンセプトの ID フィールドの各値(この例では country など)は、一意かつ空でない(空のフィールドは 1 つ) 使用しないでください。
  • 他のコンセプトを参照するプロパティの値は、次のいずれかにする必要があります。 空にするか、参照するコンセプトの有効な値にすることができます。
  • 値を二重引用符で囲むかどうかは、 カンマ、二重引用符、改行文字が含まれている。
  • 値の前にあるリテラル二重引用符をエスケープします。 二重引用符で囲みます。

スライス データファイル

スライスデータ ファイルには、各スライスに関連するデータが含まれています。スライス 定義では、<table ref="..."> 要素を使用して、 <table> の定義を参照することで、 できます。

これは、 population_by_country スライスは上記のとおりです。

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

この例の動作は次のとおりです。

  • 指標フィールドは population です。フィールド countryyear はディメンション フィールドです。
  • ディメンション フィールドの各値は空にできません。これには時間も含まれます 定義できます。指標フィールドの値は空にできます。空の値は 表します。
  • コンセプトを参照する各列見出し(たとえば、最初の列は、 概念 country を参照している場合)は、 コンセプト定義内のコンセプトの一意の ID と完全に一致します。
  • ディメンション値の一意の組み合わせ。例:AF, 2000, 1 回だけです。
  • 同じ時系列の行(同じ組み合わせを持つ行) すべてのディメンション値(時間を除く)はグループ化する必要がありますが、 並べ替える必要はありません。

高度な機能

多言語データセット

翻訳された XML 値

xml:lang 属性は、 <value> 要素を追加します。この属性 要素のコンテンツの言語を、標準の W3C 言語タグ。この機能の使用は任意です。「いいえ」の場合 xml:lang 属性が含まれている場合、コンテンツは 英語。

次の例は、英語のデータセットのスニペットを示しています。 ブルガリア語、カタルーニャ語、中国語(簡体):

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

変換されたプロパティ

場合によっては、サポート範囲を超えた翻訳を提供する コンセプト レベルのメタデータ。個々のリソースに追加(または 作成します。これは特に、コンセプトの値に プロパティ(名前など)は言語によって異なります。

このような値を複数の言語で指定するには、 各プロパティと言語の組み合わせに対応する定義表をご覧ください。 次に、これらの列を関連するプロパティと言語にリンクします。 <mapProperty xml:lang="..." ref="..." toColumn="..."> 要素のセットをテーブルに追加する コンセプトの参照タグです

英語の名前で国のコンセプトを定義する例を次に示します。 スペイン語、フランス語:

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

countries_table の CSV ファイルは次のようになります。 フォーム:

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

マップ可能な概念

多くの概念(例: 郡、州、 (都市など)には、地理的位置に対応するインスタンスがあります。DSPL では、ジオコーディングがサポートされているため、 Google 一般公開データのアニメーション地図グラフ。

コンセプトが世界の国、米国の州、または米国と同等である場合 対応する Google の正規 URL にリンクするだけで済みます。 コンセプト明示的なジオコーディングは不要です。詳しくは、正規のコンセプト ガイドをご覧ください。 表示されます。

そうでない場合は、コンセプトをマッピング可能にする必要があります。最初のステップは geo:location から拡張します。

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

次に、緯度と経度をプロパティとして明示的に追加する必要があります。

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

これらの値は、対応する列の列として指定します。 コンセプト定義データテーブル

コンセプト関係

多くの場合、コンセプトは他のコンセプトと構造化された形で関連しています。対象 1 つの大陸のインスタンスが 1 つの大陸の複数の 国名のインスタンスには、複数の国名が 追加することもできますこれらをエンコード データセットのメタデータと関係の相互作用により、 たとえば、折りたたみ可能なツリーを表示するなど、 場所から選択できます。

以下のセクションでは、Terraform でサポートされているコンセプトの関係を 実装されます。

階層

概念の階層は、 次の要素の isParent="true" 属性: 子コンセプトの <property> タグ。これには次の要素が含まれます。 親コンセプトからインスタンスの識別子です。

たとえば、Google の米国郡のコンセプトは フォーム:

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

補助データテーブルには、state 列があり、 国を表す 2 文字の州コードです。このタイプのメタデータは、 Public Data Explorer では、州や郡を階層として表示できます。 ユーザーが簡単に探索できるようにしています

1 つのコンセプトに多数の子を持たせることができますが、1 個は 親

マッピング

コンセプト マッピング(つまり、根本的に同じものを表すコンセプト もの)は isMapping="true" によって表されます。 マッピングされたコンセプトの property タグで属性を宣言します。

あるコンセプトが別のコンセプトにマッピングされるように指定すると、コンセプトは別のコンセプトに継承されます。 後者のすべてのプロパティと属性を返します。アプリケーションの中でも これは「リンク」する際に地理的概念の概念を 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>
  

拡張機能

コンセプト拡張は extends 要素で指定されます。 あります。拡張機能は、 ある概念は、別のより広範な概念のサブクラスであると考えます。「 拡張コンセプトは、その親の属性とプロパティをすべて継承し、 追加することもできます

たとえば、Google の currency のコンセプトは、 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>
  

コンセプトの説明を参照 チュートリアルの拡張機能をご覧ください。

データセットの送信

Google 公共データ エクスプローラにデータセットを送信する手順は次のとおりです。 手順:

  1. ディレクトリを作成します。
  2. 作成したディレクトリにデータセットの dspl ファイルを保存します。必ず .xml 拡張子を使用します。
  3. ローカルの .csv ファイルはすべて同じディレクトリに保存します。データファイルは URL を介して参照されるものは省略できます。
  4. ディレクトリを zip 形式で圧縮します。
  5. Google Public Data にデータセットをアップロードする

データセットをアップロードして検証したら、署名してテストできます。 Google アカウントにリンクしていますチェックボックスをオンにするまで公開されません 準備ができたことを Google に伝えます。