複製鏈接
請複製以下鏈接發送給好友

資源描述框架

鎖定
資源描述框架(Resource Description Framework,RDF)是一個使用XML語法來表示的資料模型(Datamodel),用來描述Web資源的特性,及資源與資源之間的關係 [1] 
中文名
資源描述框架
外文名
Resource Description Framework
簡    稱
rdf
領    域
計算機

資源描述框架框架解釋

RDF用於信息需要被應用程序處理而不是僅僅顯示給人觀看的場合。RDF提供了一種用於表達這一信息、並使其能在應用程序間交換而不喪失語義的通用框架。既然是通用框架,應用程序設計者可以利用現成的通用RDF解析器。
資源描述框架(Resource Description Framework,RDF)是一個使用XML語法來表示的資料模型(Data model),用來描述Web資源的特性,及資源與資源之間的關係。RDF是W3C在1999年2月22日所頒佈的一個建議(Recommendation),制定的目的主要是為元數據在Web上的各種應用提供一個基礎結構(Infrastructure)使應用程序之間能夠在Web上交換元數據,以促進網絡資源的自動化處理。RDF能夠有各種不同的應用,例如在資源檢索(Resource discovery)方面,能夠提高搜索引擎(Search engine)的檢索準確率;在編目方面(Cata loging),能夠描述網站、網頁或電子出版物等網絡資源的內容及內容之間的關係;而藉着智能代理程序(Intelligent software agents),能夠促進知識的分享與交換;應用在數字簽章(Digital signatures)上,則是發展電子商務,建立一個可以信賴的網站(Weboftrust)的關鍵;其它的應用還可涉及到諸如內容分級(Contentrating)、知識產權(Intellectual property)、隱私權(Privacy policies)等 [1] 

資源描述框架資料模型

RDF資料模型是一種與語法無關(Syntax neutral)的表示法。如果兩個RDF語法對應的資料模型相同,則代表這兩個RDF語法具有同樣的意義,反過來説,如果兩個RDF語法具有同樣的意義,則它們的資料模型應該相同。RDF的基本資料模型包括了三個對象類型(Object types):
  • 資源(Resource):所有以RDF表示法來描述的東西都叫做資源,它可能是一個網站,可能是一個網頁,可能只是網頁中的某個部分,甚至是不存在於網絡的東西,如紙本文獻、器物、人等。在RDF中,資源是以統一資源標識(URI,Uniform Resource Indentifiers)來命名,統一資源定位器(URL,Uniform Resource Locators)、統一資源名稱(URN,Uniform Resource Names)都是URI的子集。
  • 屬性(Properties):屬性是用來描述資源的特定特徵或關係,每一個屬性都有特定的意義,用來定義它的屬性值(Value)和它所描述的資源形態,以及和其它屬性的關係。RDF的(Property,Property value)在概念上和傳統的(Attribute,Attribute value)是相同的。
  • 陳述(Statements):特定的資源以一個被命名的屬性與相應的屬性值來描述,稱為一個RDF陳述,其中資源是主詞(Subject),屬性是述詞(Predicate),屬性值則是受詞(Object),陳述的受詞除了可能是一個字符串,也可能是其它的資料形態或是一個資源。

資源描述框架語法特點

RDF資料模型只是一個抽象與概念的框架,要真的能夠承載或交換元數據,需要通過具體的語法。RDF以XML作為編碼與傳輸的語法,此外,RDF也需要透過XML的名稱空間(Namespace)來指定宣告屬性(Property)詞彙的綱要(Schema)。RDF規格提供了兩種XML語法來對RDF資料模型進行編碼,第一種稱為序列語法(Serialization syntax),是以正規的方式來表達完整的RDF資料模型,第二種稱為簡略語法(Abbriviatedsyntax),是以較精簡的方式來表達RDF資料模型的一部分,理想的狀況是希望RDF解釋器(Interpreter)能夠支持這兩種語法,讓Metadata的作者能自由混合使用。
下面是RDF語法的一個實例,用序列語法表示如下:
<?xml version=“1.0”?>
    <RDF xmlns=http://www.w3.org/1999/02/22-rdf-syntax-ns#xmlna:DC=http://purl.org/metadata/dublin-core#>
        <Description about=http://www.dlib.org/dlib/may98/miller>
            <DC:title>
                An introduction to the Resource Description Framework
            </DC:title>
            <DC:creator>
                Eric Miller
            </DC:creator>
            <DC:date>
                1998-0501
            </DC:date>
        </Description>
    </RDF>

