W3C

RDF データキューブ語彙

W3C Working Draft 05 April 2012

This version:
http://www.w3.org/TR/2012/WD-vocab-data-cube-20120405/
Latest published version:
http://www.w3.org/TR/vocab-data-cube/
Latest editor's draft:
https://dvcs.w3.org/hg/gld/raw-file/default/data-cube/index.html
Editors:
Richard Cyganiak, DERI, NUI Galway
Dave Reynolds, Epimorphics Ltd
Author:
Jeni Tennison, TSO

アブストラクト

統計のように,ウェブ上で関連データセットと概念にリンクされることで,多次元のデータを公開できるようにすることが有益な状況というのは,数多くある.データキューブ語彙はW3CRDF(Resource Description Framework) 標準を用いてこれを行う手段を提供する.データキューブ語彙を支えるモデルは SDMX(Statistical Data and Metadata eXchange) の基礎となるキューブモデルと整合し,組織間での統計データとメタデータの交換と共有のためのISO標準とも整合している.データキューブ語彙は,その語彙の拡張により統計データフローの他の側面の公開を可能とするためのコアとなる基礎である.

本文書のステータス

本節では公開時における本文書のステータスについて述べる.その他の文書が本文書に優越することがあるかもしれない.現在のW3C公開のリストとこの技術報告の最新の版は,http://www.w3.org/TR/ の W3C技術報告インデックス で分かる.

この公開文書は,本主題について以前の著作W3C勧告トラックに移行させるものである。

本文書は Government Linked Data (GLD) Working Group によって最初の公開ワーキングドラフトとして出されたものである.本文書は W3C勧告 となることが意図されている. もしこの文書に関するコメントがあれば、それを public-gld-comments@w3.org (subscribe, archives)まで送られたい. すべてのフィードバックを歓迎する.

ワーキングドラフトの公開はW3Cメンバーシップによる保証を意味するものではない.これはドラフト原稿であり,いつでも更新され,その他の文書によって置き換えられたり、廃棄されうる.進行中以外のものとして本文書を引用するのは正しくない.

本文書は2004年2月5日 W3C パテントポリシーの下,グループ作業によって産まれたものである.W3Cはグループの成果物に関連して作成された public list of any patent disclosures を保持している.それには特許の公開手続きも含まれている.特許について実際上の知識を所有し,その特許が Essential Claim(s)を含むと信ずる個人はW3Cパテントポリシーの第6節にしたがってその情報を公開しなければならない。

目次

1. はじめに

1.1 データキューブ語彙

統計データは政策の予測,計画と調整の基礎であり,ウェブ上に見られるように,多くのマッシュアップと見える化を支えている.統計データをウェブフレンドリーなフォーマットで公開し,関連情報とリンクして結合できるようにすることは,強い関心事となっている.

統計データセットの中心にあるのは,関係するメタデータと一緒に,次元のあるグループに沿って観察値の集合を組織化することである.データキューブ語彙は,W3C RDF (Resource Description Framework) 標準を用いて,そのような情報を表現し,リンクトデータの原則に従って公開することを可能にする.その語彙は統計データ交換のための SDMX ISO標準で用いられている手法に基づいている.このキューブモデルは非常に一般的であり,それゆえデータキューブ語彙は調査データ,スプレッドシート,OLAPデータキューブ [OLAP] のような他のデータセットにも用いることができる.

データキューブ語彙はウェブ上での多次元データの公開に純粋に焦点を当てている.我々は一連の語彙を組立式に発展させることで,このコアの基礎を拡張することを心に描いている.特に,(産出するデータフローや関連契約条項のような)統計データに付随的な文脈を公開することを支援するような SDMX 拡張語彙が必要なことが分かっている.その他の拡張では,調査用メタデータ(いわゆる "micro-data",DDIに含まれる)や統計参照用メタデータの公開が可能である.

データキューブは順に以下の RDF 語彙に従って構築される.

1.2 RDF とリンクトデータ

リンクトデータは共通の概念を参照することを通じて,データセットを互いにリンクすることを可能にする,ウェブ上にデータを公開する手法である.この手法 [LOD] では,HTTP URI を用いてエンティティに名前を付けることが推奨され,データ利用者がこれらの URI をルックアップして,他の関連 URI へのリンクも含めて,より多くの情報を得ることができる.RDF [RDF-PRIMER] はこれらのエンティティと概念を記述する情報表現のための標準を提供し,URI を参照解決(dereferencing)することで情報を得ることができる.

RDF とリンクトデータの手法を用いて,統計のような多次元データを公開可能にすることに多くの利点がある.

1.3 SDMX と関連標準

統計データとメタデータ交換 (SDMX) イニシアティブは,統計的実践におけるより大きな効率の実現のために,七つの国際的な組織(BIS, ECB, Eurostat, IMF, OECD, 世銀 および 国連)によって 2001 年に設立された.これらの組織はすべて,たいていは国家レベルの,政策支援のための顕著な量のデータを,収集している.また国を超えて,国際的なレベルでデータを,広範に配布もしている.

この作業からいくつかの重要な成果がこれまでに得られている.技術仕様 - ISO:TS 17369 (SDMX) - の二つの版と,クロス・ドメインな統計の構造化と調和のためのいくつかの勧告,SDMX 内容指向ガイドライン(Content-Oriented Guidelines)である.プロダクトのすべてが www.sdmx.org から入手可能である.その標準は現在世界中で広く採用されて,オフィシャルな統計部門による収集,交換,処理,集められた統計の配布に利用されている.国連の統計委員会は統計のための優先標準として,2007年に SDMX を勧告した.

SDMX 仕様はコアになる情報モデル を定義し,その反映として二つの具体的な構文- SDMX-ML (XML 構文) と SDMX-EDI を定義した.データキューブ語彙は SDMX 情報モデルのコア上に構築されている.

SDMX 標準パッケージのカギとなるコンポーネントは内容指向ガイドライン (COGs)であり,複数の SDMX 実現のあいだで用語概念を共有することで,クロス・ドメインな概念の集合,コードリスト,データセット間での相互操作性と整合性を保証している.このような考えの RDF バージョンがデータキューブ語彙を用いて別途利用可能となっている.

1.4 SCOVO との関係

統計コア語彙(SCOVO) [SCOVO] は統計データを表現するための軽量 RDF 語彙である.それは比較的簡易な仕様であるため,データ生産者と消費者が容易に採用することができ,RDF 語彙と組み合わせることで,より大きな効果を求めることができる.そのモデルはより特殊なユースケースのためのスキーマとインスタンスレベルに拡張することができる.

SCOVO は,統計データを RDF で表現するという基本的なユースケースを提示しているけれども,そのミニマリスト的設計は限定的であり,かつ次のような統計の公開時に起こる重要なシナリオを支援することができない.

データキューブ語彙の設計は SCOVO により告知されており,各々の SCOVO データセットはその語彙の範囲内で再表現することができる.

1.5 読者とスコープ

本文書はデータキューブ語彙について記述しており,統計や多次元データを RDF で公開しようと望む人たちのためのものである.SDMX-ML のようなそれ以外のフォーマットからの横断的な変換の仕方については,その他に譲りたい.

1.6 文書規約

RDF エンティティ-- クラス,述語,個物 -- の名前は URI である.これらは通常 prefix:localname のようなコンパクトな記法を用いて表記される.ここで prefix名前空間 URI を指示する.プレフィックスによって指示された名前空間を localname に前置することで,全 URI が得られる.

本文書では, よく知られた名前空間として,次のような通常用いられるプレフィックス名を用いる.

データキューブ名前空間http://purl.org/linked-data/cube# として,プレフィックス qb も導入する.

すべての RDF 例は Turtle 構文 [TURTLE-TR] で書かれる.

2. データキューブ

2.1 キューブモデル - 次元, 属性, 測度

統計データセットは,何らかの論理空間中の点とされる観測値の集まりから構成される.その集まりは,何が計測され(経済活動,人口など),どのように計測され,どう観測値にあらわされるのか (単位,倍率,状態など)を記述するメタデータに沿って,観測されるもの(時間,領域,性別)を定義する次元のセットによって特徴づけられる.統計データセットはそれらの次元でインデックス付けされた多次元空間,すなわちハイパーキューブと考えることができる.この空間は短く キューブ と言及される.その名前は文字どおりに受け取られるべきではないが,正確に三次元(以上も以下もありえるが)を意味するというわけでもなく,すべての次元が何かしら似た大きさであるというわけでもない.

一つのキューブは次元属性測度 のセットにしたがって構成される.我々はこれらを集合的にコンポーネント と呼ぶ.

次元 コンポーネントは観測値を同定するものである.すべての次元コンポーネントの値の集合は一個の観測を同定するに十分である.次元の例として,たとえば観測された時間や観測がカバーする地理学上の領域が含まれる.

測度 コンポーネントは観察された現象を表現する.

属性 コンポーネントは観測された値を限定し,解釈することを可能にする.それは測度の単位やスケーリングファクタを指定することを可能にし,どんなスケーリングファクタや観測値の状態(推測暫定)のようなメタデータも指定することもできる.

2.2 スライス

データセット中の観測値の部分セットをグループ化することはしばしば有効である.特に,ほとんど一つの(あるいは小さな部分の)次元を固定して,そのような次元の値のすべての観測値を一つのエントリとして参照可能にすることができる.そのような選択をキューブに対するスライス と呼ぶ.たとえば,地域的な実績の指標に関するデータセットを与えられて,与えられた指標と与えられた領域に関するすべての観測値をグループ化してスライスにする.このとき,各スライスは観測値の時系列データを表現することになる.

データ公開者は様々な目的のためにデータのスライスを指定することができる.スライスはそれにもしメタデータが付与されたら有益なグループとなるようなものである.たとえば,特定の時間や領域に影響する計測プロセスにおける変更の記録である.スライスすることで,ユーザに提示すべきデータの特定の部分集合を指定しラベル付けすることも可能になる.それによって,ユーザは適切なプレゼン用グラフやチャートをより容易に利用するアプリケーションを構築することができる.

統計アプリケーションでは,一つの次元を未指定のままスライスして使うということが普通である.特に,時系列 とは時間次元が自由なスライスのことであり,セクション とは非時間次元に沿ったスライスのことである.データキューブ語彙においては,その範囲で任意の次元スライスが可能であり,スライスの特定のタイプに異なる名前をつけることなく,SDMX-RDF が容易に概念のラベルを追加できるように,語彙を拡張することができる.

3.

データキューブ語彙の使用法を説明するために, StatsWales報告書番号 003311 から抽出した小さなデモ用データセットを用いることにする.それは地域(地方自治体),年齢,時間によって分けられた平均余命を記述したものである.抽出されたものは以下のとおり.


2004-2006
2005-2007
2006-2008

Male
Female
Male
Female
Male
Female
Newport
76.7
80.7
77.1
80.9
77.0
81.5
Cardiff
78.7
83.3
78.6
83.7
78.7
83.4
Monmouthshire
76.6
81.3
76.5
81.5
76.6
81.7
Merthyr Tydfil
75.5
79.1
75.5
79.4
74.9
79.6

ここには三つの次元がある.すなわち,期間(三年間に渡る移動平均),地域,および性別である.各観測値は,その人口(測度)に対する平均余命を表す.測定値の単位(年)を定義するためには属性が必要である.

スライスの一例として,時間と性別を固定してスライスを定義してみよう.そのようなスライスは異なる地域,すなわち上記表レイアウトのカラムに一致,にわたる平均余命の変化を示している.

4. 語彙の概要

UML-style block diagram of the terms in this vocabulary

4.1 語彙インデックス

クラス: qb:Attachable qb:AttributeProperty qb:CodedProperty qb:ComponentProperty qb:ComponentSet qb:ComponentSpecification qb:DataSet qb:DataStructureDefinition qb:DimensionProperty qb:MeasureProperty qb:Observation qb:Slice qb:SliceKey

プロパティ: qb:attribute qb:codeList qb:component qb:componentAttachment qb:componentProperty qb:componentRequired qb:concept qb:dataSet qb:dimension qb:measure qb:measureDimension qb:measureType qb:observation qb:order qb:slice qb:sliceKey qb:sliceStructure qb:structure qb:subSlice

5. データ構造定義の生成

qb:DataStructureDefinition は一つ以上のデータセットの構造を定義する.特に,次元,属性,測度を定義して,次元の順序のような限量化された情報に沿ったデータセットや必須属性かあるいはオプショナルかを定義するのに用いられる.良形式なデータセットでは,このような多くの情報が暗黙のうちに,観測値における RDF コンポーネント・プロパティの範囲においてあるが,構造を明示的に宣言することには,次のような利点がある.

統計データを公開する際,定例の公開では同一の構造に従うのがふつうである.Data Structure Definition (DSD) の概念では,一度定義した構造を一連の公開の各々に再利用することができる.そのとき,ユーザは構造が変わっていないということを確信できる.

5.1 次元,属性,測度

データキューブ語彙では次元,属性,測度を RDF プロパティとして表現する.それぞれ順に,抽象クラス qb:ComponentProperty のサブクラスであるqb:DimensionProperty, qb:AttributeProperty そしてqb:MeasurePropertyのインスタンスである.

コンポーネントプロパティはいくつかの情報を隠ぺいする.

同一の 概念 を異なるコンポーネントにおいて宣言してもよい.たとえば,通貨 の概念は(交換比率つきのデータセットを扱う場合に)次元として用いられることもあるし,(通貨交換時に起こる通貨を記述する場合に)属性として用いられることもある.時間概念は典型的には次元としてのみ用いられるが,(xsd:dateTime のように)データ値としても(data.gov.uk によって開発された参照時間 URI における URI のように)シンボル値としてもコード化され得る.統計局では,複数の異なるデータセットに用いられるコンポーネントを支える,統計概念の標準シソーラスがあるのが普通である.

汎用の統計概念の再利用を支援するために,データキューブ語彙は表現される概念に qb:ComponentProperty をリンクさせる qb:concept プロパティを提供している.我々はそのような概念を表現するために SKOS 語彙 [SKOS-PRIMER] を用いる.これは概念が統制用語リストやシソーラスとしてすでに保守されているような場合には,非常に自然なことである.情報のデータセットについてデータ構造を定義するとき,適切な概念がないかもしれない.そんな場合には,もしその概念を他人が再利用しているようであれば,その個別の qb:ComponentProperty に沿って,ある skos:Concept インスタンスを公開することが推奨される.しかしながら,そのような再利用が期待されないのなら,そうする必要はなく,qb:concept リンクはオプショナルでかつ単に qb:ComponentProperty の適当なサブクラスのインスタンスとするだけで十分である.

コンポーネントの可能な値を表現するには,通常の RDF のやり方ではコンポーネントの rdfs:range プロパティを用いて記述する.たとえば,時間次元の値はタイプが xsd:dateTime のリテラルを用いて,あるいは時間参照サービスから得られる URI として表現されてよい.

統計データセットでは,値は(階層的になっているかもしれない)何らかのコードリストを用いてコード化されるのが通常である.そして何らかの構造的な形式でコードリスト全体を分かるようにしておくと有益である.そのようなサービスのために,コンポーネントを skos:ConceptScheme を意味する一種の qb:codeList で随時注釈することができる. そのような場合,そのコンポーネントの rdfs:range は単に skos:Concept としたままでもよいが,特定のスキーマを用いて,そのメンバーがすべて skos:Concept に属するような rdfs:Class として有益なデザインパターンを定義してもよい.そのようなやり方では,rdfs:range をより特殊にして,適切な値域チェックを実行する汎用の RDF ツールを用いることができる.

SDMX 拡張語彙では,コンポーネントをコード化することについてもう一つの情報があることに注意されたい.すなわち,構造定義においてコンポーネントが果たす役割(ロール)である.特に,ユーザにとってどれが時間次元なのか,どれがプライマリーな測度なのか等々を,容易に指定できるのは,しばしば便利であることがある.そのようなロールを概念に埋め込みにして,その情報を各ロールごとに skos:Concept のサブクラスとして提供することでコード化することができる.ここで,ロールの特定の選択は SDMX 標準に規定されており,コアのデータキューブ語彙には含まれてはいない.そのようなロールが適切であれば,データキューブ語彙のアプリケーションは関係する SDMX 依存のロール情報を提供することもしやすくなる.

我々の実行例に必要なコンポーネントを説明する前に,もう一点紹介すべきしかけがある.すなわち,概念の再利用可能セットと SDMX に基づくコンポーネントである.

5.2 内容指向のガイドライン

SDMX 標準は 内容指向のガイドライン (COG) [COG] のセットを含んでいる.それはすべてのデータセットにまたがって,再利用可能であることを目的とする共通の統計上の概念と関連コードリストのセットを定義している.データキューブのためのワークの一部として,我々は COG に類似の RDF を生成した.それは以下のものである.

データキューブ語彙はスタンドアローンであり,かつ SDMX COG依存の用語を用いることが必須であるというわけではない.しかし,表現される概念が COG コンセプトにマッチすれば,データセットに渡って比較することが単純になり,公開者が相当するコンポーネントやコンセプトの URI を再利用するようになることが推奨される.以上のことを背景に,作業例において我々は関連 COG コンポーネントの再利用を行う.

5.3

我々の例のデータセットに目を転じると,三つの次元が表現されているのが分かる.すなわち期間,領域(地方自治体)そして人口の性別である.トピックたるデータセット(平均余命)に相当する一つの(プライマリ)測度があり,年間の値にコード化されている.それゆえ,以下のコンポーネントが必要である

時間.これには SMDX-COG に適切な予約された概念 REF_PERIOD があるので,関連コンポーネントプロパティ sdmx-dimension:refPeriod を再利用することができる.しかしながら,時間期間そのものを表現するには,data.gov.uk の時間サービスを用いて,データ構造定義の枠内で宣言するのが便利であろう.

  eg:refPeriod  a rdf:Property, qb:DimensionProperty;
      rdfs:label "reference period"@en;
      rdfs:subPropertyOf sdmx-dimension:refPeriod;
      rdfs:range interval:Interval;
      qb:concept sdmx-concept:refPeriod . 

領域. これも適切な COG 概念とこれに使用可能な関連コンポーネントがあるので,コンポーネントの値域をカスタマイズすればよい.この場合には,英国陸地測量部管理地理オントロジー (Ordnance Survey administrative geography ontology)[OS-GEO] を用いることができる.

  eg:refArea  a rdf:Property, qb:DimensionProperty;
      rdfs:label "reference area"@en;
      rdfs:subPropertyOf sdmx-dimension:refArea;
      rdfs:range admingeo:UnitaryAuthority;
      qb:concept sdmx-concept:refArea . 

性別. この場合,デフォールトのコードリストが我々に必要な用語を含んでいるので,関連 COG コンポーネント sdmx-dimension:sex を直接用いることができる.

測度. このプロパティは各観測値を与える.我々は(メタデータを用いて観測されるトピックを定義して)これにデフォールトの smdx-measure:obsValue を用いてもよいが,可読性と RDF データセットを処理することを目的に,観測される現象に相当する特定の測度を用いてもよい.

  eg:lifeExpectancy  a rdf:Property, qb:MeasureProperty;
      rdfs:label "life expectancy"@en;
      rdfs:subPropertyOf sdmx-measure:obsValue;
      rdfs:range xsd:decimal . 

単位 測度 属性. プライマリー測度それ自身はプレーンな数値(decimal value)である.この値を正しく解釈するには,それがどんな単位で計測されたのか定義する必要がある(この場合,年).これは観測地の解釈を限定する属性を用いて定義される.この例では,とくに UNIT_MEASURE という COG コンセプトに相当する定義済みの sdmx-attribute:unitMeasure を用いることができる.この属性の値を表すには,典型的には測度の単位の共通シソーラスを用いればよい.この例のために,我々は "Years" についての Wikipedia ページのトピックに相当する DBpedia リソース http://dbpedia.org/resource/Year を利用したい.

これで本データセットの構造を定義するのに必要な最小のコンポーネントがカバーされた.

5.4 コンポーネント仕様とデータ構造定義

コンポーネントをこのデータセットの構造の仕様に結合するためには, qb:ComponentSpecification リソースの集合を参照する qb:DataStuctureDefinition リソースを宣言する必要がある. qb:DataStuctureDefinition は同じ構造の他のデータセットにも再利用可能である.

一番単純な場合には,qb:ComponentSpecification は単に(普通サブプロパティ qb:dimensionqb:measure あるいは qb:attribute のどれかを用いて)相当する qb:ComponentProperty を参照するだけである.しかしながら,いくつかの方法でコンポーネントの仕様を限定することも可能である.

我々の実行例では,次元は有効に順序づけできる.一つの属性,単位測度だけが必要である.語彙の使用を説明するために,データセットのレベルに付与されるこの属性を宣言する.しかし,フラットな表現のほうがクエリも組み合わせも基本的により簡単である.

それで,我々の例のデータセットの構造(そしてその他の同様なデータセット)は次のように宣言される.

  eg:dsd-le a qb:DataStructureDefinition;
      # The dimensions
      qb:component [qb:dimension eg:refArea;         qb:order 1];
      qb:component [qb:dimension eg:refPeriod;       qb:order 2];
      qb:component [qb:dimension sdmx-dimension:sex; qb:order 3];
      # The measure(s)
      qb:component [qb:measure eg:lifeExpectancy];
      # The attributes
      qb:component [qb:attribute sdmx-attribute:unitMeasure; qb:componentAttachment qb:DataSet;] .

