「GLAMデータを使い尽くそうハッカソン」に行ってきた

プロ野球選手が教える野球教室みたいな豪華スタッフによる[ハッカソン](https://lab.ndl.go.jp/cms/hack2019)に行ってきたわけだがなかなか楽しかったのでご報告。Qiitaの画像表示にクセがあるためレイアウト崩れはご容赦。
イベントの主目的はジャパンサーチなどのGLAMデータを検索したりAPI経由で活用するアプリを作ろうというもの。私の参加した第4班では地図に興味があるらしき方々が最終的には10名ほど集まってアイデア出しから実装まで分担して作業した。

## 作品
結果できあがったのがこちら：[ぶら広重（仮称）](https://zerobase.github.io/burahiroshige/dist/#/)
宿場町、自分が住む街、ゆかりの地域などについて、GLAMデータをかき集めて過去から現在に至るミラーワールドを再現しようというコンセプト。過去の姿を知らない（が興味がある）住民や観光客などを利用者として想定。

「テキスト」と「マップ」でタブを切り替える。

### 「テキスト」タブ
「テキスト」ではまち歩きを意識して縦方向にストーリを展開。
<img src="https://i.imgur.com/1WMmTzz.png" width=40%>
<img src="https://i.imgur.com/ZEednqU.png" width=40%>(c)OpenStreetMap contributors
<img src="https://i.imgur.com/rxxTvxc.png" width=40%>
<img src="https://i.imgur.com/bo7bjtK.png" width=40%>(c)OpenStreetMap contributors
### 「マップ」タブ
「マップ」では江戸時代から現代に至る背景地図を年代に合わせて切り替えながら場所が持つ歴史を紐解く。
<img src="https://i.imgur.com/dXwMz1g.png" width=40%>呉服橋御門外ヨリ鍛冶橋御門外日本橋京橋川筋限八丁堀箱崎霊岸島辺一円絵図（NDLデジコレ）
<img src="https://i.imgur.com/CjWIFS7.png" width=40%>呉服橋御門外ヨリ鍛冶橋御門外日本橋京橋川筋限八丁堀箱崎霊岸島辺一円絵図（NDLデジコレ）
<img src="https://i.imgur.com/seT2VGn.png" width=40%>(c)地理院地図（空中写真1936年）
<img src="https://i.imgur.com/Dv9nNhE.png" width=40%>(c)地理院地図
### マップの言語切替
アプリへの実装まではできなかったが、施設名などの表示（オレンジの矩形）に座標値を持つウィキデータ項目（同じ項目（例：日本橋）に対して各国語で名称を始めとしたデータが登録されている）を動的に読み込んでいるため、URLパラメータに言語を追加するだけで表示言語を切り替えられる。したがって対象地域のウィキデータについて各国語名称が整備されれば外国人向けの言語切替が容易に実現できる。地理院地図＋ウィキデータという組み合わせは意外と相性が良さそうな気がした。
<img src="https://i.imgur.com/B7vGoZy.png" width=40%>(c)地理院地図＋ウィキデータ（日本語）
<img src="https://i.imgur.com/DCU8W4r.png" width=40%>(c)地理院地図＋ウィキデータ（英語）

詳しくは開発された@frogcatさんのまとめ[「Wikidata に SPARQL を投げて多言語対応の地図注記としてつかう」](https://qiita.com/frogcat/items/497d94ebd161982b6080)を参照。

## 成果まとめ
### リソース

- [アプリ](https://zerobase.github.io/burahiroshige/dist/#/)
- [フロント](https://github.com/zerobase/burahiroshige
)
- [地図まわり](https://github.com/frogcat/bura-hiroshige/)
- [データシート](https://docs.google.com/spreadsheets/d/17q2Fi_u4gtfyL_DGCdZnuO92w4QtZqkk3DDJXlg4D_U/edit#gid=0)

（イベント終了時に誰でも自由に使って良い、という合意を得ています）
### ひな形
開発（私がやった訳ではない）に際しては活用事例として横展開しやすいようにできるだけ汎用的な仕組みにすることを目指して、操作が簡単なツールを活用したり、データとロジックを分けて役割分担できるようにした。
#### 使ったツール

- [Mapwarper](http://mapwarper.net/)：古地図などに座標を与え(georeference)、WebGISで重ね表示可能にするもの。
- [ウィキメディア・コモンズ](https://commons.wikimedia.org/wiki/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8)：写真、画像など各種メディアを複製・保管し、ウィキペディアなどネット上での二次利用を促進する。オリジナル画像の一部だけを使いたい場合などにもその部分だけ切り取った画像を作成・保管するといった使い方もできる。
- [ウィキデータ](https://www.wikidata.org/wiki/Wikidata:%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8)：みんなで作る、メタデータの構造化データベース。統合クエリでJPサーチと連携可能。多様なプロパティを追加できる。ジャパンサーチで付与されていない属性をこちらで充実させて、ウィキデータを入り口にジャパンサーチその他のエンドポイントを横断検索するような使い方ができる（はず！）。

ウィキデータに登録されている歌川広重の名前(Q200798)をキーにジャパンサーチを検索する統合クエリの例

```
PREFIX chname: <https://jpsearch.go.jp/entity/chname/>
PREFIX jps: <https://jpsearch.go.jp/term/property#>
SELECT ?work ?date ?url ?image WHERE {
  VALUES ?creator {wd:Q200798}
  SERVICE <https://jpsearch.go.jp/rdf/sparql/> {
    ?jps_creator owl:sameAs ?creator .
    ?work schema:creator ?jps_creator .
    ?work jps:sourceInfo/schema:relatedLink ?url .
    OPTIONAL {?work schema:dateCreated ?date}
    OPTIONAL {?work schema:image ?image}
    }
}
```
出典：[Welcome Japan Search to the web of Linked Open Data](http://blogs.bodleian.ox.ac.uk/digital/2019/05/30/welcome-japan-search-to-the-web-of-linked-open-data/?fbclid=IwAR0OvMz6UYGJH4nZoU110VsU_bfz9Yc1O6q_iQP4Q5mEe6bd05AtH2cuLlE)
#### 処理や作業手順の構想（一部未実装）
- ターゲットとする場所を選定（今回は日本橋と品川）
- 古地図を探してmapwarperでgeoreferenceして配信
- 近代、現代の背景地図は国土地理院、農研機構/農環研迅速測図などを適宜
- 統合クエリでJPサーチ、ウィキデータなどSPARQLエンドポイントどうしを横断検索
- 画像を探して、直接扱いづらいものはWMコモンズに登録して利用
- データは全てspread sheet上に用途に応じたシートごとに共有・更新
- アプリは上記シートをシーンに合わせて読み込み

### フィードバック

- コンテンツを見つけても時代がわからないことが多かった。
- 位置が座標として付いていない。
- 画像の細かい検索ができない。全て開いて行かないといけない。
- ジャパンサーチ名称ID（正規化名）に人名しか無いように見えた。地名、施設、組織などもあると良い。

## 感想
ジャパンサーチは極力簡素な項目でまずはデータを統合的に集めることを優先したように聞いている。複雑なデータ項目や構造を定義しようとせず、まずはシンプルにつないだ点は大きな成果だと思う。
上記フィードバックについては課題だと思われるものの、全てを提供機関側だけが頑張ってやるべきものでもない。オープンデータでもよく似た状況があるのだが、提供側に多くを求めすぎるとハードルが上がり、モチベーションが下がってしまう場合がある。提供側ではその本来の役割であるコンテンツ（＋メタデータ）を出すことに注力して頂き、利用者側でできる改善や補完は利用者側でやってしまうといった官民連携的な動きが不可欠だと考えている。いわゆる「ネットに放流」すれば二次利用は勝手に広がる面がある。
そのためにもまず提供側には所蔵コンテンツをオープンなライセンスで提供する部分に注力して頂き、利用者側はそれを使いやすくする改善を今回のようなハッカソンなどをきっかけにどんどんやって行くことでOpenGLAMが相乗的に進んで行くことを期待している。

運営者、参加者のみなさん、お疲れ様でした！