上面的寫法第一行表示這是一段XML文件,第二行聲明瞭RDF、DC兩個名稱空間(Namespace),其中RDF是預設的Namespace,在描述(Description)中所有的屬性(Properties)都是來自這兩個Namespace其中一個;RDF的主要部分寫在Description這對標籤之中,這裏以title、creator、date三個屬性(properties)來描述一個資源(Resource),這個Resource的URI就是Description的屬性about的值(http://www.dlib.org/dlib/may98/miller)。
這個例子如果以RDF簡略語法來表示則為:
<?xml version=“1.0”?>
    <RDF xmlns=http://www.w3.org/1999/02/22-rdf-syntax-ns#xmlna:DC=http://purl.org/metadata/dublin-core#>
        <Description about=http://www.dlib.org/dlib/may98/miller>
            DC:title = “An introduction to the Resource Description Framework"
            DC:creator = "Eric Miller"
            DC:date = "1998-0501"
        </Description>
    </RDF>

上面的寫法,其中描述(Description)是一個空元素(Emptyelement),因此在語法上要遵守XML空元素的表示法。比較一下RDF序列語法與簡略語法,可以發現在序列語法中,屬性(Title、creator、date)以Description的子元素(Subelement)來表示;而在簡略語法中,屬性(Title、creator、date)以Description的屬性(Attributes)來表示。由於這兩種表示法對應到相同的數據模型,所以這兩種表示法是相等的,不過這兩種表示法在瀏覽器中的呈現可能會不同。在序列語法中,Properties是以元素(Elements)來表示,因此Propertyvalue會被顯示出來;而在簡略語法中,由於Properties是以屬性(Attributes)來表示,因此Propertyvalue不會被顯示出來 [1] 

資源描述框架容器機制

我們除了描述單一的資源,有時也需要描述一羣的資源,比如説,某個新聞組(Newsgroup)可能包含了許多成員,某本書可能許多個作者,某個軟件可能有許多個下載地址。RDF容器(Container)就是用來包裝或裝載一羣資源的機制,RDF定義了三種形態的容器:
  • 封裝(Bag):用來包裝一羣沒有順序性的資源。Bag通常用在一個屬性(Property)有多個值(Value),而這幾個值的先後順序並不重要,例如通訊錄可能包含了許多姓名。Bag所包含的值要在0個以上,也就是可以不包含值,也可以有多個重複的值。
  • 順序(Sequence):用來包裝一羣有順序性的資源。Sequence通常用在一個Property有多個值,而這些值的先後順序是重要的,例如一本書如果作者在一個以上,可能有必要區分出主要作者、次要作者。Sequence所包含的值要在0個以上,也就是可以不包含值,也可以有多個重複的值。
  • 選擇(Alternative):Alternative通常用在一個Property有多個值可以選擇,例如某個軟件可能提供許多個下載網址。Alternative所包含的值要在一個以上,而第一個值是預設值。

資源描述框架RDF綱要

RDF Schema的作用就象是一部辭典,宣佈一組詞彙,也就是在RDF Statement中可以使用的Properties,並描述每個property的意義、特性,以及Propertyvalue的限制。RDF Schema可以是為了讓人閲讀的描述,也可以是機器可以處理的表示法,如果是後者,則應用程序便可以直接透過RDFSchema來了解每個Property的意義,並作自動化處理。機器可以處理的RDFSchema也是以RDF資料模型為基礎,仍在發展之中,W3C在1999年3月3日發表了“Resource Description Framework(RDF) Schema Specification” Proposed Recommendation,在W3C所發表的文件中,Proposed Recommendation表示這還只是一份草案(draft),仍有可能修改或被其它的文件所取代。

資源描述框架重要特點

從上述對RDF一些基本概念的簡要介紹可以看出RDF具有如下兩個重要的特點。
獨立性
RDF實際上是一種元數據模型,具有很大的獨立性,它可以嵌入DC這種元數據,也可以嵌入別的類型的元數據。正是由於現實中有多種元數據形式並存,所以各種元數據之間的轉換就成為不容迴避的問題。RDF就是為解決這一問題應運而生的一種工具,它所具備的獨立性,使得各種元數據間的轉換成為可能。概括地説,RDF可以協助跨越不同語言和增加語意互通性,可以增加DC與其它元數據的連結能力。
使用XML做為其描述語法
XML是從SGML衍生出來的簡化格式,也是一種元語言(Meta-language),可以用來定義任何一種標記語言。XML屏棄了SGML過於複雜及不利於在Web上傳送的選項功能,又彌補了HTML過於簡單的不足,是最具發展前景的標記語言。RDF採用XML做為其描述語法,自然也就成為了一種可以攜帶多種元數據來往於網絡上的框架工具。

資源描述框架好處

這裏有一些可能的好處 [2] 
  • 通過提供一個一致的框架,資源描述框架將會鼓勵提供關於因特網資源的元數據。
  • 因為資源描述框架將會包含一個描述和查詢數據的標準語法,使用元數據的軟件可以更容易和快速的製造。
  • 標準語法和查詢能力將允許應用軟件更容易地交換信息。
  • 基於元數據而不是從正文得來的索引,搜索者將得到更精確的搜索結果。
  • 聰明的軟件代理人將會有比較精確的數據。
參考資料