同じ構造を有する異なるデータセットにも利用することができるので,データ構造定義 (DSD) にひとつの URI を与えたことに注意されたい.同様にコンポーネントプロパティそれ自身も,異なる DSD に再利用することができる.しかしながら,コンポーネント仕様は,ある特定の DSD の範囲内で有用なのであって,それでブランクノードを用いてそれらの表現を選んでいる.

5.5 複数測度の取り扱い

我々の例のデータセットは測度である単一の観測(この場合"平均余命")しかないという点で比較的単純である.他のデータセットでは複数の測度があり得る.これらの測度は同じような性質のものかもしれないし(たとえば,地方政府の実績データセットは各地域ごとに複数の異なる実績の指標を提供するのかもしれない),まったく異なるのかも知れない(たとえば,取引ごとに量,値,重みを提供するような取引のデータセット).

複数の測度を表現するには二つの方法がある.SDMX 情報モデルでは,各観測値は単一の観測値として記録されるので,複数の観測値を有するデータセットには,その値が意味するところの測度を指示する次元を付加する.この方法は,測度として別々の統計を一緒にしたようなアプリケーションに合ったやり方である.臨床統計やセンサーネットワークのような他の分野では,用語 observation は通常複数の観測値を含むであろう観測イベントを意味する.同様に,ビジネス・インテリジェンスのアプリケーションや OLAP などでは,データキューブ中の一つの "セル" は,典型的には複数の測度に対しての複数の値を含んでいる.

データキューブ語彙では,同一のデータセット内で両方をまぜこぜにしてもいいというわけではないが,いずれの表現方法も許される.

5.5.1 複数測度観測値

この方法では個々の観測に複数の観測値を付与することができ,センサーデータや OLAP キューブのようなものを表現するのに適している.この表現を用いるには,単に複数の qb:MeasureProperty コンポーネントをデータ構造定義中に宣言して,そのデータセット内で観測値に各プロパティのインスタンスを付与すればよい.

たとえば,もし個数と全重量を含む発送データのセットがあるなら,次のようなデータ構造を定義してよい.

eg:dsd1 a qb:DataStructureDefinition;
    rdfs:comment "shipments by time (multiple measures approach)"@en;
    qb:component 
        [ qb:dimension  sdmx-dimension:refTime; ],
        [ qb:measure    eg-measure:quantity; ],
        [ qb:measure    eg-measure:weight; ] . 

これは次のような個々の観測値と合致している.

eg:dataset1 a qb:DataSet;
    qb:structure eg:dsd1 .
    
eg:obs1a  a qb:Observation;
    qb:dataSet eg:dataset1;
    sdmx-dimension:refTime "30-07-2010"^^xsd:date;
    eg-measure:weight 1.3 ;
    eg-measure:quantity 42 ;
    . 

複数測度アプローチの一つの限界は,単一の観測値に属性を与えることはできないということである.観測値のインスタンスに与えられる属性は,その観測全体(誰が観測したかを指示するなど)に適応される.属性は直接に qb:MeasureProperty 自身に与えることもできるが(その測度に対して 測度の単位 を指定するなど),その付与はデータセット全体に(実際,その測度プロパティを用いるいかなるデータセットにも)適応され,異なる観測について変更はできない.この限界が問題となるアプリケーションには,次の 測度次元 アプローチを用いる.

5.5.2 測度次元

この方法は単一の計測値を有する観測に限られるが,余分の次元 測度次元 を加えることにより複数の測度をデータセットに持ち込むことができる.測度次元の値はどの特定の測度が観測によって持ち込まれるのかを表示する.これは SDMX と SMDX-in-RDF 拡張語彙を用いて, 測度次元 表現を用いることに限定されている qb:DataStructureDefinition のサブクラスを導入するという方法である.

この表示を用いるには,測度次元の役割を果たすように,データ構造定義内で付加的な次元を宣言する.データキューブ語彙での使用を考慮して,我々はこの目的のために,一つの特徴的なコンポーネント qb:measureTypeを提供している.SMDX-in-RDF 拡張語彙の範囲内で,測度のタイプとして有効な概念を同定し,他の測度次元を宣言可能とするのに用いられるロールがある.測度次元として qb:measureType を使った特殊なケースでは,可能な測度のセットは DSD 内部で宣言されたそれらの測度とされる.この情報を複写するために,別のコードリストや列挙されるクラスを定義する必要はない.かくして, qb:measureType は暗黙のコードリストと一緒になって“魔法の”次元プロパティである.

上記我々の例では,データ構造定義は,この表現方法では,次のようになる.

eg:dsd2 a qb:DataStructureDefinition;
    rdfs:comment "shipments by time (measure dimension approach)"@en;
    qb:component 
        [ qb:dimension  sdmx-dimension:refTime; ],
        [ qb:measure    eg-measure:quantity; ],
        [ qb:measure    eg-measure:weight; ],
        [ qb:dimension  qb:measureType; ] . 

これは次のような個々の観測値に合致する.

eg:dataset2 a qb:DataSet;
    qb:structure eg:dsd2 .
    
eg:obs2a  a qb:Observation;
    qb:dataSet eg:dataset2;
    sdmx-dimension:refTime "30-07-2010"^^xsd:date;
    qb:measureType eg-measure:weight ;
    eg-measure:weight 1.3 .
    
eg:obs2b  a qb:Observation;
    qb:dataSet eg:dataset2;
    sdmx-dimension:refTime "30-07-2010"^^xsd:date;
    qb:measureType eg-measure:quantity ;
    eg-measure:quantity 42 . 

測度プロパティの所有の複写は計測された値を意味するプロパティにも,測度次元の値にも見られることに注意されたい.我々は,そろいのキューブ/次元メカニズムと,すべての種類のデータセットに関する測度プロパティを 宣言したり用いたりするそろいのやり方を可能にするために,この複写が必要だと受け止めた.

SDMX をよく承知している方は,RDF 表現では,個々の測度の各々を包摂する別の "プライマリ測度" の必要はないということに留意されたい.それらの個々の測度は直接使用される. SDMX-in-RDF 拡張語彙は sdmx:DataStructureDefinition について別の注釈をすることにより,SDMX プライマリ測度の往復を扱うことができる.

6. データセット表現

データセットは与えられたデータ構造定義に合致する統計データの集まりである.データセット中のデータは荒っぽく言えば,次のどれかに所属するように記述することができる.

観測値
これは実際のデータ,計測値である.統計表では,観測値は表のセル内の数値である.
組織構造
ハイパーキューブ内に観測値を位置づけるには,少なくともその観測値が位置する各次元の値を知る必要がある.これらの値は各々の観測値に対して指定されなければならない.データセットは,先に2.2 節で述べたように,スライス の形式でさらに組織構造化することができる.
内部メタデータ
ある観測値が位置づけられたとして,それを解釈するにはあるメタデータが必要である.計測の単位はなんだろうか? それは正常値なのか異常値なのか? それは計測された値なのか計算された値なのか? これらのメタデータは 属性 として提供され,個々の観測値に付与されるか,先に述べたように ComponentSpecification によってより高いレベルに定義されなければならない.
外部メタデータ
これはデータセットのカテゴリーや公開者やアクセスするための SPARQL エンドポイントのような,全体としてのデータセットを記述するメタデータである.外部メタデータについては,第 9 章で記述する.

