2021年のWikimedia活動

あけましておめでとうございます。2022年になりました。本年もよろしくお願いいたします。

自分の忘備録として、わずかながらの活動をメモしておきます。

まず、2020年に書いたと思っていたエントリが残っていなくて悲しいです。どこに書いたつもりになっていたんだろう。。と思い出してみたところ、2020年2021年は2年連続で11月に本業で大きな変更があって、どちらも12月は仕事のことばかり考えていたのを思い出しました。むりでした。

コロナ禍での活動について

仕事がほぼリモートワークになったため、そのための環境整備と、仕事時間と自宅時間の切り替えの時間をとるようにしています。リモートワークを2年弱やってみて、仕事とプライベートを意識的に切り替えているかどうかでかなりの差が出てくるのを実感しています。自由時間に関しては、朝起きる時間を数十分遅くできること以外変わらず、通勤で移動しない分は別に運動する必要もあって増えていません。むしろ買い物に出なければならない分減っています。切り替えで何をしているかといえば仕事のことを考えずにぼーっとする、というある種座禅のようなことをしているだけです。書くのは簡単ですが、やるのはかなり難しいです。そのかわり何かをやっていても、意図的にやらなくても得られない脳内の切り替えが得られます。

Wikimediaの活動では、できるだけ自宅だけでできることにスライドしました。結果、一番最初のころにやっていた翻訳ぐらいしか残っていない、ということになりました。自由な時間は増えていないし、リモートワーク用に機材を少し分けたりしたため、PC環境が弱まりました。

そんなわけで、私自身の生活はここ2年で劇変したものの、Wikimedia関連はこれまでのペースとほとんど変わらず、1ヶ月ほど活動のあと数ヶ月全く活動できない、という履歴を見る限りはほとんど変わらない状態に落ち着いています。

2021年やったこと

数本の翻訳と、やりかけたのを引き継いでいただいたことだけがコミットできた内容です。

  • カリヨン - Wikipedia enからの翻訳 + α、若い頃やっていた鐘史学で調べた内容とかを含んでいます。周辺の記事もやりたい気持ちはあるのですが、この分野は書籍が主にオランダ語で、Wikipediaに立派な記事が出来ていてくれないと厳しいです。国内のカリヨンについては引き続き調査中です。

  • マイコラ・レオントーヴィッチュ - Wikipedia en, ukからの翻訳、英語版のソースの大部分はウクライナ語の個人サイトの内容を翻訳したものだったため、ほぼ原文を当たる羽目になりました。日本語の情報も、紹介されたこともほぼないことを改めて確認したため、影響を受けた者として翻訳してみました。

  • プレートテクトニクス - Wikipedia 画像の日本語訳を作成し、置き換えました。

その他はほとんど小さなもので、出展の置き換えや追加が主です。大型の翻訳をやりかけていましたが、時間が足りず昨年中の翻訳を断念しています。

翻訳をする題材を探すのが結構時間がかかってしまったことから Wikipedia:諸言語版の秀逸な記事 - WikipediaWikipedia:多数の言語版にあるが日本語版にない記事 - Wikipediaにたどりついて少しだけお手伝いしました。秀逸な記事の方は活動できなかった間に自動化していただいています。日本語版にない記事のほうも、レイアウトとカテゴリを改善すればかなり自動化可能なので是非やっていただきたいです。

Wikidata/Commonsでも何か少しやった記憶があるのですが忘れました。。

不定期に数ヶ月活動全くできなくなるのを繰り返しており、その度にそれ以前について記憶喪失になるのが良くないです。大量に残っているのになんだかわからない書きかけの記事、調べかけの情報、数ヶ月経つと全く読めなくなっている外国語の記事、ニュースなど、もったいないのでもう少しなんとかできないかと環境を変えたりしながら試みてます。

2022年もよろしくお願いいたします。

2019 Wikidataでの活動メモ

今年もいろいろなことがありました。ウィキデータは履歴が膨大になる傾向にあり、やれることも分野としては多岐にわたるため、個人で何をしたのかサッパリわからなくなってしまいがちです。そこで今年何をしていたか覚えている範囲で残しておくエントリです。

1月

  • 前にいったエッシャー展の図録をもとに、エッシャーの絵画のタイトルのラベル、作成年、描かれているものを追加。図録からの追加は大変な重労働で、数日で挫折。代わりに、図の中に多く登場した植物、動物、立体図形、イタリアの地名などを登録。特に星形多面体は上手に検索する方法もなく、もうちょっと検索できるようにしたい。しかしこういった文献少ない分野の構造化は専門知識ある人にお任せして次に進む。

  • ついでに以前行ったバベルの塔展覧会図録、ミュシャ展の図録などから追加。聖書の各節のアイテムを発見し、日本語ラベルをつける。そこでユダヤ教の聖書は最後の方の章のつけ方がキリスト教とは異なるなどの使い所がわからない知識を得る。いまは各節までアイテムが作られている様子でそのうち拡張が必要。そうなると他の宗教の聖典や法令文書もきになる。

  • スラブ叙事詩のタイトルや順序周りを整備。新国立美術館の図録に大変お世話になる。チェコから持ち出されていないからか、英語圏で不人気なのは驚いた。

