API, URIとPythonを使って、Wikidataからデータを取得する (2) Wikidata URIとAPI

Wikidata

はじめに

この記事は、Wikidataから「日本の首都は?」のように、「○○の××は何か?」ということを調べる方法についての記事です。

他の記事

第1回:Wikidataの前提知識

このシリーズの他の記事は、「Wikidata」カテゴリーから飛んでください。
スマホの方は画面右下の「サイドバー」ボタンから、それ以外の方は画面右側のサイドバーから。

今回のテーマ

今回は、WikidataのAPI, URIについて説明します。

APIやURIとは何か、という点については深く触れません。Wikidata API, URIの仕様についての説明と、具体的な形式についての説明になります。

Wikidata API, URIの種類

Wikidataは、複数のデータアクセス手段を提供しています
このシリーズでは、このうち以下の2つのアクセス手段を使用します。

  • リンクトデータインターフェース(URI)
  • MediaWiki 操作 API

次回以降に、HTTPのGETメソッドをPythonで呼び出す方法を解説する予定ですが、今回は特にコードを書く必要はありません。

リンクトデータインターフェース(URI)

URIは、エンティティのIDが分かっていて、そのエンティティに関するデータを取得する場合に使います。

"https://wikidata.org/wiki/Special:EntityData/" + エンティティID + データ形式

という形式の文字列になります。

例えば、日本(Q17)に関するデータをJSON形式で表示したい場合は、

https://wikidata.org/wiki/Special:EntityData/Q17.json

です。

上記のリンクは、ブラウザで飛んでもらうと、しばらくしてJSON形式の文字列が画面に表示されると思います。

MediaWiki 操作 API

このAPIは、以下の操作をするために使います。

  • エンティティ名で検索をかけて、そのエンティティID(実際には検索にヒットしたエンティティのリスト)を取得する
  • プロパティ名で検索をかけて、プロパティID(これも実際にはリスト)を取得する

APIサンドボックスが提供されています

APIの各パラメータ

2つの操作で共通の設定は以下の通り。

  • 「action」に「wbsearchentities」
    • 「search」に検索する文字列
    • 「language」に「ja」(日本語以外で検索する場合はその言語)
  • 「format」に「json」

プロパティを検索する場合は、上の設定に

  • 「type」に「property」

を付け加えてください。

APIサンドボックスの使いかたなど

基本的には上に述べた設定を打ち込むだけですが、インデントの入った設定は、上のレベルの設定を行った後に出現するタブに切り替えて行います。

最初はこうなってます(画像小さくて申し訳ないです)。

actionを選択すると左に新しくタブが出現。

searchとlanguageを指定して、

Make Requestを押すとこうなる。

最後に

今回は、APIとURIの概要について説明しました。

まとめると、

  • エンティティIDからエンティティの情報→URI
  • エンティティ、プロパティ名からID→API

というイメージで良いと思います。

厳密な話は次回以降に。

このシリーズの他の記事は、「Wikidata」カテゴリーから飛んでください。
スマホの方は画面右下の「サイドバー」ボタンから、それ以外の方は画面右側のサイドバーから。

コメント

タイトルとURLをコピーしました