最近、HTML5の話題をきっかけにセマンティック・ウェブとXMLの問題を考えるようになった。
セマンティック・ウェブの命題は、ウェブページの閲覧という行為に、データの交換の側面に加えて意味の疎通を付け加えること。意味の疎通のためには、「語彙」の定義が重要で、データの交換のためには「構造」の定義が重要となる。例えば、DBpediaの「CoolURIとして定義された語彙」をリンクするHTML文書は、セマンティック・ウェブの命題をほぼ達成していると思える。
<参考>
Kanzakisan'ちょっとしたメモ
DBpediaは、英語版を中心にWikipediaから構造化されたデータを抽出し、RDFの形で提供しているもの。抽出した語彙には、リンクするデータとして利用可能なURIが与えられている。たとえば、WikipediaのRoger Norringtonに対応するデータは、次のURIで表現される。
http://dbpedia.org/resource/Roger_Norrington
こうした固有名詞や概念を表すURIが、Wikipediaの膨大な語彙から取られているので、利用価値が高い。さらに、WikipediaのカテゴリやInfoboxのデータもRDFによって関連付けられており、様々なデータを「リンク」して辿っていくことが可能だ。
ところで、HTML5はWell-formedではないことが問題、といった話をこちらでしたところ、
HTMLでもそうだけれど、どう処理するのかが規定されていることが重要。
microformatsもしかり、XMLを前提にはしていない。
といった意見をいただいた。セマンティック・ウェブという観点で考えれば、データを取り出せて意味の疎通ができればよいのだから、必ずしもWell-formedでなくてもよい。ということはXHTMLでなくてもよいということになる。実際にmicroformatsはXMLではない。
ただし、HTMLにおいても、それはそれで処理の規定はあり、データとして扱いたい場合には、タグなどで括る必要がある。XMLでは文書全体を構造化するのに対し、HTMLでは一部だけが構造化される点が異なるが、要は、HTMLでは関心のあるところだけにタグ付けし、関心のないところはエラーにもならずに全く無視できるという特徴をもつ。
もちろんXMLでも関心のあるところだけを対象とした処理はできる。しかし、関心のない要素が入る場合には、それが入るかもしれないことを定義したり、名前空間を別けてその要素の所在を明らかにしてあげなければならない。スキーマ定義とは要はそういうものである。
ウェブページがスキーマをもつXMLであってほしいと思うのは、おそらくパーサ等を作る側である開発者である。それは、スクレイピング(関心のないところを捨てる作業)がとても大変なのをよく知っているからだ。(一度コーディングしてみるとどれだけ大変かがよくわかる。XMLパーサのありがたさを痛感するに違いない)
一方で、多くのウェブページの作成者は、文書全体を厳密に構造化する必要はないと感じているだろう。Web applicationsを支持するクライアント開発者も同様に感じているかもしれない。
問題は、パーサを作る側は少数で、ウェブページやWeb applicationsを作成する側は圧倒的多数であるということだ。この時点でXML派は不利である。
もしかしたら、HTMLになることでセマンティック・ウェブ化が遅れると心配するのは杞憂に終わるかもしれない。苦労するかもしれないが、スクレイピングの問題さえ解決できれば、HTMLだけのセマンティック・ウェブ化が一気に進むだろう。現段階では一概にはいえないが、そうなってくると一層、XMLの存在価値が薄れてくると思われる。
追記:HTMLをXHTMLに変換してくれるものが既にあった。=>htmlcleaner
<関連>
XMLシリアライゼーションの意味
0 件のコメント:
コメントを投稿