6.1 データセットと観測値

全体のデータセットを表現するリソースが作られて,qb:DataSet としてタイプ付けされ, qb:structure プロパティを介して相当するデータ構造定義にリンクされる.

落とし穴: qb:DataSet という大文字使用は, void:Datasetdcat:Dataset というようなその他の語彙における大文字使用とはことなることに注意されたい.この見慣れない大文字使用は SDMX 標準との適合性のために選択されたものである.同じことが関連プロパティ qb:dataSet にも当てはまる.

各観測値はタイプ qb:Observation のインスタンスとして表される.基本的な場合では,属性,次元,計測値の値は,観測値に直接付与される(これらのコンポーネントはすべて RDF プロパティであることを思い出してほしい).観測値は qb:dataSet プロパティを用いて,それを含むデータセットにリンクされる.たとえば

かくして我々の実行例では,次のようになるであろう.

  eg:dataset-le1 a qb:DataSet;
      rdfs:label "Life expectancy"@en;
      rdfs:comment "Life expectancy within Welsh Unitary authorities - extracted from Stats Wales"@en;
      qb:structure eg:dsd-le ;
      .  

  eg:o1 a qb:Observation;
      qb:dataSet  eg:dataset-le1 ;
      eg:refArea                 admingeo:newport_00pr ;                  
      eg:refPeriod               <http://reference.data.gov.uk/id/gregorian-interval/2004-01-01T00:00:00/P3Y> ;
      sdmx-dimension:sex         sdmx-code:sex-M ;
      sdmx-attribute:unitMeasure <http://dbpedia.org/resource/Year> ;
      eg:lifeExpectancy          76.7 ;
      .

  eg:o2 a qb:Observation;
      qb:dataSet  eg:dataset-le1 ;
      eg:refArea                 admingeo:cardiff_00pt ;                  
      eg:refPeriod               <http://reference.data.gov.uk/id/gregorian-interval/2004-01-01T00:00:00/P3Y> ;
      sdmx-dimension:sex         sdmx-code:sex-M ;
      sdmx-attribute:unitMeasure <http://dbpedia.org/resource/Year> ;
      eg:lifeExpectancy          78.7 ;
      .

  eg:o3 a qb:Observation;
      qb:dataSet  eg:dataset-le1 ;
      eg:refArea                 admingeo:monmouthshire_00pp ;                  
      eg:refPeriod               <http://reference.data.gov.uk/id/gregorian-interval/2004-01-01T00:00:00/P3Y> ;
      sdmx-dimension:sex         sdmx-code:sex-M ;
      sdmx-attribute:unitMeasure <http://dbpedia.org/resource/Year> ;
      eg:lifeExpectancy          76.6 ;
      .

  ...

この フラットにされた 構造はデータセットを組み合わせるのとクエリすることには容易であるが,ここにはいくらかの冗長性がある.たとえば,平均余命のための測度の単位はそのデータセット全体にわたって同じであり,観測値ごとには変化しない.このような状況に対して,データキューブ語彙は入れ子構造において高いレベルにコンポーネントを付与することができる.確かに,もしオリジナルのデータ構造宣言(Data Structure Declaration)を再検討すれば,データセットレベルに測度の単位を付与していることが分かる.正しい例は以下のとおりである.

  eg:dataset-le1 a qb:DataSet;
      rdfs:label "Life expectancy"@en;
      rdfs:comment "Life expectancy within Welsh Unitary authorities - extracted from Stats Wales"@en;
      qb:structure eg:dsd-le ;  
      sdmx-attribute:unitMeasure <http://dbpedia.org/resource/Year> ;
      .
      
  eg:o1 a qb:Observation;
      qb:dataSet  eg:dataset-le1 ;
      eg:refArea                 admingeo:newport_00pr ;                  
      eg:refPeriod               <http://reference.data.gov.uk/id/gregorian-interval/2004-01-01T00:00:00/P3Y> ;
      sdmx-dimension:sex         sdmx-code:sex-M ;
      eg:lifeExpectancy          76.7 ;
      .
      
  eg:o2 a qb:Observation;
      qb:dataSet  eg:dataset-le1 ;
      eg:refArea                 admingeo:cardiff_00pt ;                  
      eg:refPeriod               <http://reference.data.gov.uk/id/gregorian-interval/2004-01-01T00:00:00/P3Y> ;
      sdmx-dimension:sex         sdmx-code:sex-M ;
      eg:lifeExpectancy          78.7 ;
      .

  eg:o3 a qb:Observation;
      qb:dataSet  eg:dataset-le1 ;
      eg:refArea                 admingeo:monmouthshire_00pp ;                  
      eg:refPeriod               <http://reference.data.gov.uk/id/gregorian-interval/2004-01-01T00:00:00/P3Y> ;
      sdmx-dimension:sex         sdmx-code:sex-M ;
      eg:lifeExpectancy          76.6 ;
      .

  ...

介在する構造なしの観測値のみを含むデータセットでは,観測値の各々がすべての測度の値について,次元の値の完全なセットを持たなければならない.もしそのセットがスライスを用いて構造化されるのなら,次節で述べるように,さらなる省略が可能となる.

7. スライス

スライスは観測値の部分集合を一緒にしてグループ化するものである.これは観測値から任意の部分を一つ以上の次元の値を固定にしてキューブから均一に切り出して表現することを意図している.

スライスは複数の理由から用いられる

スライスの使用法を説明するために,サンプルのデータセットを地理的情報の一連にグループ化してみよう. それで,たとえば,"2004年から2006年の男性の平均余命観測値"を参照して,地域別に比較図を表現するアプリケーションをガイドすることができる.

まず最初に,"スライス・キー" をデータ構造定義に関連づけて,スライスしたい構造を定義する.これはそのスライス中では固定であるコンポーネントプロパティ(それは次元でなければならない)をリストする qb:SliceKey を生成することによって行われる.このキーは qb:sliceKey を用いた DSD に付与される.たとえば,

  eg:sliceByRegion a qb:SliceKey;
      rdfs:label "slice by region"@en;
      rdfs:comment "Slice by grouping regions together, fixing sex and time values"@en;
      qb:componentProperty eg:refPeriod, sdmx-dimension:sex .
      
  eg:dsd-le-slice1 a qb:DataStructureDefinition;
      qb:component 
          [qb:dimension eg:refArea;         qb:order 1];
          [qb:dimension eg:refPeriod;       qb:order 2];
          [qb:dimension sdmx-dimension:sex; qb:order 3];
          [qb:measure eg:lifeExpectancy];
          [qb:attribute sdmx-attribute:unitMeasure; qb:componentAttachment qb:DataSet;] ;
      qb:sliceKey eg:sliceByRegion .

