ちょっとしたメモ

HEML:歴史的イベントの記述

Dan BrickleyがIRCで紹介しているのを見て、Historical Event Markup and Linking (HEML) projectというものを初めて知った。歴史上のいろいろな出来事を独自のXMLで記述して、それをベースにSVGを使って年表や地図を表示するというもので、なんと安土桃山から明治までの日本の情報もある。Danとしては、これをRDFicalgeoinfoを使って記述すれば、もっと可能性が広がるというわけだ。

HEMLのマーク付けはなかなか細かい。たとえば、織田信長という歴史上の「イベント」を記述している部分を取りだしてみると、次のような具合だ。

(例)

<Event id="e4">
 <EventLabelSet><Label xml:lang="ja">安土桃山時代</Label></EventLabelSet>
 <Classification>
  <KeywordClassificationSet id="takeover">
   <Label xml:lang="ja">織田信長</Label>
  </KeywordClassificationSet>
 </Classification>
 <Chronology>
  <DateRange>
   <StartingDate><XMLSchemaGYear>1559</XMLSchemaGYear></StartingDate>
   <EndingDate><XMLSchemaGYear>1603</XMLSchemaGYear></EndingDate>
  </DateRange>
 </Chronology>
 <Location id="Japan">
  <LocationLabelSet><Label xml:lang="ja">日本</Label></LocationLabelSet>
  <Latitude hours="35" minutes="41"/>
  <Longitude hours="139" minutes="46"/>
 </Location>
 <Participants>
  <PersonWithRole>
     ...
  </PersonWithRole>
 </Participants>
 <References>
  <Evidences>
     ...
  </Evidences>
 </References>
</Event>

かなり複雑だが、HEMLを作成するためのツールも提供されているようなので、それはたいした問題ではないのだろう。XHTMLと混在させて、普通のウェブ文書内にこの「歴史的イベント情報」を埋め込むことも考えられているようだ。

語彙がしっかり定義されているので、少々工夫すれば、DanがいうようにRDFとして記述することもそれほど難しくないだろう。ちょっと強引にやってみると、次のような感じかな(デフォルト名前空間=HEML)。

(例)

<Event rdf:nodeID="e4">
 <dc:title xml:lang="ja">安土桃山時代</dc:title>
 <classification>
  <KeywordClassificationSet rdf:nodeID="takeover">
   <label xml:lang="ja">織田信長</label>
  </KeywordClassificationSet>
 </classification>
 <chronology>
  <DateRange>
   <startingDate rdf:datatype="&xsd;gYear">1559</startingDate>
   <endingDate rdf:datatype="&xsd;gYear">1603</endingDate>
  </DateRange>
 </chronology>
 <i:location>
  <Location rdf:nodeID="Japan">
   <label xml:lang="ja">日本</label>
   <geo:lat>35.683</geo:lat>
   <geo:long>139.767</geo:long>
  </Location>
 </i:location>
 ...
</Event>

同じような意味ならもっと一般的なDublin CoreやRDFicalで置き換えることもできるだろうが、HEMLの語彙を使っておく方が、HEMLプロジェクトのSVGツールなどと連動しやすいかも知れない。きちんとした対応ルールがあれば変換は簡単だから、いろんな歴史的事象を手頃な語彙でマーク付けしてみると、面白いことができそうだ。

関連メモ: