LODチャレンジ2014に応募されてる「ウィキ町史」ですが、その後、随時更新版の方がとても面白いことになっていて、LOD (Linked Open Data)こそが、町史、沿革、年表を実現するのだと思います。
森町のウィキ町史(随時更新)版を「ウィキ町史ビューア」で見るとこうなります。
このように「年」の部分に年以外が書かれている年表・沿革は、他でも見られます。例えばWikipediaの八雲町の沿革。
「幕末」とかいうのは、プログラミング言語のdate型/datetime型や、iCalendarのdate/datetimeプロパティで扱うのは難しいですね。境界が不明・曖昧だったり、学説によって変わったり、研究の進展でなくなったりすることもあり得ます。時制データベース(temporal database)の方に、これ系の研究があるようですが、やはり難しいのではないか。求めるレベルが厳しすぎるのだと思います。もっと緩い「時間」の方が、年表・沿革の場合は人間とって扱いやすい。
Wikipediaに見られる「沿革」などの記述は、これに対するシンプルな解答になっています。Wikipdiaでは、年がresourceになってますよね、すでに。
整理します。年表・沿革で要求される「時間」の要件は2つで、これくらい緩くてよいでしょう:
- 個々の年表では、各「時間」の前後関係は確定している。
- 「時間」に基づいて、複数の年表をマージ・ソートできる。ただし、年表をまたがって前後が不確定な出来事があってもよい。
時間として、date型やdatetime型に加えて、文字列とresourceも許すことにすれば、これを満たせるでしょう。同じresourceを指すとき同じ「時間」の出来事として扱うことにすれば、必要な出来事を同じ「時間」枠に並べて表示できます。
このように書くことを認めよう、ということです:
<Vevent>
<dtstart>
<time rdf:resource="http://ja.dbpedia.org/resource/幕末" />
</dtstart>
</Vevent>
「年表をまたがって前後が不確定」とは、次のような表示結果を指します。
「擦文時代」(さつもんじだい)は7世紀頃から13世紀頃ということで、これが「年」軸のここに表示されるのはおかしいです。こうなるのは、擦文時代がいつなのか、並べ替えの手がかりが「森町 (北海道)」町史しかないからです。「森町 (北海道)」町史内でのできごとの順序は保たれています。
「擦文時代はいつからいつまでか?」という情報をビューアの外側に求めるで、上記のような自由度の高さ -- 緩さ -- を実現できます。「擦文時代」は数値などではなくリンク(RDFのリソース)になっていて、"http://ja.dbpedia.org/resource/擦文時代"と表されています。これを主語として、擦文時代の開始・終了を目的語とするプロパティがあれば、それを使って「年」軸上で並べ替えることができます。「擦文時代とはいつか」という情報をビューア内部に持つと、研究の進展によってそれが変わるたびにビューアを修正しなくてはなりません。まして、個人的な「小学生時代」をや、です。
- 追記1 2015-02-01
- 「擦文時代」の例を追加。