ウィキデータ(Wikidata)であそぼう : 基本の検索と地図表示

ウィキデータの基本的な使い方は、検索になります。

Google検索で皆さんが美味しいおうどんのお店を探したり、100年前に活躍した政治家についての情報を探したりするように、ウィキデータにあるデータから欲しいデータを探すのです。

しかし日本語のデータはまだあまり充実しておらず、お手軽に楽しさを実感できるものとそうでもないものの落差がとても激しい状態です。私が面白いと思うものが皆さんにも刺さるかどうかは全くわかりません。

そこで、特に興味がなくても馴染みがある一般的なもの、小さくある程度まとまったデータとして、大阪周辺にある橋のデータをそこそこ整備をしてみました。*1

橋、皆さんご存知だと思いますが、あの川とかに掛かっている橋です。

まずは検索してみる

ウィキデータで大阪市北区の橋を検索をクリックすると、赤い点の付いた大阪駅周辺の地図を表示します。

f:id:Suisui:20190422224940p:plain
大阪市北区の橋検索結果

クリックした先の地図はおおかたGoogleMapと同じように移動や拡大縮小できます。赤い点をクリックすると、橋の名前と位置が表示されます。

地図の表示があまり凝っていないのは、今の所はウィキデータは地図に特化したサイトじゃないのでそのへんあんまり頑張ってないんだぐらいに思っていただけるといいかと思います。

表示までの仕組み

この地図は、私があらかじめ作っておいたものではなく、クリックしてからウィキデータ内を検索して結果を地図に表示しています。そのため、ウィキデータにある位置情報を変更してもう一度クリックすると実際に位置が変わります。

リンクには、ウィキデータを検索するのに使うSPARQL(スパークル)という言語で、大阪市北区の橋を地図に表示してね、と書いています。言語でどう書くかはひとまず置いておいて、当たり前すぎて申し訳ないのですが、検索している様子は以下のような絵にできます。

f:id:Suisui:20190423000645p:plain
ウィキデータの検索のイメージ

後々SPARQLについてもかければ書いていこうと思うので、まだ焦る必要はありませんが、実際にどう書いているか興味のある方は、地図の画面左下にあるWikidata Query Serviceという文字をクリックしてみてください。コメントを読めば大したことが書いてないことがわかるかと思います。

f:id:Suisui:20190422233949p:plain
検索SPARQL表示のリンク

ウィキデータでは、橋や大阪市北区といったモノは、ラベルではなくQに数字が何桁か付いたIDで指定しています。また、Pに数字が続いているのはプロパティと呼んでいて、普通に表を書いたときに左側に並ぶ「なんであるか」の属性の定義です。ウィキペディアを編集される方であれば、infoboxの左側に並んでいるものがP、右側に並んでいるものがQと理解するのがわかりやすいかもしれません。今回は細かくは省きます。

f:id:Suisui:20190423000430p:plain
京橋よりinfoboxとウィキデータのPとQの関係

これから紹介する例でもSPARQLを使っていきますが、今わからなくても特に気にする必要はありません。触れたことのない人はみんな難しいと思っていて、多言語化など扱いやすくするため方法が今検討されています。今回は、ウィキデータ、検索するならSPARQL、とだけ覚えていただけると少し楽しくなるでしょう。

ちょっといじってみる

ウィキデータの面白いところは、検索での絞り込み条件をユーザーが自由自在に操れることです。

例えば、北区ではなく中央区の橋にする場合、検索で北区のIDにしていたところを中央区のIDに変更するだけです。そして、ちょっと工夫して、大阪市の区全部に登録されている橋というのもできます。*2

感覚としてはおうどんやさんを探してたけど、やっぱりピザ屋さんにしよう、ぐらいの感覚です。

こういった形で、データをいろいろな形で検索し、それをそれっぽい表示にすることができます。

今回の例に必要なデータ

応用クエリ

今回はほとんど同じ方法で、検索する場所や物を変えた物を紹介します。

*1:ほかにこんなものでやってみたい、というご希望などあれば教えていただけるとなんかできるかもしれません

*2:大阪市にある区を検索し、それらが所在地になっている橋を検索しています