1. SPARQLによる検索 |
2. 例1:ある人名の生没年、標目形、標目形カナヨミを調べる |
3. 例2: 没年から典拠URI、名称実体URI、標目形、標目形カナヨミを調べる |
4. 例3:ある件名標目の上位語、下位語などを調べる |
5. 例4:ある代表分類に属する件名標目を調べる
このページでは、SPARQLによる検索方法について説明します。GUI上での検索方法については「
ヘルプ」の該当箇所をご覧ください。
1. SPARQLによる検索
当システムは、
RDF形式で典拠データをデータベースに格納しており、RDFで記述されたデータを検索・操作するためのコンピュータ言語である
SPARQLを用いて外部から検索することができます。SPARQLによるクエリは、RDFのモデルのうち、未知の部分を変数(半角クエスチョンマーク(
?)で始まる名前)として変数を含むRDFグラフを記述し、変数にあてはまるURIやリテラル値を取得する、という形式になります。
変数を含むグラフのパターンは、半角波括弧(
{})で囲み、
SQLと同様に
WHERE句に記述します。また、取り出したい変数は、SQLと同様に
SELECT句に列挙します。
PREFIX句を用いて名前空間URIの接頭辞を宣言することで、URIを修飾名として記述することができます。
SPARQLを利用するAPI
SPARQL Endpoint(APIのURI)は
http://id.ndl.go.jp/auth/ndla です。
?queryパラメータ値としてURLエンコードしたSPARQLクエリを送ることで、レスポンスを得ることができます。一回に取得できるデータ件数の上限は100件です。
下記のフォームを用いて、SPARQLによる検索を試してみることができます。
RDFとして格納されるデータ項目については、「
4. RDF/XML形式によるフォーマット仕様」をご参照ください。
2. 例1:ある人名の生没年、標目形、標目形カナヨミを調べる
「夏目漱石」の
典拠情報URI、
名称実体URI、生年、没年、標目、標目カナヨミをそれぞれ、変数「
?uri1」、「
?uri2」、「
?birth」、「
?death」、「
?heading」、「
?yomi」とすると、これらの変数を含むRDFグラフは下図のようになります。
RDFグラフをクエリにすると、以下のとおりとなります。
標目形が「夏目」で始まる典拠データの生年、没年、標目形を調べるクエリは以下のとおりになります。
3. 例2:没年から典拠URI、名称実体URI、標目、標目カナヨミを調べる
没年が「1962」である典拠URI、名称実体URI、標目、標目カナヨミをそれぞれ、変数「
?uri1」、「
?uri2」「
?heading」、「
?yomi」とすると、これらの変数を含むRDFグラフは下図のようになります。

RDFグラフをクエリにすると、以下のとおりとなります。
100件目以降のデータを取得する場合は、OFFSET句を使用します。
4. 例3:ある件名標目の上位語、下位語などを調べる
件名標目「インターネット」の典拠URI、上位語のURI、上位語のラベルをそれぞれ変数「
?uri1」、「
?uri2」、「?label」とすると、これらの変数を含むRDFグラフは下図のようになります。
下位語、関連語、同義語を調べる場合は、「skos:broader」をそれぞれ「skos:narrower」、「skos:related」、「xl:altLabel」に置換えます。
5. 例4:ある代表分類に属する件名標目を調べる
分類記号NDLCの「DM225」に属する件名標目の典拠URI、ラベルを変数「
?uri」、「
?label」とすると、これらの変数を含むRDFグラフは下図のようになります。
分類記号NDLCの「M87」かつNDC9の「440」に属する件名標目の典拠URI、ラベルを変数「
?uri」、「
?label」とすると、これらの変数を含むRDFグラフは下図のようになります。