インスタンスのデータでは,スライスは qb:Slice のインスタンスによって表され, qb:observation を介してスライス中の観測値にリンクされ,qb:sliceStructure の方法によりキーにリンクされる. qb:slice によってデータセットはスライスを指定する.かくして我々の例では次のようになる.

  eg:dataset-le2 a qb:DataSet;
      rdfs:label "Life expectancy"@en;
      rdfs:comment "Life expectancy within Welsh Unitary authorities - extracted from Stats Wales"@en;
      qb:structure eg:dsd-le-slice2 ;  
      sdmx-attribute:unitMeasure <http://dbpedia.org/resource/Year> ;
      qb:slice eg:slice2;
      .
  
  eg:slice2 a qb:Slice;
      qb:sliceStructure  eg:sliceByRegion ;
      eg:refPeriod               <http://reference.data.gov.uk/id/gregorian-interval/2004-01-01T00:00:00/P3Y> ;
      sdmx-dimension:sex         sdmx-code:sex-M ;
      qb:observation eg:o1b, eg:o2b; eg:o3b, ... .

  eg:o1b a qb:Observation;
      qb:dataSet  eg:dataset-le2 ;
      eg:refArea                 admingeo:newport_00pr ;                  
      eg:refPeriod               <http://reference.data.gov.uk/id/gregorian-interval/2004-01-01T00:00:00/P3Y> ;
      sdmx-dimension:sex         sdmx-code:sex-M ;
      eg:lifeExpectancy          76.7 ;
      .
      
  eg:o2b a qb:Observation;
      qb:dataSet  eg:dataset-le2 ;
      eg:refArea                 admingeo:cardiff_00pt ;                  
      eg:refPeriod               <http://reference.data.gov.uk/id/gregorian-interval/2004-01-01T00:00:00/P3Y> ;
      sdmx-dimension:sex         sdmx-code:sex-M ;
      eg:lifeExpectancy          78.7 ;
      .

  eg:o3b a qb:Observation;
      qb:dataSet  eg:dataset-le2 ;
      eg:refArea                 admingeo:monmouthshire_00pp ;                  
      eg:refPeriod               <http://reference.data.gov.uk/id/gregorian-interval/2004-01-01T00:00:00/P3Y> ;
      sdmx-dimension:sex         sdmx-code:sex-M ;
      eg:lifeExpectancy          76.6 ;
      .

  ...

ここで,個々の観測値に関する次元の値はまだ繰り返されている.これはデータを消費するアプリケーションにおいて,データ構造定義を最初にパースすることなく観測値を均等にクエリすることができて,スライス定義を探索できることを意味している.もしこれが望ましければ,次元のことなるレベルでの付与を宣言してこの冗長性を低減することができる.たとえば,

  eg:dsd-le-slice3 a qb:DataStructureDefinition;
      qb:component 
          [qb:dimension eg:refArea;         qb:order 1];
          [qb:dimension eg:refPeriod;       qb:order 2; qb:componentAttachment qb:Slice];
          [qb:dimension sdmx-dimension:sex; qb:order 3; qb:componentAttachment qb:Slice];
          [qb:measure eg:lifeExpectancy];
          [qb:attribute sdmx-attribute:unitMeasure; qb:componentAttachment qb:DataSet;] ;
      qb:sliceKey eg:sliceByRegion .

  eg:dataset-le3 a qb:DataSet;
      rdfs:label "Life expectancy"@en;
      rdfs:comment "Life expectancy within Welsh Unitary authorities - extracted from Stats Wales"@en;
      qb:structure eg:dsd-le-slice3 ;  
      sdmx-attribute:unitMeasure <http://dbpedia.org/resource/Year> ;
      qb:slice eg:slice3 ;
      .
  
  eg:slice3 a qb:Slice;
      qb:sliceStructure  eg:sliceByRegion ;
      eg:refPeriod               <http://reference.data.gov.uk/id/gregorian-interval/2004-01-01T00:00:00/P3Y> ;
      sdmx-dimension:sex         sdmx-code:sex-M ;
      qb:observation eg:o1c, eg:o2c; eg:o3c, ... .

  eg:o1c a qb:Observation;
      qb:dataSet  eg:dataset-le3 ;
      eg:refArea                 admingeo:newport_00pr ;                  
      eg:lifeExpectancy          76.7 ;
      .
      
  eg:o2c a qb:Observation;
      qb:dataSet  eg:dataset-le3 ;
      eg:refArea                 admingeo:cardiff_00pt ;                  
      eg:lifeExpectancy          78.7 ;
      .

  eg:o3c a qb:Observation;
      qb:dataSet  eg:dataset-le3 ;
      eg:refArea                 admingeo:monmouthshire_00pp ;                  
      eg:lifeExpectancy          76.6 ;
      .

  ...

データキューブ語彙は入れ子のスライスが可能である.DSD において多重のスライス・キーを宣言して, qb:subSlice を用いて,一つのスライス・キーをほかより狭いものにすることができる.その場合,そのスライスレベルに付与された次元のフラット化されていないデータを提供したとき, qb:Slice のインスタンスを入れ子にすることができて,さらに次元の値の重複した宣言を削減することができる.しかしながら,一般のフラットな表現では,単純なデータ消費が推奨される.あるツールチェインでは省略されたデータセットから(動的または静的な)フラットな表現を生成することを支援している.

8. 概念スキーマとコードリスト

データセット内の次元の値はあいまいさなく定義されなければならない.それは(時間インスタンス用の xsd:dateTime のような)型付きの値でもいいし,コードリストから引き出されたコードでもよい.同様に,データセット中に用いられる多くの属性は,自由テキスト記述というよりも,統制用語リストからのコード値を表している.データキューブ語彙においては,そのようなコードは通常の RDF のやり方で,URI 参照によって表現される.

関連の次元用に適した URI のセットがすでに存在することがしばしばある(我々の例では領域と時間期間表現のように).その他の場合には,変換用のデータセットが,まだ関連 URI にはなっていなくても,何らかのスキーマの統制用語を用いる場合もある.そのような場合には,SKOS を利用して,skos:Concept により個々のコード値と, skos:ConceptScheme により容認可能な値のセット全体を表現することが推奨される.

我々の動作例にてすでに用いられたように,性別に SDMX COG コードリストの変換から導かれた例でこれを説明する.このコードリストの関連するサブセットは次のとおり.

sdmx-code:sex a skos:ConceptScheme;
    skos:prefLabel "Code list for Sex (SEX) - codelist scheme"@en;
    rdfs:label "Code list for Sex (SEX) - codelist scheme"@en;
    skos:notation "CL_SEX";
    skos:note "This  code list provides the gender."@en;
    skos:definition <http://sdmx.org/wp-content/uploads/2009/01/02_sdmx_cog_annex_2_cl_2009.pdf> ;
    rdfs:seeAlso sdmx-code:Sex ;
    sdmx-code:sex skos:hasTopConcept sdmx-code:sex-F ;
    sdmx-code:sex skos:hasTopConcept sdmx-code:sex-M .

sdmx-code:Sex a rdfs:Class, owl:Class;
    rdfs:subClassOf skos:Concept ;
    rdfs:label "Code list for Sex (SEX) - codelist class"@en;
    rdfs:comment "This  code list provides the gender."@en;
    rdfs:seeAlso sdmx-code:sex .

sdmx-code:sex-F a skos:Concept, sdmx-code:Sex;
    skos:topConceptOf sdmx-code:sex;
    skos:prefLabel "Female"@en ;
    skos:notation "F" ;
    skos:inScheme sdmx-code:sex .

sdmx-code:sex-M a skos:Concept, sdmx-code:Sex;
    skos:topConceptOf sdmx-code:sex;
    skos:prefLabel "Male"@en ;
    skos:notation "M" ; 
    skos:inScheme sdmx-code:sex .

