RDF/XML

RDF/XMLとは,RDFモデルをXMLで表現するための構文仕様を指します.RDF(Resource Description Framework)とは,Web上のリソースを表現するための枠組みのことです.Webの世界では,Web上に存在する無数の情報(=リソース)をメタデータ(情報を説明する情報,情報そのものの説明のみならず,情報間の関係記述もメタデータの一種)を用いてマシンが理解できるようにする試みが進められています.

分かりやすい例として,2004年のEric MillerのTalkがあります.

以下の図1を

図1 The current web

図2のようにしたい!


図2 The Semantic web

ということです.この例では今までは情報間にはリンク構造のみが提供され,その意味的な理解は人間が行ってきましたが,情報間にメタデータを付与することでマシンがメタデータを読み取り,情報間の関係を理解してもらおうとしています.

もちろん,マシンは人間ではありませんから,実際には理解していません.ただメタデータを用いることで利用者の意図に沿った検索結果を提示したり,利用者の理解を促す表示をしたり,そんなことができるのではないか,と考えられています.

RDFは,この情報間の関係を文の形で表現します.文の形とは,具体的には「主語」「述語」「目的語」を使って表現されます.文の形をもってリソース間の関係を表すわけです.

図で示すと,以下のようになります.



図3 A Simple RDF Statement


図3は,以下の文を表現したものになります.

  • http://www.example.org/index.html has a creator whose value is John Smith

つまり,

  • 主語「http://www.example.org/index.html」には,目的語「John Smith」という述語「作者」がいます.

という文の形でリソース関係を表しているのです(例はRDF Primerから引用しました).図ではJohn Smithの部分がhttp://www.example.org/stuffid/85740になっていますが,恐らくJohnはスタッフIDとして85740なのでしょう.

図3のようなグラフを有向ラベル付きグラフと言います.このグラフ,人間は理解できますが,ただのモデル図ですので,マシンに理解させるにはそれなりの文法で書かなくてはなりません.その文法が XML(Extensible Markup Language)です.RDFではXMLを使わなくてはならないとは言っていませんが,例示がXMLであり,事実上RDFの取り扱いにはXMLが用いられています.

XMLとは,データ構造を記述するための言語で,データにタグと呼ばれるしるしを付けていくことで構造を表現します.

図3のグラフをXMLで書き直すと以下のようになります.

<?xml version="1.0" encoding="utf-8" ?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xml:lang="ja">
<rdf:Description rdf:about="http://www.example.org/index.html">
<dc:creator>John Smith</dc:creator>
</rdf:Description>
</rdf:RDF>

このXML(意味は図3のグラフや文と同じ)をマシンが読み込み,あたかも内容を理解しているかのように振舞うわけです.

さて,RDF/XMLについて,初歩の初歩を説明しましたが,CRMとの関係はどうなっているのでしょうか.

それはまた次回!

0 コメント: