天天看點

資源描述架構RDF

在圖書館裡,每一本書都要被編目,這樣才能友善查找和利用。于是,很早就有人想到,網上所有的資源也需要"編目"。

如果要對網絡資源編目,首先就必須有一套"編目規則"。資源描述架構(resource description framework ,簡稱rdf),就是一套w3c提出的描述網絡資源的方法。

rdf的基本思想很簡單,就是說任何網絡資源都可以唯一地用uri(統一資源辨別符,uniform resource identifier)來表示。在這裡,可以簡化地将uri了解成網址url。

比如,世界第一大網站yahoo!首頁的網址是http://www.yahoo.com/,那麼它的首頁就可以用這個網址來唯一代表。

有了這個識别符以後,網絡資源的其他特性都用"屬性(property)"="屬性值(property value)"這樣的形式來表示。

資源描述架構RDF

請看上圖,最頂部的方框表示網絡資源http://www.yahoo.com/,下面的兩個方框表示兩個屬性關系,一個是"資源作者=yahoo!公司",另一個是"資源名稱=yahoo!首頁"。

根據rdf的定義,資源本身是主語subject,屬性名稱是謂語predicate,屬性指是賓語object。對網絡資源的描述就采用主-謂-賓的形式。

rdf本身用xml檔案的形式表示,比如上圖寫成xml檔案就是:

<?xml version="1.0"?> <rdf> <description about="http://www.yahoo.com/"> <資源作者>yahoo!公司</資源作者> <資源名稱>yahoo!首頁</資源名稱> </description> </rdf>

這個xml檔案不是很規範,主要是為了說明問題。

rdf強大的地方在于,它隻規定了主-謂-賓這種描述形式,至于謂語和賓語到底是什麼,完全可以根據不同需要自由選用。是以,rdf才能定義為"資源描述架構",而不是"資源描述方法"。

采用了都柏林核心以後,基本上所有的網絡資源都可以用rdf描述出來,是以初步實作了對網絡資源進行編目的目的,為下一步機器化處理和最終語義網的實作打下了基礎。

以下我舉一個執行個體。

<?xml version="1.0" encoding="utf-8"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:description rdf:about="http://www.ruanyifeng.com/blog/2006/02/post_179.html" trackback:ping="http://www.ruanyifeng.com/cgi-bin/mtype/mt-tb.cgi/251" dc:title="學科和采礦" dc:identifier="http://www.ruanyifeng.com/blog/2006/02/post_179.html" dc:subject="history" dc:description="今天突然想到一個比喻:選擇不同的學科就好像采礦一樣。 有的礦是新發現的礦物品種,埋藏淺,品味高,容易開采。選擇這樣的礦,很容易出成果。某些新興學科大概就是這樣的礦,計算機科學可以算一個例子。..." dc:creator="ruanyf" dc:date="2006-02-25t20:52:32+08:00" /> </rdf:rdf>

這是一個規範的xml檔案,可以實際使用。請注意标成黑體的那幾行。首行"rdf:description",這是rdf規定使用的标簽,表示主語subject,後來的"rdf:about"屬性用來表示資源的辨別符,也就是url,它唯一地确定了一個網絡資源。其他屬性中的dc:title、dc:identifier、dc:subject、dc:description、dc:creator和dc:date,分别表示題目、辨別符、主題、簡介、創造者、日期,這幾項都屬于都柏林核心,等号後面是相應的值。至于trackback:ping屬性,這一項在都柏林核心中沒有規定,但是也可以加上去,從中可以看到rdf資源描述架構的靈活和強大。

[延伸閱讀]

(完)