見出し画像

ピュイが語る!COTEN世界史データベース | 歴史データの整理方法 (1)

こんにちは!株式会社COTENの千咲(Twitter: @seekmyffy)です。
世界史データベース開発チームにヒアリングした内容をすべて忘れてしまった千咲。
そこに現れたのは、COTENの「あの鳥」だったーー!?

ちさき(以下、ち):世界史データベース事業のなかで4つのプロジェクトが動いてることはわかったけど・・・そもそもデータベースってなに?私的には、人里離れた場所に施設があって、そこで稼働してる超でっかいスーパーコンピュータ、みたいなのがデータベースのイメージだったわ。

ピュイ(以下、ピ ):それは多分サーバルームとか、データセンターのイメージじゃない? じゃあ、今日はそもそもデータベースとは何なのかから説明していくね!


そもそもデータベースとは?

ピ:データベースっていうのは、決まった形式で情報を集めて整理したもののこと。通常はコンピューター上に電子データとして格納され、システムによって管理されているんだ。

ち:ほうほう。じゃあ、少なくともコンピュータそれ自体のことでは無いんだね(笑)

ピ:そうそう。 COTENでは、リレーショナルデータベースという種類のデータベースを開発しているよ。 リレーショナル・データベースの各項目は、列と行を持つテーブル(表)の集合として編成されている。

ち:タテの列とヨコの行を持つテーブル・・・じゃあ、スプレッドシートもデータベースってこと?

ピ:ある程度まではスプレッドシートもデータベースと同じ機能を果たせるね。実際、現状COTENのデータ入力は、Googleスプレッドシートで行っている。
でも、極めて複雑で大規模なデータの構築集合を複数人で安全に進めるためには、データベースが必要になってくる・・・そんなイメージかな。


ち:データベースへの解像度、高まった。じゃあいよいよ、COTENが今歴史情報をデータベース上でどのように整理しようとしているのか、教えてくださーい!

ピ:OK!でも結構難しいから、分からなかったら質問してね。

歴史概念をデータベース上で整理するための4要素

ピ:まず先に、今どうやって歴史データを整理しようとしているかを図で見せてしまうよ。

ち:わ、いかにもって感じでテンション上がる……!

ShangYang(概念整理チーム)で議論されている、データの構造を図で示したもの(1) 青い四角がEntity、紫の四角がCategoryで、その中にCategoryによって定義されたPropertyが書かれている。 Entity同士の間にある黄色い四角がRelation。

ピ:歴史データの整理方法なんだけど、大きく分けて4つの構成要素があるよ。1つ1つ説明していくね。
あっ、以下の言葉は全て株式会社COTENで定義し直して使っている用語だから、世間一般的なデータベース開発の場で使われる意味とはまた違う時がある。留意してね。

ち:あい!

Entity(エンティティ)

ピ:時間の概念を持つ歴史的事実のまとまり、情報のこと。
上の図で言うと、青い四角で囲まれたもの。 「人物」「出来事」「エピソード」「王朝」「ロケーション」「著作物」などがEntityだね。
例えば、ナポレオン関連のEntity。「ナポレオン」は人物、「ナポレオンがフランス第一帝政の皇帝に即位」は出来事。それぞれ別Entityとして存在すると定義しているよ。

ち:(いきなりすげえの来たな・・・)えーとまず、Entityはテーブル上における一行のデータである、という理解であってる?

ピ:そうだね、合ってるよ。

ち:それで、人も、エピソードも、著作物も?全部いっしょの1単位なの???何というか……直感に反していて、どシンプルですごい(笑)

ピ:うん、時間の概念を持つものは何でもEntity。超シンプルだよね。

ち:あとさ、ロケーションって時間の概念を持つ歴史的事実のまとまりって言えるの?つまり・・・時代によって呼び名は変わるかもだけど、日本列島は昔からずーっと存在するよね?

ピ:うん、ロケーションに関しては議論中。人は寿命があるし、出来事は期間が決まってるよね。でもちさきが言うように、土地は物理的にはずっと存在する。一方で所有=領土の概念はあるよね。
旧国名や過去の地名などはEntityとして扱うことは決まっているんだけど、過去の国境線や領土の範囲など、歴史上の地理情報はあいまいな部分も多いので、どのようにデータベースに格納するかについては、今もまだまだ議論中なんだ。

ち:なるほど、今後も議論が必要な段階、って感じなのか。

Relation(リレーション)

ピ:Entity同士の関係性のことをRelationと呼んでる。上図で言うと黄色い四角で表されているもの。 人物と出来事の関係性・出来事とロケーションの関係性などなど、Category(後述)の数だけたくさん種類がある。 例えば、「織田信長」と「本能寺の変」は「人物と出来事」という種類のRelationを持っている、と表現できるね。

ち:Entity同士をつなぐ矢印みたいなものって考えればいいのかな。

Category(カテゴリー)

ピ:それぞれのEntityを意味や概念に応じてグループ分けするのがCategoryだね。Categoryが、EntityのPropertyを定義する。

ち:……?すでにややこしくて分からんのだけどw

ピ:今あるCategoryの種類は、人物・戦争・発明・政治・王朝・エピソード・死・誕生・著作物・統治者・建築物・文化・反乱・ライフイベント・・・ロケーションは先ほど言ったように議論中。

ち:うーん、とりあえず次行こ次!全部出揃ってから整理しよう。

Property(プロパティ)

ピ:はい、これが旧「タグ」の概念を包含するPropertyだね。 EntityのCategoryが何かによって、格納したいデータって変わるよね? たとえば「人物」なら「氏名」や「生年月日」「生まれた場所」などのデータを持たせたい、というように。 この、テーブルにおける列のことをPropertyと呼んでいるよ。

ち:ふんふん。Entityが行、Propertyが列ね!ちょっとだけ整理されてきたぞ。

ピ:そうそう。Propertyは「ずっとあるもの、時間の経過を通して変わらないもの」というイメージを持っておくと良いと思う。
例えば、もしもEntityのCategoryが「人物」だった場合、「誕生時の社会的階級」「生涯での最高位」「死因」なんかは、時間の経過を通しても変わらないよね?そういう項目がPropertyになる。

今日のまとめ

ち:今までの話をまとめると・・・〇〇というEntityは、□□というCategoryに分類されるので、△△ / ■■ etc.といったPropertyを持つ、ということだね。

ピ:まさに!

ShangYang(概念整理チーム)で議論されている、データの構造を図で示したもの(2)
ShangYang(概念整理チーム)で議論されている、データの構造を図で示したもの(3)

ち:まだまだ分かんないことだらけだ〜。ていうか、あんなにずっとタグ付けって言ってたのに、なんでタグの概念無くなったの?

ピ:そうだよね。次回は、そのあたりについて説明するね!


ここまでお読みいただきありがとうございました。
引き続きよろしくお願いいたします!

COTEN CREWに参加しませんか?
「個人CREW」として、COTENの活動を応援してくれる人を募集しています!ご参加はこちらから
・限定エピソードの配信
・COTEN RADIOをいち早く聞けるアーリーアクセス

「法人CREW」になって、企業のあり方を一緒に探求しませんか?ご参加はこちらから
・法人CREW限定のSlackコミュニティ
・COTENメンバーとの対談
・限定勉強会の開催

🌱 皆様へのお願い 🌱
現在、オウンドメディア試運転中です。
本格ローンチに向けて、ぜひ、皆様からの率直なフィードバックをいただければ幸いです。 ご意見・ご感想は
①「Twitterにてハッシュタグ #cotenmedia をつけてツイート」
https://coten.channel.io にチャットを送る
どちらかの方法でお願いいたします!