統計LODの基本的な使い方

本サイトでは、LODデータを取得するためのエンドポイント画面を提供しています。
このページでは、「SPARQL エンドポイント」を利用して、統計LODのデータを取得する方法をご紹介します。
SPARQLはRDFを用いて定義されたデータを取得するためのクエリー言語です。
SPARQL エンドポイント」では、SPARQLによって記載したクエリーを実行し、データを取得することができます。
なお、データの取得の際に使用するRDFスキーマ情報は、「RDFスキーマ情報」をご参照ください。

統計データの取得

統計LODでは、「SPARQL Queryのサンプル」で実行可能ないくつかのサンプルクエリーを提供していますが、そのうち、「新宿区の日本人の人口を求める」クエリーを使って基本的なデータ取得の方法をご紹介します。

「新宿区の日本人の人口を求める」クエリー

2行目はSELECT句で、取得する対象を指定します。
3行目以降は検索条件を指定します。検索条件は、主語、述語、目的語の3つの要素の組合せ(トリプル)で表現します。
(ア)は、データを取得する対象の変数を含んだトリプルです。

ここでは主語はセルIDとなります。このクエリーは人口を取得するためのクエリーですが、セルIDが不明のため、主語(セルID)も変数としています。セルIDは「?s」、人口は「?o」という変数名を付けています。
このため、セルIDと人口をいずれも検索しますが2行目のSELECT句で結果を取得する対象として人口(?o)を指定しているため、クエリーの結果としては人口のみが取得されます。
この条件のみで検索を行うと、登録されている人口全てが取得されます。 そこで、5行目以降で、さらに対象を絞り込みます。次元の値を目的語として設定することで、その条件に合致したデータを取得することができます。

(イ)では、検索対象の地域を指定しています。セルIDについて地域が新宿区であるという定義は、実際のデータは2つのトリプル(主語-述語-目的語の組合せ)によって定義されていますが、ここでは「/」によって2つのトリプルをまとめて1行で表しています。
これはまとめずにそれぞれを記載することも可能です。トリプルごとに記載する場合は以下のようになります。

(ウ)ではさらに検索条件を絞り込みます。

検索条件を複数設定した場合、上記の構文の場合はすべてAND条件(論理積)となります。
そのため、例えば「次元の値」を複数設定するような場合は、OR条件(論理和)で取得するための記述が必要となります。
OR条件(論理和)で取得する場合は「UNION」を使用します。
「新宿区の日本人の人口を求める」クエリーをもとに、OR条件(論理和)で取得するための記述方法の例を以下に示します。
次元「男女の別」の次元の値が「男」の場合と「女」の場合の人口を一度で取得する場合のクエリーの例です。