Wikidata:SPARQLクエリサービス/クエリ・ヘルパー

From Wikidata
Jump to navigation Jump to search
This page is a translated version of the page Wikidata:SPARQL query service/Query Helper and the translation is 100% complete.

Other languages:
English • ‎dansk • ‎中文 • ‎日本語

クエリ・ヘルパーを利用するとSPARQLを理解しなくても、クエリの作成や既存のクエリの改変ができます。

このツールを使用すると、視覚的なインターフェイスから入力した内容に従いSPARQLクエリを改変し、その逆も成立します。

クエリ編集機能の左半分に表示されます。

現在の制限事項

これは試験的なツールであるため、SPARQLクエリを破損する可能性があります

  • JSONシリアライゼーションには改行を入れないでください。
  • テンプレートの配置は、例えば上部や下部などクエリの任意の場所を選択できます。
  • テンプレートの内容がクエリのURL欄に追加されます。それが問題の原因になる可能性があります。

クエリの作成方法

ホッキョクグマとライオンを飼育している動物園のクエリを作ってみましょう

この節ではクエリ・ヘルパーを使って、クエリをゼロから作成する方法を説明します。

このサンプルでは、ホッキョクグマとライオンをどちらも飼育している動物園の項目を求めます。

フィルターに「分類 動物園」、「飼育生物 ホッキョクグマ」、「飼育動物 ライオン」を入力

  1. 「フィルター」アイコンを押す
  2. 入力欄に「動物園」と入力する
  3. 表示された候補から「動物園 (Q43501)」を選択
  4. 「フィルター」アイコンを押し 「ホッキョクグマ (Q33609)」を選択
  5. 「フィルター」アイコンを押し「ライオン (Q140)」を選択

欄を追加:「公式サイト」「画像」「座標」「設立」「飼育生物」

  1. 「表示」を押し「公式ウェブサイト (P856)」を選択
  2. 「表示」を押し「画像 (P18)」を選択
  3. 「表示」を押し「位置座標 (P625)」を選択
  4. 「表示」を押し「設立(P571)」を選択
  5. 「表示」を押し「飼育生物 (P1990)」を選択

クエリの改変の方法

クエリ・ヘルパー - 「ネコのクエリ」を編集する手順

この節ではクエリ・ヘルパーを利用してクエリの編集をする方法を説明します。

「ネコ」を「動物園」に変える

  1. サンプルの「ネコのクエリ」を選択
    (訳注:「試す!」のボタンをクリックするとクエリ・ヘルパー画面に遷移する)
  2. 「ネコ」(「フィルター」欄の右端)をクリックして値を変更する
  3. 入力欄をクリック、「動物園」と入力
  4. ドロップダウンの一覧から「動物園 (Q43501)」を選択

左の青いボタン(白い三角矢印)をクリックすると、クエリは「ネコの類」ではなく「動物園の類」を抽出します

フィルターの追加「国 ドイツ」

  1. 「フィルター」ボタンを押す
  2. 「ドイツ」と入力
  3. 「ドイツ (Q183)」を選択
  4. 自動的にできた「本国」という欄を変更するためにクリック
  5. 「国」と入力
  6. ドロップダウンの一覧から「国 (P17)」を選択

これでクエリは「動物園の類」から「ドイツ」に絞り込んで表示します

「設立」「画像」欄を追加

  1. 「表示」ボタンを押す
  2. 「設立」と入力
  3. 「設立 (P571)」を選択
  4. 「表示」ボタンを押す
  5. 「画像」と入力
  6. 「画像 (P18)」を選択

クエリには「画像」と「設立」の2つの欄が追加されました。表示はタイムライン形式かImage Grid(画像の集合)形式から選べます(訳注:クエリ指定欄の下の下向き三角で切り替え)

クエリ用テンプレート

クエリ用テンプレートを利用する

クエリ・ヘルパー - クエリ用テンプレート 女姓の首長がいる最大の都市

クエリ用テンプレートが明示された場合、クエリヘルパーの右欄にクエリ内容を文字で表示します。クエリ・ヘルパーを使うと、SPARQLがわからなくてもクエリの作成や既存のクエリの改変ができます。

このツールを使うと利用者が視覚的なインターフェイスを介して入力した内容に基づいて、SPARQLクエリを改変します。逆の操作も成立します。

操作はクエリ編集画面の左欄に表示されます。

この文章形式の表示では、青字の部分をクリックして改変できます。

詳細を指定する指示が表示されますが、変更したい場合は文字を入力して検索できます。

一覧からどれか1項目をクリックして選択すると、右欄の文字で表示したクエリ内容で該当する部分が書き換えられ、同様にSPARQLクエリも変更されます。

クエリのサンプルの一覧内で「#template」を検索することによりクエリテンプレートを定義した全てのクエリを見つけることができます(「#template」で検索する方法の詳細、もしくはその検索の短縮リンクを説明してください)。

クエリ用テンプレートの作成方法

クエリ用テンプレートはテンプレートの説明が提供されていると作成できます。一例としてクエリのサンプルをご提供し、テンプレートの詳細を示します。

設定はJSONに表現され、クエリにはSPARQLコメントとして次のように表示します。

#TEMPLATE=[JSON_DEFINITION]

JSON設定例:

{
  "template": "Largest ?c with ?sex head of government",
  "variables": {
    "?sex": {},
    "?c": {
      "query": "SELECT DISTINCT ?id WHERE {  ?c wdt:P31 ?id.  ?c p:P6 ?mayor. }"
    }
  }
}
キー 使用例 説明 SPARQLクエリの内容
テンプレート この文章は利用者にクエリの説明として表示されます。クエリ内のどの変数が実際の値と置換されるか、文中に説明するとよいでしょう。 Largest ?c with ?sex head of government 文中の「?c」と「?sex」の2変数を定義します

この変数に対する値の定義は必須です

SPARQLクエリ内に設定。

BIND(wd:Q6581072 AS ?sex)

BIND(wd:Q515 AS ?c)
変数 この節ではテンプレートの必ず設定が必要な変数について説明します。あるいはまた、その変数に対する値を助言するSPARQLクエリを任意で設定することもできます。
"?sex": {},
"?c": {
  "query": "[SPARQL]"
}
「?c」と「?sex」の2変数を定義します

変数?cに対するSPARQLクエリは項目の設定に役立ちます。

SELECT DISTINCT ?id WHERE
{ ?c wdt:P31 ?id.?c p:P6 ?mayor. }
クエリ用テンプレートが提供するSPARQLクエリを、このクエリに埋め込むと結果にラベルと説明がつきます。閲覧が?回に達すると、次からは説明(?count) が検索の手がかりになります。
SELECT ?id ?label ?description WITH {				 

[QUERY]		

} AS %inner			
WHERE {	
INCLUDE %inner				
?id rdfs:label ?label.				
?id schema:description ?description.				
FILTER((LANG(?label)) = "en")				
FILTER((LANG(?description)) = "en")			} 
ORDER BY DESC(?count)			
LIMIT 20