「四次元年表」事象登録のまとめ 1
JOINを待ちながら
ServerpodのJOIN検索未対応、という回答ににちょっと呆然としながら、
それでも「現在開発中」というナカの人の言葉に、なら待つかぁ、と思う今日この頃。
この際、登録のほうを見返して、まとめておく。
table構成
多元的に検索できる年表Databaseを目指す「四次元年表」。
「歴史を見渡す、でも語らない」がキーワードの一つ。
だからDatabaseに登録するのも、数字や50字以下の言葉のみ。
画像なし、リンクなし・・・・簡単そう! ・・・と自分でも思うのだが、なかなか進まない。
必須項目・・・三件で1table
- いつ double 年単位 (時代区分することで入力桁数を抑えている・・・-13.8 Billionとか)
- どこで String とりあえずここでは「それが起こった地点」の現在国名
- なにが String 50字以内で命名 人名を含むことあり
任意 詳細情報(検索項目)・・・項目ごとに1table
- いつ 月日(int)、local歴表示(ヒジュラ暦、和暦etc)(String)
- どこで 都市名(String)、当時の国名・都市名(String)、緯度経度(double)
- だれが 関係者、関係国、関係団体など (String)
- 他 カテゴリー、キーワード (String)
relational table
詳細情報の各IDと必須項目を連結 int
表記揺れ対策
「四次元年表」に入力するのはuserで、Database担当のエンジニアではない。
だからルールはできるだけ少なくしたい。
でもアメリカ、US、USAなどの表記が混在したら、一つの国として認識できなくなる。
なのでできるだけ、選択肢から選んでもらう。
dropdownButton
表示内容が確定していて、変更があるとしても稀で、一つだけ選ぶもの。
現在の国名(国連加盟国・地域等)はdropdownButtonから選ぶ。
ChoiceChip
一つだけ選ぶが、追加が可能。
都市名、当時の国名・都市名はChoiceChipから選ぶ。
既に登録されているものがChipで表示される。
もしそこに含まれていなければ、新たに追加でき、すぐに選択肢の一つとして反映される。
これによって、表記揺れが防げる。
FilterChip
複数選択が可能で、追加も可能。
多くの用語はこれで選択する。
複数選択された結果はListになるが、backgroundで分解して、1用語ずつrelationを設定する。
UI構成
必須項目、任意の詳細項目の入力画面をtabによって移動していく。
最終画面で入力内容が一括表示されるので、確定ボタンを押すと登録される。
現状、一括入力のみ
現在、実装できているのは、上記を同時に入力して登録する方法だけ。
既に登録されている事象について、詳細情報を追加登録する導線はまだ引けていない。
その他の課題
緯度経度問題
「四次元年表」の重要な目的の一つは位置表示だ。
それが「どこ」で起こったかを、文字だけでなく、地図・地球儀上にプロットする。
だから本来、緯度経度は必須情報なのだが、
それをuserに要求するのは酷かなと思うので、任意入力になっている。
これを国名や地名から自動入力できるようになればうれしいが、
それにはAIを導入しないと・・・ということで、だいぶ先の話になりそう。
もう少し現実的な問題としては、
十進法表記と度・分・秒表記の混在がある。
Wikipedia一つに限っても、緯度経度表記は混在している。
これを元にuserが入力しようとすれば、当然「四次元年表」でも混在するだろう。
ChatGPTによれば、度・分・秒表記の緯度経度を誤って十進法のように入力したら
そのズレは最大約30kmだそうだ。(確認していない)
待ち合わせ場所の指定としては致命的だが、「四次元年表」の精度としてはどうだろう。
例えばフランス革命のバスチーユ陥落からベルサイユ宮殿への行進について、
二つの地点の緯度経度がズレたら、それはちょっと変な感じになるかもしれない。
それぐらいの問題かな・・・。
Discussion