2月 - 4月

  • 大阪市立図書館さんが浪花百景をCC-by-saでCommonsにアップロードしてくださったものをベースに、Wikidataの整備。投稿されたタイトルがあれこればらつきがあったので、大阪府立図書館に1972本を見せてもらいに行って、タイトル、内容、ボストン美術館所蔵のものとidリンクなど整備。(位置もだいぶ調べたけど投稿していない。)内容についてはまだ大量に手元にデータが残っていて何とかしなければ状態。このため大阪府立図書館さんを何度も利用させていただきました。
    • このとき、Commonsのテンプレート拡張についてMiyaさんから頂いた質問が色々と的を得ていたのでメモ
  • また、浪花百景で橋がたくさん表題として選ばれていたことから、大阪にあった橋と掘についてこの後5月頃まで調べる活動をしていました。調べたものの一部は以前Wikidataで遊ぼうで紹介した通りです。

3月のインターナショナルオープンデータデイ2019 第10回LODハッカソン in インターナショナル・オープンデータ・デイ大阪2019 に参加させていただきました - 休符の余韻で楽しいことがあったのは書いた通りです。

4月頃から仕事が落ち着かず、Wikidataの活動はしばらく迷走(調査に時間がかからないものばかりやる感じ)していました。

7月

  • 選挙があったころ、日本の総理大臣関係を見て、総理大臣関係を整備。就任日、代などが英語版Wikipediaのカウント方法(アメリカ大統領と一緒)になっていたので、それを直しつつ、内閣府の資料にリンク、先代次代を埋めるのが主。2016年頭にはアメリカ合衆国大統領はほとんど完備されていて、すでにその家族、親族、家系に及ぶまで整備されていたのに追いつきたいなぁと思っていたころから3年、ようやく最低限整備できました。まだまだですが。
  • 続いて各内閣の大臣の整備に手をつける。そこで明治初期の日本の地域区分、職制、省庁の組織などについて、Wikiedia に記述がないとは言わないけど、明確に書かれていない、幾つもの記事に分散している、短期間だけ存在したものについて、名前が同じ別の組織などと混乱した記述になっているなど、素人には判読が難しかったため、関係法令などを当たり始めて時間的に破綻しました。こちらは重要なのでまた数年以内に戻ってくる予定です。
  • 内閣と、各大臣でもう一つ困ったのは数年前に困った名前問題(日本人の名前全然アイテムがない問題)です。これには簡単にやるツールが不足していて、開発が面倒なので2年前から放置していたものです。しかしそろそろやる時が近づいているのを感じました。

8月-10月

  • 職業柄とても忙しい時期で活動は低調でした。
  • 9月 にCode for Libに参加させていただきました。ここで図書館関連の方に興味を持っていただいた、ところまではいいのですが、ここでも名前問題に対峙することになりました。
  • 9月にWikidataではなく、Wikibaseのワークショップに参加させていただきました。すごいマニアックな勉強会に10人以上集まっておどろきました。この時の様子を書きかけていたのですが、マシンが死んでしまって今の環境では仮想環境がうまく動かないためもうちょっと温めておきます。
  • 10月に WikiGap大阪に参加させていただきました。
  • ラグビーW杯の話を聞いて、ラグビー選手の名前をあちこちで収集して登録しました。なんとなく勢いで始めたのですが、ラテン語名の姓名の日本語ラベルはほとんど空白地帯で、これはもうちょっとやらねばという気持ちになってきました。
  • 10月に、使っていたPCが昇天、起動できなくなり、その活動も休止せざるをえませんでした

11月

  • Wikidataにあるラテン語の名前で、日本語表記との対応が存在し、かつ、対応が明らかであるものについて日本語ラベルを入れる作業を開始。ルールは以下。
    • ラテン文字の名前、姓を中心にする。(プロジェクト:nameで整備がすすんでいるため)
    • 新しい名前、姓は作らない。そもそも日本語圏以外ではほとんどのケースについて、姓と名前のどちらがどちらなのか明らかではない。(人種も民族も使用言語も混ざっており、活動国などから単純に判断できない)
    • カナ表記が短縮形になっているケースはすべて省く。(名前の短縮形も整備が進みつつあるため)
    • ニックネームや通り名の表記は省く(名前ではない)
  • イギリスの4万アイテム、スペインの2000アイテムほどを試しに実施

12月

  • アメリカの2万アイテムについて実施 継続中

感想

