実世界を表現するための HTML

HTML で表現できるものは複数ある。

そのひとつはもちろん文書構造。

文書構造の表現は、適切な見出しを設けることによるアウトライン(概要)の作成にはじまり、テーブル構造によるデータの組みや、日付、引用などがある。

また、ハイパーリンクや動画、音声、画像などによってハイパーメディアとして表現された HTML は、CSS によって装飾されることもあり、ひとへ向けてのみの表現媒体だと思われがちなのだけれど、そうであれば、なにもわざわざ HTML なんてまどろっこしいものは使わないはずだ。

例えば HTML はフォームで通信することができる。フォームの情報を HTTP を介して送ることで、情報を表現するだけでなく、情報を伝達することも可能になっている。

他にも DOM API によって提供されるインターフェースは、プログラムでの再利用を容易にし、適切に構造化された HTML であれば、それ自体を簡便なデータベースのように扱うこともできる。

このように、HTML はそれ自体はシンプルな設計で、短期間での学習が可能であるものの、パンフレットやチラシのような使い方から、アプリケーションの UI まで、実に柔軟で多様な表現が可能なものになっている。

リアル HTML

さて、ではその HTML をつかって実世界を表現するとはどういうことか。

もちろん通常の Web サイトも、フィクションでもない限りは実世界の表現だといって差し支えない。企業情報を覗けば資本金や決算情報などを見ることができるし、Facebook や Twitter にはリアルなナウが溢れている。が、しかしもちろんそういうことではない。

最初にくどくどとお復習いしたように HTML として表現されるのであるならば、それは単純なグラフィックや文書としての表現では物足りない。つまり、文書の内容が再利用可能な形で意味的に構造化されたものでなければ、マークアップ言語(印をつけるための言葉)としてはその本領を発揮できていないといってもいい。

もちろん、キングオブマークアップである HTML にそのための表現方法がないわけがない。それがマイクロデータや RDFa になる。

より専門的な説明はググればいくらでもでてくるので、ここではそのコンセプトの説明だけしてみたい。

マイクロデータや RDFa は表現方法でしかない。意味は別に語彙が定義され(てい)る。マイクロデータなどは文法のようなもので、それ自体が意味ではなく、意味を表現するためのフォーマットということになっている。

例えば、店舗の情報を表現するとして、店舗には名前、カテゴリー(飲食店など)、住所などがある。

これらを HTML で表現した場合、ある HTML では
class="shop-name"
で囲われたものが店舗名
class="address"
で囲まれたものが住所、別の HTML では 
class="name"
が店舗名、
class="addr"
が住所など、構造化はされているが統一した決まりがない。そこで階層構造をつくり
itemtype="https://schema.org/LocalBusiness"
の中(子要素)に
itemprop="name"
というのがあった場合その
itemprop="name"
が店舗名だという決まりごとを事前に設け、全世界で共通のルールとすることで、どの HTML であれ、
itemprop="name"
は店舗名だということがわかる。

そうすれば複数のサイトをまたいで情報を収集したとしても、同じ構造のものであるので、同じ手順で同じ情報(店舗名)がわかるという仕組みになっている。

また、URI 参照にすれば、それ自体が一意に決定されるので、別の HTML で表現された店舗が、同じ店舗だと同定することも可能になる。

このように URI 参照を繰り返すことによって、巨大な意味体型ができあがれば、実世界の情報が Web 上に意味的に構造化された情報としてつくられていくことになる。

カテゴリー:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です