RDF 简介

好的,也许要超过50个字,但是关键特性是非常简单的。RDF只做两件事。

首先,RDF是用来描述Internet资源(比如网页和电子邮件)和与其他对象的关系的graph模型。

那么究竟具体做什么呢?对于一个Mozilla开发者,RDF数据模型(这个“graph”)好比一个用来整合和组织Internet资源的机器。

让我们看个例子:"书签"。现在,很多浏览器让你组织你的层次化书签进“文件夹”。每个书签是个通向网页的URI(Uniform Resource Identifier)节点。

但是网页只是一种Internet资源。还有大量的其他资源,包括电子邮件内容,UseNet新闻的文章(或者整个UseNet新闻组),和来自你偏爱网站的搜索结果,just to name a few。从根本上说,没有理由你不好好对待这些“书签”,把他们按你的要求放一起,或者甚至创建“聪明的”文件夹,当你打开他们,他们自己可以通过运行一下你自定义的搜索动态的生成他们的内容。

一个“书签”可以像这样被自由的组织:你可能想发明一种自己的“分类”方案,按苹果电脑的“热”、“暖”、“冷”的颜色编码来划分。或者你想把一个书签连到另一个书签,或者快速保留一个复合文件夹。

RDF graph提供一个建立一个“通用”书签服务的完美数据模型,见如下描述:这个东东包含任意资源的指向,并且能按你可以想出的大多办法来组织这些资源。

But wait, there's more...

第二,RDF是一个串行化语法。这个语法允许这个类图形模型能在“代理”间通讯。

这又是什么意思呢?就是说RDF数据模型的一部分可以跨越网络边界被通讯,并且这个graph内容能被收到的远程服务信息动态的改变。

让我们回到我们的书签例子。话说我的一个书签文件夹指向我的收件箱:当我打开这个文件夹,棒极了!昨晚收到的所有邮件显示了出来。

但是这是怎样发生的呢?这个收件箱“文件夹”只是众多包含在RDF中的一个Internet资源连接点。这个“Internet资源”是一个指向一个CGI脚本的URI(say, <tt>http://www.mozilla.org/smart-mail/get-mail.cgi?user=waterson&folder=inbox</tt>). CGI脚本实际上是生成一种“串行RDF”,主要是格式化从graph到XML的一种方法。

 <rdf:RDF
     xmlns:rdf="http://www.w3.org/TR/WD-rdf-syntax#"
     xmlns:sm="http://www.mozilla.org/smart-mail/schema#">
   <rdf:Description
     about="http://www.mozilla.org/smart-mail/get-mail.cgi?user=waterson&folder=inbox">
     <sm:message id="4025293">
        <sm:recipient>
          Chris Waterson "waterson@netscape.com"
        </sm:recipient>
        <sm:sender>
          Aunt Helga "helga@netcenter.net"
        </sm:sender>
        <sm:received-by>x-wing.mcom.com</sm:received-by>
        <sm:subject>Great recipe for Yam Soup!</sm:subject>
        <sm:body>
          http://www.mozilla.org/smart-mail/get-body.cgi?id=4025293
        </sm:body>
     </sm:message>
     <sm:message id="4025294">
        <sm:recipient>
          Chris Waterson "waterson@netscape.com"
        </sm:recipient>
        <sm:sender>
          Sarah Waterson "waterson.2@postbox.acs.ohio-state.edu"
        </sm:sender>
        <sm:received-by>x-wing.mcom.com</sm:received-by>
        <sm:subject>We won our ultimate game</sm:subject>
        <sm:body>
          http://www.mozilla.org/smart-mail/get-body.cgi?id=4025294
        </sm:body>
     </sm:message>
   </rdf:Description>
 </rdf:RDF>

Upon receipt of the above monstrosity, the RDF engine folds the RDF into the graph at the appropriate place, and the tree control that actually implements the UI to the bookmarks is notified that it should begin drawing some icons for the latest message about Yam Soup from Aunt Helga.

This is exactly how SmartMail works.

Contact: Chris Waterson (waterson@netscape.com)

Original Document Information

Interwiki Language Links

Document Tags and Contributors

标签:
Contributors to this page: Freeopen
最后编辑者: Freeopen,