幾つかの絵画作品と、大阪の橋以外ほとんどがプロジェクト名前関連という感じになりました。数年前は西暦の年代すべてをパトロールしたりしてて、ウィキペディアで散々やったのにWikidataでも5W1Hのベースを作っている感じがでてきた今日この頃です。

ラテン語の名前を先にやっているのは、先人の積み上げてくれたデータを先に生かそうという気持ちからです。英語圏、ドイツ語圏、スペイン語圏、フランス語圏について、明らかに日本語圏よりもデータが充実しています。それに追いつくにはまず彼らのデータをありがたく利用させていただきつつ、構造化の状況を把握し、日本語圏に反映する、というのが現実的な戦略に見えたからです。

来年もぼちぼち頑張ります。

Code4Lib JAPAN Conference 2019 に参加させていただきました

先週の話になりますが、呼んでいただかなければ全くしらなかった、Code4Lib JAPAN Conference 2019 - Code4Lib JAPANに参加させていただきました。今回は個人的にとてもうれしい、Wikidataのチュートリアル(ハンズオン的なもの)の講師補佐での参加でした。

経緯としては、今年の3月にIODDに参加させていただいた suisui.hatenadiary.jp の時に、今回の会場である大阪市立図書館の方がいらっしゃっており、私と古崎先生(@koujikozaki)の掛け合いを楽しんでいただいてことがあり、その延長で呼んでいただくことができました。

チュートリアル

チュートリアルというのは他の大きなイベントでよくあるハンズオンに相当するもののようです。チュートリアルに参加してくださった皆様は、半分くらいはWikidataをご存知またはOpen Data界隈の方々で、他は様々なバックボーンの方たちでした。

Wikidataの説明等は古崎先生にしていただいて、私は実際にやってみよう、という場面での質問に次々答える感じで参加させていただきました。今回は図書館から来られた方が多いイベントだったのと、大阪私立中央図書館が会場を提供してくださったこともあり、大阪の図書館のデータを充実させよう、ということで年報から、図書館の床面積と蔵書数を登録するなどしました。その上で、身近な図書館についても情報を追加してくださいという感じでやらせていただきました。

そのなかで、印象的だったのは、ISILのリストでは一つのURLで複数の図書館が公式webサイトにしているという内容の質問をいただきました。それがWikidataではプロパティ制約に引っかかるんですね。こういうのは個々のアイテムを細かく見ていかないと見つからないので大変勉強になります。詳細URLでいいだろうという感じでお伝えしましたし、多分それが正しいのです。しかし個人的に、単一値制約は前にも厳しすぎるなと思っていたこともあって、プロパティ制約絡むものはイベントで扱うのは難しいと思った次第です。

もう一点、Wikidataを辞書的あるいは辞典的なもの、というかWikipediaのような(辞典的な)もの、と感じている方はやはり多いようであることを強く感じました。WikidataのHelp周りを見ればそんなことは一言も書いていませんし、Wikipediaにはそういうものではないと割とはっきり書いてあるのですが、そう思っておられる方はやはりまだ多いのだなぁと感じました。もうちょっと簡潔に言う方法を考えたほうがいいのかと改めて思いました。

出会い

今回のチュートリアルで大変嬉しい出会いがありました。カーリル | 日本最大の図書館蔵書検索サイトの吉本さん@ryuuji_yが参加されていて、カーリルのシステム更新に合わせて、WikidataのQとのマッチングをしよう、と思ってくださったとのこと。

Wikidataはまさにそのように、どこかで保守、運用されているデータとリンクを、できれば相互にすることでその意味を増していくプロジェクトです。そういった例が日本語圏から出てくるのは大変に嬉しいことなので、これからしばらくMALK周辺の整備を可能な限りお手伝いしようと思っており、ちょこちょこ整備を進めています。

チュートリアル以外

呼んでいただいたチュートリアルはcode4libの前哨戦的なもので、その後、基調講演と幾つかの発表や報告、パネルディスカッションとアンカンファレンスがあり、様々なことを伺うことができました。内容についてはC4ljp2019/programにほぼすべてのプレゼンテーションがアップされているのでそちらをごらんください。

喜び

以前Wikipediaで色々やってた時には、毎月のようにどこかに呼んでいただいていました。しかし、復帰後始めたことで呼んでいただいたのは、今回が初でした。

お声がけしてくださった大阪市立図書館のオープンデータ関連の皆様、古崎先生、何かとお声がけしてくださった加藤先生@fumi1、そしていつもいつも間を取り持ってくださるMiya.mさんとMiyaさんに感謝いたします。

また、この機会を与えられたのはもちろんWikimedia財団とWikidataがあってこそです。今回は準備もそれほど重たくなく済んだため、交通費としていただいたのと同額をWIkimedia財団に寄付させていただきました。

今後について

図書館周りの整備をしつつ、今回、こちらの発表で浪花百景以外にも色々良いコンテンツを紹介していただいたので、その辺も整備できたらいいなぁと思ってます。

お声掛けいただいてありがとうございました。

ウィキデータ(Wikidata)であそぼう:画像を検索する

ウィキデータで遊ぼう企画の続きです。今回は、ウィキデータに登録されている画像=大体はウィキペディアに表示されている画像を検索してみます。

前回の記事はこちらで読めます。

suisui.hatenadiary.jp

ウィキデータの項目には、ウィキペディアと同じくウィキメディア・コモンズにある画像を追加することができて、人物の肖像や、項目のものの全体像、ロゴマークなど、様々な画像を見ることができます。

ウィキメディア・コモンズの簡単な紹介

ご存知ない方のために、ウィキメディア・コモンズについて簡単に紹介しておきます。ウィキメディア・コモンズは、ウィキペディア(全言語)で表示される画像の大部分を保存、分配しているサイトです。画像だけではなく、音声やビデオ、プレゼンテーション、PDFなどのメディアファイルを保持し、ウィキペディアや、他のウィキメディアのプロジェクトサイトからは、ファイル名を指定するだけでウィキメディア・コモンズにあるファイルを表示、使用できるようになっています。

f:id:Suisui:20190516063922p:plain
ウィキメディア・コモンズ from https://commons.wikimedia.org/wiki/File:Commons-logo.svg

ファイルのアップロードには、明示的なライセンスの付与と最低限のタグ付けを必要としているため、ウィキメディア・コモンズはなんとなくカテゴリで検索できるフリーっぽいライセンスのファイルが6000万ほど使用できる巨大なサイトになっています。

また、もともとは百科事典的な写真やイラストが多くありましたが、次第に美しい写真も多く集まるようになっており、2010年から[[:w:ja:Wiki Loves Monuments]]という世界最大の写真コンテストの開催もされています。

大阪の橋の画像を出してみる

ウィキデータとコモンズの関係の前に、ウィキデータにある画像を検索してみましょう。これまでと同じく、大阪市にある橋の画像を検索してみます。

f:id:Suisui:20190513221838j:plain
ImageGrid 大阪の橋

Googleでの画像検索のような結果が表示されたはずです。Googleの画像検索とちょっとだけ違うのは、表示された画像は(今の所)大阪の橋の物だけである、ということです。

画像の検索でも、これまで紹介してきたのと同じく、様々な条件で検索結果の絞り込みができます。

いずれも、条件に合うものがぴったり出てきます。

ここでちょっと調子にのって、大阪市の条件を外してみましょう。

世界の橋の画像を検索する

条件としては、大阪市にある、というのを外すだけです。数が多いので100個に制限しています。

というように、場所の条件を外すと全世界が対象となります。

ウィキデータとウィキメディア・コモンズの関係

ウィキデータはウィキペディアと同じく、ウィキメディア・コモンズの画像や音声のファイルを使用しています。一方、コモンズはその各画像のメタデータのうち、例えば作者や所蔵館などの情報をウィキデータから使用していて、両者は互いに補完しあう関係となっています。

ウィキメディア・コモンズは長い間検索が不便、かつメタデータの管理に膨大な手間が割かれています。その改善のため、2017年からwikibaseというウィキデータで採用しているデータベースのシステムをつかったタグ付けのシステムに移行しつつあります。

現在のウィキデータからの検索は、その新しいシステムをほんの少し先取りして体験できるものと言えるでしょう。

ウィキデータで絵画を検索する

せっかくの画像の検索なのでもっと画像的なものを検索してみます。

ウィキメディア・コモンズにはGoogle アートプロジェクトなどの大きなものを含め大量に西洋絵画の画像とそのメタデータが登録されています。

f:id:Suisui:20190513233333j:plain
ラファエロの絵画
など、いずれかの言語版に記事があるある程度昔の画家の絵であればだいたい出てきます。

さらに、これらの画像は様々なプロパティで検索できます。以下にその例を示します。結果を眺めるだけでも興味深いので是非次々開いてみてください。また、以前紹介した条件の変更方法でお好みの検索をしてみてください。*1

いつもに比べて、だいぶたくさんの例を紹介しました。

*1:クエリ・ヘルパーについては後ほどもう少し説明を書く予定でいます

*2:作者、今ある場所、制作地など

ウィキデータ(Wikidata)であそぼう:データとデータの関連(グラフ)を使って検索の幅を広げる

ウィキデータで遊ぼう企画の続きです。今回は、データ同士の関係を使ってちょっとウィキデータっぽい検索をしてみます。

前回のエントリこちらで読めます。

suisui.hatenadiary.jp

前回までのエントリでは、橋のデータを橋に登録しているデータでそのまま検索したものを中心に紹介していました。そして、それがExcelのフィルタとほぼ同じとも説明しました。