skos:prefLabel ではコードへの名前が与えられて, skos:note では説明が与えられ,skos:notation が, 他のシリアライズにも現れるかもしれない短い形式の記録用に用いられる.SKOS 仕様 [SKOS] は,skos:notation を利用するときに個々のデータタイプをカスタム化することを推奨しているが,ここではその表記は RDF コード化での使用を意図しているのではなく,(そのようなデータタイプの仕様ではなく)単に他の表現において用いられる表記を文章化したものである.

コードリストを開発するとき,階層構造には関係なく,コードリストで用いられるコードを表記するクラスも生成するのが便利であり,それはよい実践方法である.これは rdfs:range を用いて,定義される qb:ComponentProperty の値域を可能にし,それによりカスタムの SDMX-RDF アウェアなツールを必要とせずに,標準 RDF の閉世界チェッカーでコードリストを正当化することができる.上記例では,我々は先頭の大文字にして,クラス名を概念スキーマのそれと同じにした.

このコードリストでは次元のようなコード化されたプロパティと関連している.

  eg:sex a sdmx:DimensionProperty, sdmx:CodedProperty;
      qb:codeList sdmx-code:sex ;
      rdfs:range sdmx-code:Sex .

qb:codeList を用いてコードリストを明示的に宣言することは,強制ではないが,概念スキーマを定義するような場合には有用である.

コードリストが階層構造になっている場合がある.特に,データキューブが(地理情報の領域に渡って測度を省略するように)省略されたデータ値を含むようなときには,これは SDMX において用いられている.階層構造のコードリストは skos:hasTopConcept コードから skos:narrower 関係性を用いて,子供のコードの樹木あるいは束として下降コードにリンクされるべきである.公開されたツールの中には,関連する遷移可能なクロージャ skos:narrowerTransitive の鎖を自動的に推論するものもある.skos:narrower の利用は,頂上に付加的な省略のレイヤーを追加することにより,既存のスキーマを拡張し,新しい概念スキーマの宣言を可能にすることができる.すべての項目は,skos:inScheme 経由でスキーマにリンクされる.

9. データセットのメタデータ

データセットは,発見,表現,処理を支援するメタデータでマークアップされなければならない.ラベル表記(rdfs:label)やコメント記述(rdfs:comment)や日付(dcterms:date)のようなメタデータは,たいていのリソースに共通である.我々は DataSet に共通に必要な重要なメタデータのアノテーションを表現するのにはダブリン・コアの用語を用いることを推奨する.

9.1 データセットのカテゴリー

統計の公開者はしばしば彼らのデータセットを異なる領域,たとえば 教育労働輸送 などに分類する.我々はデータセット全体のそのような分類を記録するのに dcterms:subject の使用を推奨する.分類の用語には SDMX 内容指向ガイドラインの主題の分野(Subject-matter Domains)のような,粗いサイズの分類も含めば,データセットの発見を支援するための詳細なサイズの分類もある.

分類の案は,典型的には SKOS 語彙を用いて表現される.便宜的に,SDMX の主題分野は http://purl.org/linked-data/sdmx/2009/subject# にある SKOS 概念スキームによってコード化されている.

我々の例のデータセットでは次のようにマークアップされるであろう.

  eg:dataset1 a qb:DataSet;
      rdfs:label "Life expectancy"@en;
      rdfs:comment "Life expectancy within Welsh Unitary authorities - extracted from Stats Wales"@en;
      dcterms:date "2010-08-11"^^xsd:date;
      dcterms:subject
          sdmx-subject:3.2 ,      # regional and small area statistics
          sdmx-subject:1.4 ,      # Health
          admingeo:wales_gor_l ;  # Wales
      ...

ここで eg:Wales は場所のための適当な統制語彙から引き出された,ある skos:Concept である.

9.2 公開者の記述

データセットを公開する組織は,データセットのメタデータの一部として記録されなければならない.我々はここでもダブリン・コア用語 dcterms:publisher の使用を推奨する.組織は foaf:Agent のインスタンスとして表現されるか,あるいは org:Organization [ORG] のより特殊なサブクラスとして表現されなければならない.

eg:dataset1 a qb:DataSet;
    dc:publisher <http://example.com/meta#organization> .
    
<http://example.com/meta#organization> a org:Organization, foaf:Agent;
    rdfs:label "Example org" .    

SDMX 拡張語彙は公開のパイプライン(データフロー,タキソノミー報告,保守,関連契約条項)の更なる記述を支援することを注意しておく.

A. 本文書で用いられる名前空間

プレフィックス 名前空間 URI 語彙
rdf http://www.w3.org/1999/02/22-rdf-syntax-ns# RDF core
rdfs http://www.w3.org/2000/01/rdf-schema# RDF Schema
skos http://www.w3.org/2004/02/skos/core# Simple Knowledge Organization System
foaf http://xmlns.com/foaf/0.1/ Friend Of A Friend
void http://rdfs.org/ns/void# Vocabulary of Interlinked Datasets
scovo http://purl.org/NET/scovo# Statistical Core Vocabulary
dc http://purl.org/dc/elements/1.1/ Dublin Core
qb http://purl.org/linked-data/cube# The Data Cube vocabulary

B. 語彙参照

B.1 データセット

Class: qb:DataSet Sub class of: qb:Attachable Equivalent to: scovo:Dataset
観測値の集まりを表現する.ある共通の次元の構造に合わせて様々なスライスに組織化されることがある.

B.2 観測値

Class: qb:Observation Sub class of: qb:Attachable Equivalent to: scovo:Item
キューブにおける単一の観測値.一つ以上の互いに関連する計測値でありえる.
Property: qb:dataSet ( qb:Observation -> qb:DataSet )
この観測値の一部を成すデータセットを指示する.
Property: qb:observation ( qb:Slice -> qb:Observation )
データセットのスライス内部に含まれる観測値を指示する.

B.3 スライス

Class: qb:Slice Sub class of: qb:Attachable
次元の値の一部,スライスのコンポーネントプロパティ,を固定することによって定義されたDataSetのサブセットを表示する.
Property: qb:slice ( qb:DataSet -> qb:Slice )
次元の値の一部を固定することによって定義されたDataSetのサブセットを表示する.
Property: qb:subSlice ( qb:Slice -> qb:Slice )
次元の値を余分に固定して,より狭いスライスを指示する.たとえば,時系列スライスは時間と地理的領域の両方に広がるスライスのサブセットとなる.

B.4 次元,属性,測度

Class: qb:Attachable
属性と次元を有するすべてのものの抽象スーパクラス
Class: qb:ComponentProperty Sub class of: rdf:Property
次元と,属性もしくは測度を表現するすべてのプロパティの抽象スーパクラス
Class: qb:DimensionProperty Sub class of: qb:ComponentProperty qb:CodedProperty
キューブの次元を表現するコンポーネントのクラス
Class: qb:AttributeProperty Sub class of: qb:ComponentProperty
キューブにおける観測値の属性を表現するコンポーネントのクラス.たとえば,計測単位など.
Class: qb:MeasureProperty Sub class of: qb:ComponentProperty
観測される現象の計測値を表現するコンポーネントのクラス
Class: qb:CodedProperty Sub class of: qb:ComponentProperty
すべてのコード化された ComponentProperties のスーパクラス

B.5 再利用可能な汎用コンポーネントプロパティ

Property: qb:measureType ( -> qb:MeasureProperty )
汎用の測度次元.この次元の値は (DSD における測度のセットのうち) どの測度が obsValue (あるいはその他のプライマリ測度) により与えられているのかを示す.

B.6 データ構造定義

Class: qb:DataStructureDefinition Sub class of: qb:ComponentSet
ある DataSet あるいはスライスの構造を定義する.
Property: qb:structure ( qb:DataSet -> qb:DataStructureDefinition )
このデータセットに適合する構造を指示する.
Property: qb:component ( qb:DataStructureDefinition -> qb:ComponentSpecification )
データセットの構造に含まれるコンポーネント仕様を指示する

B.7 コンポーネント仕様 - for qualifying component use in a DSD

Class: qb:ComponentSpecification Sub class of: qb:ComponentSet
ある DSD における使用に特定されたコンポーネント (属性,次元など) のプロパティ定義に用いられる.
Class: qb:ComponentSet
一つ以上の ComponentProperties を参照するものの抽象クラス
Property: qb:componentProperty ( qb:ComponentSet -> qb:ComponentProperty )
ある DataSet に期待される ComponentProperty (すなわち属性/次元),もしくはあるスライスキーを固定した次元を指示する.
Property: qb:order ( qb:ComponentSpecification -> xsd:int )
この構造のコンポーネント集合のための優先順序.表現の順序をガイドするのに用いられる.低い順序数から高い順序数へ,最後に順序数なしのコンポーネントがくる.
Property: qb:componentRequired ( qb:ComponentSpecification -> xsd:boolean )
DSD や MSD の文脈において,必須コンポーネント(true)か,オプショナル(false)かを指示する.
Property: qb:componentAttachment ( qb:ComponentSpecification -> rdfs:Class )
コンポーネントプロパティが付くところのレベルを指示する.これはある qb:DataSet, qb:Slice か qb:Observation, あるいは qb:MeasureProperty である.
Property: qb:dimension ( -> qb:DimensionProperty ; sub property of: qb:componentProperty )
コンポーネントが次元であることを明示的にいう,qb:componentProperty に代わる方法.
Property: qb:measure ( -> qb:MeasureProperty ; sub property of: qb:componentProperty )
コンポーネントが測度であることを明示的にいう,qb:componentProperty に代わる方法.
Property: qb:attribute ( -> qb:AttributeProperty ; sub property of: qb:componentProperty )
コンポーネントが属性であることを明示的にいう,qb:componentProperty に代わる方法.
Property: qb:measureDimension ( -> qb:DimensionProperty ; sub property of: qb:componentProperty )
コンポーネントが測度次元であることを明示的にいう,qb:componentProperty に代わる方法.

B.8 Slice definitions

Class: qb:SliceKey Sub class of: qb:ComponentSet
対応するスライスにおいて固定された DataSet のコンポーネントプロパティのサブセットを指示する.
Property: qb:sliceStructure ( qb:Slice -> qb:SliceKey )
このスライスに対応するサブ・キーを指示する.
Property: qb:sliceKey ( qb:DataSet -> qb:SliceKey )
このデータセットにおけるスライスに用いられるスライス・キーを指示する.

B.9 Concepts

Property: qb:concept ( qb:ComponentProperty -> skos:Concept )
ある ComponentProperty により計測または指示される概念を与える.
Property: qb:codeList ( qb:CodedProperty -> skos:ConceptScheme )
ある CodedProperty に関連したコードリストを与える.

C. 謝辞

この著作は2010 2月にイギリスのサニンデール(Sunningdale)で開かれた ONS 主催の、SDMX とセマンティックウェブによる統計データセット公開に関するワークショップに始まり、引き続きオランダのティルブルフ(Tilburg)で開かれた ODaF 2010 ワークショップの協力共同に基づくものである.このワークショップに参加され、この著作に協力されたすべての参加者に感謝したいが,特に SDMX と核となるデータキューブ表現に必要な洞察について忍耐強く説明された Arofan Gregory に感謝したい.

また,John Sheridan のコメント,示唆,およびサポートにも感謝したい.

D. 未解決事項

Based on early use experiences with the vocabulary the working group is considering some clarifications and modifications to the specification. Each of the candidate areas under consideration are listed as issues below. Note that there is, as yet, no commitment that all (or indeed any) of these areas will be addressed by the working group.

Issue-29: Criteria for well-formedness

Specify additional well-formedness criteria to which cube-publishers should adhere to facilitate tool interoperability.

Issue-30: Declaring relations between cubes

Consider extending the vocabulary to support declaring relations between data cubes (or between measures within a cube).

Issue-31: Supporting aggregation for other than SKOS hierarchies

The Data Cube vocabulary allows hierarchical code lists to be used as dimensions values by means of SKOS. Consider whether to extend this to support use of other hierarchical relations (e.g. geo-spatial containment) without requiring mapping to SKOS.

Issue-32: Relationship to ISO 19156 - Observations & Measurements

One use case for the Data Cube vocabulary is for the publication of observational, sensor network and forecast data sets. Existing standards for such publication include OGC Observations & Measurements (ISO 19156). There are multiple ways that Data Cube can be mapped to the logical model of O&M. Consider making an explicit statement of the ways in which Data Cube can be related to O&M as guidance for users seeking to work with both specifications.

Issue-33: Collections of observations and well-formedness of slices

Experience with Data Cube has shown that publishers often wish to publish slices comprising arbitrary collections of observations. Consider supporting this usage, either through a clarification of qb:Slice or through an additional collection mechanism.

Issue-34: Clarify or drop qb:subslice

Use of qb:subslice in abbreviated datasets can result in ambiguity. Consider clarifying or deprecating qb:subslice.

Bring all references into W3C style

E. 資料

E.1 規範資料

規範資料はない.

E.2 参考資料

[COG]
SDMX Contnent Oriented Guidelines, http://sdmx.org/?page_id=11
[LOD]
Linked Data, http://linkeddata.org/
[OLAP]
Online Analytical Processing Data Cubes, http://en.wikipedia.org/wiki/OLAP_cube
[ORG]
An Organization Ontology, http://www.epimorphics.com/public/vocabulary/org.html
[OS-GEO]
Ordnance Survey Administrative Geography Ontology v1, http://www.ordnancesurvey.co.uk/ontology/v1/AdministrativeGeography.rdf
[RDF-PRIMER]
Frank Manola; Eric Miller. RDF Primer. 10 February 2004. W3C Recommendation. URL: http://www.w3.org/TR/2004/REC-rdf-primer-20040210/
[SCOVO]
The Statistical Core Vocabulary, http://sw.joanneum.at/scovo/schema.html
SCOVO: Using Statistics on the Web of data, http://sw-app.org/pub/eswc09-inuse-scovo.pdf
[SKOS-PRIMER]
Antoine Isaac; Ed Summers. SKOS Simple Knowledge Organization System Primer. 18 August 2009. W3C Note. URL: http://www.w3.org/TR/2009/NOTE-skos-primer-20090818/
[TURTLE-TR]
Eric Prud'hommeaux, Gavin Carothers. Turtle: Terse RDF Triple Language. 09 August 2011. W3C Working Draft. URL: http://www.w3.org/TR/2011/WD-turtle-20110809/