はじめに
デジタル・ヒューマニティーズの研究において、構造化されたデータは極めて重要なリソースです。人物、場所、作品、出来事などの情報が機械可読な形で整理されていれば、大規模なデータ分析や異なるデータセット間の連携が可能になります。
Wikidata は、ウィキメディア財団が運営する自由な知識ベースで、1億件以上の項目(アイテム)を収録しています。そして Wikidata Query Service は、このデータベースに対してSPARQLクエリを実行し、結果をさまざまな形式で可視化できる無料のWebサービスです。
Wikidata Query Serviceの特徴
1. SPARQLによる柔軟な検索
SPARQL(スパークル)は、RDF(Resource Description Framework)データを検索するためのクエリ言語です。SQLに似た構文で、Wikidataの知識グラフに対して複雑な条件での検索を行えます。
例えば、「日本出身で、ノーベル賞を受賞した人物の一覧」や「17世紀にヨーロッパで出版された書籍のうち、現在デジタル化されているもの」といった、複数の条件を組み合わせた高度な検索が可能です。
2. 多様な結果表示
クエリの結果は、以下のような形式で表示できます。
- テーブル: 標準的な表形式での表示
- 地図: 座標データを含む結果を地図上にプロット
- タイムライン: 時間情報を持つデータの時系列表示
- バブルチャート: 数値データの比較
- 折れ線グラフ / 棒グラフ: 統計的な可視化
- ツリーマップ: 階層的データの表示
- 画像グリッド: 画像URLを含むデータのギャラリー表示
3. 豊富なサンプルクエリ
Wikidata Query Serviceには、多数のサンプルクエリ(Examples)が用意されています。SPARQLに不慣れな方でも、サンプルを参考にしながら自分のクエリを組み立てることができます。
4. Linked Open Data との連携
Wikidataは Linked Open Data(LOD)の中核的なハブとして機能しています。各アイテムは一意のURI(例:Q42 = ダグラス・アダムズ)を持ち、他の知識ベース(DBpedia、VIAF、GNDなど)とのリンク情報を含んでいます。
SPARQLの基本
基本的なクエリ構造
SPARQLクエリの基本構造は以下の通りです。
SELECT ?item ?itemLabel
WHERE {
?item wdt:P31 wd:Q5 . # instance of: human
?item wdt:P27 wd:Q17 . # country of citizenship: Japan
?item wdt:P166 wd:Q35637 . # award received: Nobel Prize
SERVICE wikibase:label { bd:serviceParam wikibase:language "ja,en" . }
}
wdt:P31はプロパティ「分類(instance of)」wd:Q5はアイテム「人間(human)」SERVICE wikibase:labelは自動的にラベル(名称)を取得する構文
よく使うプロパティ
| プロパティ | 意味 | 例 |
|---|---|---|
| P31 | 分類(instance of) | Q5(人間)、Q515(都市) |
| P17 | 国 | Q17(日本) |
| P27 | 国籍 | |
| P569 | 生年月日 | |
| P570 | 没年月日 | |
| P625 | 座標 | |
| P18 | 画像 | |
| P106 | 職業 |
DH研究での活用例
歴史人物の分析
特定の時代・地域の人物データを抽出し、職業分布や活動地域を分析できます。
# 江戸時代の浮世絵師一覧(座標付き)
SELECT ?artist ?artistLabel ?birthPlace ?birthPlaceLabel ?coords
WHERE {
?artist wdt:P106 wd:Q1028181 . # occupation: ukiyo-e artist
?artist wdt:P19 ?birthPlace . # place of birth
?birthPlace wdt:P625 ?coords . # coordinates
SERVICE wikibase:label { bd:serviceParam wikibase:language "ja,en" . }
}
このクエリの結果を地図表示にすると、浮世絵師の出身地の分布が一目で分かります。
文化資源の調査
博物館のコレクションや文化財のデータをWikidataから取得し、統計的な分析を行えます。例えば、特定の美術館が所蔵する作品の制作年代分布や、ジャンル別の割合を調べることができます。
書誌データの探索
著者、出版地、出版年などの条件で書籍データを検索し、出版活動の地理的・時系列的なパターンを分析できます。
言語学的調査
Wikidataには多言語のラベル情報が含まれているため、特定の概念がどの言語でどのように表現されるかを比較する言語学的な調査にも活用できます。
使い方
- Wikidata Query Serviceにアクセス
- 左側の「Examples」からサンプルクエリを参照するか、エディタにクエリを入力
- 「Execute」ボタン(▶)でクエリを実行
- 結果表示エリアで、テーブル、地図、グラフなどの表示形式を切り替え
- 結果はCSV、JSON、TSVなどの形式でダウンロード可能
注意点とヒント
- クエリの実行時間には制限(60秒)があるため、大量のデータを取得する場合は
LIMIT句を活用しましょう OPTIONAL句を使うと、データが存在しない場合も結果に含めることができます- Wikidataは誰でも編集できるため、データの正確性は保証されません。重要な分析では、結果の検証を行いましょう
- クエリの共有機能(Short URL)を使えば、他の研究者とクエリを簡単に共有できます
SERVICE wikibase:labelを忘れると、結果がIDだけの表示になります
発展的な利用
他のツールとの連携
Wikidata Query Serviceで取得したデータをCSVでダウンロードし、Palladioで可視化したり、TimelineJSのスプレッドシートに取り込んだりすることで、より豊かな分析・表現が可能になります。
プログラムからのアクセス
SPARQLエンドポイント(https://query.wikidata.org/sparql)にHTTPリクエストを送ることで、PythonやRなどのプログラムから直接クエリを実行できます。研究のワークフローに組み込むことで、データ取得を自動化できます。
まとめ
Wikidata Query Serviceは、1億件以上の構造化データに対してSPARQLクエリを実行し、多様な形式で結果を可視化できる強力な無料ツールです。DH研究において、人物・場所・作品・出来事の関係性を大規模に探索するための基盤として、非常に有用です。SPARQLの学習コストはありますが、サンプルクエリを出発点として徐々に習得していくことをお勧めします。