今回は少しだけ背伸びして、ウィキデータっぽくデータとデータの関係(グラフ)を使った検索の例を紹介します。今回は説明が多目ですが、とても単純なものなので安心してください。

グラフ(ネットワークグラフ)とは何か?を川で見てみる

ここでいうグラフは中学や高校の数学で習ったグラフとは少し違って、[[グラフ理論]]で使うグラフで、日本語ではネットワークグラフという呼び方がやや一般的なようです。ここでは、小難しい説明はやめて具体例を紹介します。

具体例として、川の名前について書いてみます。大阪の川は場所によって色々な名前が付いています。大阪市の北の方を流れている川は、淀川から分岐した大川を水源とする旧淀川と呼ばれる河川群です。この辺りの説明は[[旧淀川]]にあります。川の名前の構成が[[旧淀川#支流と分流]]に書かれているので、分流の方を見てください。

f:id:Suisui:20190507212346p:plain
:w:ja:旧淀川より旧淀川の名称(テーブル)

表の右に書いてある通り、大阪の北の方を流れている川が上流から下流に向けて分岐する川(派流)が順に記載されています。(ただし、若干省略があります。)

表だけでは難解かもしれません。Commonsにある模式図を見てみましょう。

f:id:Suisui:20190507214455p:plain
淀川の模式図 from

File:Kyu-Yodo River.svg - Wikimedia Commons

赤枠で囲った範囲が上記のテーブルに記載されています。絵と見比べてみて、テーブルの読み方はわかったでしょうか。

これをもっと単純化して、文字と線で書いてみたのが以下です。図が大きくなってしまうので寝屋川、住吉川は省略します。

 大川━━━━━┳━堂島川━安治川┳━━━━━━┳大阪湾
       寝屋川 ┗土佐堀川━┛      ┃
             ┃┗木津川━━━━━┳┛
             ┗東横堀川━道頓堀川┛

左側が上流、右側が下流になります。また、川の名前の右側の線は川の名前を延長していると形で記載しています。

各川の名前から、左へ線を辿るとその川の水源(の川)に当たります。 右に辿ると河口(どこに流れ込むか)がわかります。例えば、以下のようなことがわかります。

川の名前と名前をつなぐ線は、川と川の関係のうちの一つ(水源と河口)を表しています。また、線でつながっている同士のデータの関係(水源か、河口か)はわかりますが、直接線でつながっていない同士、例えば木津川と東横堀川はどちらがより上流か、ということはわかりません。

このようにデータとデータの関連を点(名前)と線で示したものをグラフ(ネットワークグラフ)と呼びます。単純なテーブルでは表しにくく、図で書くのは大変な物同士の関連を表す時に使われています。一度くらいは目にしたことがある方もいらっしゃるでしょう。

データとデータの関係をグラフで表せる例は無数にあります。例えば

  • 川の支流と派流
  • 鉄道駅の隣の駅
  • 現職総理大臣の先代の総理大臣
  • ある人物の父親と母親、あるいは子
  • 絵画の所有者とその前の所有者
  • スポーツ選手のコーチ、あるいは弟子
  • ある政党から派生した政党、統合した政党
  • 隣接する自治

など、一対一、一対複数、複数対一、複数対複数と色々なデータ間の関連が存在します。

ウィキデータでは*1、データ間の関連たどって関連あるものを芋づる式に検索することが比較的簡単にできます。ウィキペディアを編集されている方であれば思い当たるものがたくさんあるでしょう。そうです。あの何に使えるのかほとんど分からなかった先代次代、隣接する行政区分などのデータがここでものすごく生きてくるのです。*2

ウィキデータでグラフを表示してみる

ウィキデータでは、データ間の関連からネットワークグラフを作成できます。早速やってみましょう。

データとしては、水源(P885)と河口(P403)をつないで、大川(旧淀川)から大阪湾までをグラフにしてみます。

f:id:Suisui:20190507224558p:plain
旧淀川のグラフ
なんとなく図のような表示になったでしょうか。*3川の名前をクリックしたり、ドラッグしたり、拡大縮小などして適当に遊んでみてください。データ間の関連を示す図であり、間の距離やまとまりはある程度変更できます。しかしデータ間の関連は変わりません。

表示されたページ上部にボタンが並んでいるので、順にクリックしてみてください。

f:id:Suisui:20190507224808p:plain
グラフ上部に表示されているボタン
これはグラフの関連を維持しつつ、配置を変えることができます。川の場合、真ん中にある「上から下への階層レイアウト」が少しわかりやすいかもしれません。

f:id:Suisui:20190508205940p:plain
大阪市の川のグラフ(上から下への階層レイアウト)

データ間の関連を使った検索(のようなもの)

この、データ同士の関連を使って、大川の派流にかかっている橋をすべて検索して地図に表示してみます。

f:id:Suisui:20190508210554p:plain
大川の下流すべての川の橋

複数回検索にかかると、少し丸が大きく表示され*4ます。

実際には次のように二段階で検索しています。

  • 水源を辿ると大川にたどり着く川を検索して川の一覧を作成(グラフで関連があるものを芋づる式に検索(川の水源->川の水源->...->大川))
  • 見つけたそれぞれの川に掛かる橋の位置情報を取得(出てきた川の一覧に含まれるものを対象とした検索)

この結果を地図に表示しています。

この検索をExcelでやる場合かなり手間がかかります。特に水源を複数回かつ不定回数辿ったもので一覧を作るのはなかなか大変です。*5

また、便宜上今回初めてこのデータ間の関連を使ったような書き方をしていますが、結構初めのほうから以下のように類似の検索方法を使っています。

  • 橋を検索する際に、上位クラス(P279)を辿ると橋にたどり着くもの
  • 川を検索する際に運河を含めるため、上位クラスを辿ると水路にたどり着くもの

こういった、データとデータの関連を使った検索は、ウィキデータ*6が得意とするものです。また、従来データベースと言われていたRDBMSExcelでは、できなくはないけれども、大抵は面倒な再帰SQLやサブクエリを使った処理の重たい検索になります。*7その代わり、Wikidataでは普通の一覧のフィルタ処理もそこそこ重たい処理になります。

また、データ間の関連を使用した検索は、データが増えれば増えるほど楽しい*8結果が得られるものになります。そんなこともあって、世界中のみなさんがウィキデータに頑張ってデータを登録しているのだと思います。

応用クエリ

応用といいつつも、グラフになるようなデータ間の関連を直接使った例はありませんね。。精進します。

*1:またはRDFでは

*2:正しくはテンプレートの値すべてが貴重なデータではあります。15年前ぐらいに、この辺を夢見てあのフォーマットを考えていた人たちがいたわけです

*3:全く同じ表示になる可能性はとても低いです

*4:るようなのですがよくわかっていません

*5:やるのであればVBAのマクロで再帰を作って対象となる川の一覧を作成し、その後はピボットテーブルやINDEX,MATCHで実現することになるしょう。

*6:もとい、その元になっているRDF

*7:Rを使ってがんばればできるでしょう。

*8:意外な、あるいは意図通りの

ウィキデータ(Wikidata)であそぼう : 検索できるもので検索してみる

ウィキデータの紹介三回目になります。前回のエントリはこちらで読めます。

suisui.hatenadiary.jp

前回は、何が検索できるのか、を知るためにウィキデータのページの読み方を紹介しました。今回は、いろいろな検索をしてそのまま表示してみます。

橋のデータに登録したもの

検索するときに、ウィキデータ全体だと話がややこしくなるので、前々回紹介した大阪市の橋全部の中から検索します。大阪市の橋のそれぞれ、に私が登録していったのはだいたい以下のプロパティ(P)です。

  • 日本語のラベル - 橋の名前
    • 別名
  • 橋の種類 (P31) - 構造での分類、用途での分類など、粒度はまちまち
  • 国 (P17) - 日本
  • 位置する (P131) - 橋のある市町村(区レベル)
  • 位置座標 (P625) - 緯度経度
  • 交差物 (P177) - 橋が交差している川や道路
  • 以下が通る (P2505) - 橋を通る道や鉄道
  • 全長 (P2043) - 橋の長さ
  • 幅 (P2049) - 橋の幅
  • 読み仮名 (P1814) - 名前の読み仮名
  • 開設 (P526) - 橋が開通した日

全てに全てを登録したわけではなく、大部分はウィキペディアにあるものを登録していったので、ないものはなかったりします。また、数個しか登録していないものは省いています。さまざまな要因*1ウィキペディアにあっても登録していなものなどもあります。 それは後で探せるので、あまり気にしなくても大丈夫です。

ウィキデータいろいろ検索やってみよう

その1 特定の川に架かっている橋

大阪駅辺りの川についてはややこしいことになっていて、地形的にまっすぐ繋がっている川でも場所によって名前が変わっています。[[:w:ja:旧淀川]]に書いてあります。

他のものも例として載せておきます。東横堀川道頓堀川木津川

その2 橋ができた時代

紹介のため複数年指定していますが、単年度や、複数(1992年と1980年等)でももちろん指定できます。 今の所、同じところに昔あった橋についてはデータを作っていません。

その3 橋の種類

この辺りはまだデータが弱いのですがこういったものでも検索できます。

橋の種類について、本来は上部、下部の建築様式、橋梁形式、用途分類など建築系のプロパティに含まれるべきものですが、今の所適当なものが見当たらないため現在は分類に登録されている橋がほとんどとなっています。

その4 名前(ラベル)

読みだけではなく、ラベルの漢字や、登録があればローマ字でも検索できます。

その5 橋の長さ

これらの検索はすべて、橋の項目に橋のデータとして登録したものを検索する形にしています。なるべく単純な検索をするようにしたためそうしており、やっている内容としては、(地図に表示するところ以外は)これらの橋のデータをExcelで表に並べて、オートフィルタをかけているのと同じことになります。ものによっては単にデータの並べ替えでも表現できます。

一覧表示

前々回、ウィキデータの検索はこんな感じといってこの図を紹介しました。

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

このうち、地図の表示にする手前では、表示する一覧を作成しています。 クリックして開く地図のページの左側の方にカーソルを持って行くとメニューが表示されます。

f:id:Suisui:20190428180658p:plain
地図左側のメニュー

これでTableを選択してみてください。

以前紹介したクエリへのリンク

f:id:Suisui:20190422233949p:plain
Queryサービスへのリンク
から実行ボタンを押して、表示形式のメニューを表示した場合も同じことができます。
f:id:Suisui:20190428181229p:plain
実行ボタンと表示形式メニュー

Tableを選択すると地図に表示している橋を一覧の状態で表示します。

f:id:Suisui:20190428181735p:plain
一覧表示
一覧表示は、Wikitableと同じように並べ替えができます。あと、画面右のほうをいじるとJSONCVSでダウンロードができます。

f:id:Suisui:20190428182020p:plain
ダウンロードメニュー

条件の変更

もう一つ、SPARQLを直接書かずに、条件を簡易的に変更する方法があります。画面左下のWIkidata Query Serviceをクリックしてから、画面上にあるiをクリックすると、クエリ・ヘルパーが表示されます。

f:id:Suisui:20190428182510p:plain
クエリサービスとクエリヘルパー

こちらのリンクはクエリ・ヘルパーで操作しやすいよう、条件を単純に絞っています。

大阪市、と書いてあるところをクリックして、表示されるテキストボックスに横浜市と書くと、候補が表示されます。

f:id:Suisui:20190428183526p:plain
クエリ・ヘルパー 大阪市と書いてあるところ

f:id:Suisui:20190428183647p:plain
表示候補

表示された中で一番上の横浜市を選び、左側の実行ボタンを押すと、横浜市の橋のうち一情報が登録されているものが表示されます。多少うまくいかない地域もありますし、結果が全く表示されない(全く登録されているものがない)地域もあります。

同様に橋を鉄道駅、役所、スタジアム、学校などに変更して、いろいろなところのいろいろなものを見ることができます(しかし日本国内ではまだまだ登録されているものが少ないです)

これらの位置情報は、ウィキペディアの各項目に登録されているものをベースに登録されています。上手に使えば抜けている場所がわかったりするので、興味ある範囲をあちこち覗いてみてください。そして面白いものが見えたら @suisui_wmまでおしえてください。

応用クエリ

ちょっと時間が足りずあまりたくさん用意できませんでした。後ほど追加しようと思います。

*1:眠かったとか

ウィキデータ(Wikidata)であそぼう : ウィキデータの項目ページの読み方(簡単編)

前回に引き続き、ウィキデータの紹介です。前回はここで読めます。suisui.hatenadiary.jp

前回の、ウィキデータでは検索した結果を地図に出せるよ、というところまではあちこちで紹介されいるため、すでに皆さんご存知だったと思います。今回は、検索例をお休みして、より楽しむために次に進む前にウィキデータのページの読み方を紹介します。

今回の説明がざっくりでも理解できれば、次回以降、紹介する検索条件をいじったりできるようになります。単に検索結果の紹介を見たいだけであれば今回は飛ばしてもらっても問題ありません。

ウィキデータじゃなくても

ところで、取り出したデータを地図に表示するだけであれば、Google先生のマイマップのほうが簡単で綺麗にできます。例えばこんな風にです。同様にAPIをつかえばOSMやGeonamesでも同じようなことが可能だと思います。じゃあウィキデータでできることはなんだ?というのを感じて欲しいと色々紹介していこうとしているのですが、目指しているものがカンタンキレイにできるもので十分であるならばどんどん使いましょう。人生は短いので、目的としたものを得られてより簡単にできるツールを選びましょう。

気を取り直して

次は、検索した結果からさらに検索してウィキデータっぽく使って行こうかと思ってます*1

しかし、何が検索できるのかがわかれば、自由にいじくり回してより楽しんでいただけるはずです。そのために、ウィキデータのページ読み方を紹介します。

ウィキデータのページのよみかた簡単編(①、②の③でウィキデータ)

ウィキデータの戎橋の項目を見てみてください。よく人が飛び込んでいるあの橋です。ログインしていると掲載している画像と少し違う表示になりますが大体同じはずです。

まずページの先頭に、Wikipediaと同じように「戎橋」とページの名前が書かれています。しかしURLと比べてみるとわかる通り、ウィキデータでのページのタイトルに当たる項目ID (item)と呼ばれるのは、右側のQで始まる方の番号です。

f:id:Suisui:20190424190248p:plain
アイテムID(Q)とラベル

橋の名前や、その下の別名などは、タイトル行の下にあるラベルが並んだボックス(Termbox、たーむぼっくす)の中の値のうち、日本語に対応するものをそのまま目立つように表示しています。つまり、先頭に表示されている「戎橋」は、Q11495351についた日本語のラベルという扱いになっています。

f:id:Suisui:20190424190715p:plain
Termboxと各ラベル

トップには、今日本語の表示にしているために最初が日本語になっていて、同じページを韓国語UIで見ると Termboxの韓国語に書かれている内容が表示されます。そしてQはその項目を識別するIDであるため、どの言語で表示しても常に同じ値となります。

Termboxはすべてのウィキデータの項目に必ずあるものです。それだけにとても大事で、ウィキデータの特徴の一部が詰まっています。しかし重たくなるので今回はスルーします。

(いまやりたい)検索に関係あるのは、その下に大きな文字で「文」と書かれているところから下になります。

f:id:Suisui:20190424193009p:plain
文(Statement)

文というのは学校のマークではなく、ウィキデータに登録しているデータの一つ一つのことを指します*2。一つの箱が一つの文で、項目内のすべての文はその主語が先ほどみたTermboxのラベルの部分になっています。

QのPは値です(文の読み方)

ウィキデータのQで始まるページ内の文は全て、下の図のように①の②は③です(=QのPは値です)と読むと理解できるようになっています。*3

f:id:Suisui:20190424210951p:plain
文の読み方

大事なことなのでもう一度書きます

QのPは値です*4

ウィキデータのQに書く文は基本的に全てこの形になるよう制限されています。ウィキデータは、このQのPは値ですという文を大量に集めているサイトです。そのため、普通の文章を書くスペースは項目には存在しません。

値について

Pの種類によって値には様々なデータが入ります。しかし値の形式は以下のいずれかになります。

  • 別のQ
    • 戎橋のある国(P17)は日本(Q17)です
  • 文字列 + 言語
    • 戎橋の読み(P1814)は「えびすばし」です
  • 日付
    • 戎橋のできた年(P571)は2007年です
  • 数値 + 単位
    • 戎橋の全長(P2043)は18mです
  • 位置座標(緯度 + 軽度)
    • 戎橋の位置座標(P625)は34°40'8.602"N, 135°30'4.900"Eです

なお、画像やファイルはウィキメディア・コモンズに置くことになっていて、ファイル名の文字列で表現できます。また、数式楽譜表記も文字列でできるようになっています。

文(statement)で説明できるもの

この形式に限定すると、小説を書くことは出来ません*5。しかし、この世にあるものはほぼ全て*6文の組み合わせで表現できます。

どの程度細かな表現が現わせるかは、どのようなP/Qが存在するかにより決まります。当然ながら、現段階でのウィキデータではまだ表現できなものもあります。

そして、今表現できないものも表現できるようにするために、日々開発が続けられています。開発を進めている面々には、少なくとも百科事典に書かれている内容は全部この形で表現できるようにするぞ、という気迫を感じる開発状況となっているので、色々期待していいんじゃないかと思っています。

何を検索できるのか

ようやく目的の、検索に到達しました。

ウィキデータでは、QのPは値です、という文を大量に集めているので以下のような検索ができます。

  • Pが特定の値を持つQ
  • Pが特定の範囲の値を持つQ
  • 特定のPが存在しないQ

具体例の方が貧弱ですみません。2019年4月現在でPは6077種類、Qは63303000ほどあり、その組み合わせだけでも気が遠くなるほどの検索が可能です。また、これらの検索を組み合わせて絞り込んだり、複数の結果をマージ、あるいは差分を取ることなどができるため、無限の検索が可能となっています。

しかし無限無限といっていても仕方ないので、何ができるか紹介しようというのがこの遊ぼう企画です。今回は説明メインになりましたが、次回はこの説明も活かしてモリモリ検索していきます。

*1:正確には前回でもすでにやってはいます。

*2:文=Statement (すてーとめんと) といいます

*3:中には日本語が全く見えないページも多数存在するため理解できるかは言語能力にも左右されますが、言語がわからなくても同じ構造になっているのでかなり類推できます。

*4:この形式を、トリプル、あるいはトリプレットといいます

*5:断定はできません。。。しかし非常にむずかしいでしょう

*6:それが何であるかわかっている限り=百科事典のような記載ができるものである限りという条件がつきます。なお、わかっていないものでも不明という定義をつけたり、1300年ごろ、のように範囲だけ指定することはできます。