看著這個題目可能大家會有點陌生,不知道是什麼,說的直白一點,RDFa就是讓你的頁面更好的被機器所理解,而不簡簡單單是展示你的頁面,下面就關於此對什麼是RDFa做個簡單介紹。
背景:
為什麼會出現RDFa這個東西呢?
現在的網路主要是為人類的使用而創造的,雖然機器可讀的資料是網路上最先出現的,但是這些機器可讀的資料一般是以單獨的檔案和單獨的格式被發佈在網路上的,機器可讀的和人類可讀的數據之間的關聯是相當少的。結果就是現在的瀏覽器在解析和處理web資料上的能力很差,因為瀏覽器只負責展示這些資訊。
但是瀏覽器能夠辨識這些數據又有什麼用呢?
用處多了,如果瀏覽器可以很好的識別這些數據,它就會形成一個固有的數據結構,而如果將這些數據結構加里利用,那我們就不需要記錄一些信息都是通過無數次的ctrl+ c和ctrl+V來完成了,一鍵操作就很方便了,而對於搜尋引擎來說,就是更好的搜尋結果展示以及更強大的資料探勘能力了。
所以基於這個目的,RDFa出現了,就是為了達成我們的這個目的,它的全名是“Resource Description Framework in attributes”,其實從它名字的全名就可以獲得很多資訊了,呵呵。
RDFa介紹:
提到了為什麼會出現RDFa這個東西,那什麼是RDFa呢,主要體現在下面幾點:
而與我們平常做的頁面相比,使用RDFa技術的時候,它的頭部doctype是這樣定義的:
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML+RDFa 1.0//EN”
" http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd ">
上面的這種是基於XHTML的,主要是因為此標籤的可擴展性,可以使得RDFa更好的嵌入,但是雖然html無法有這麼好的擴展,但是仍然有針對它的標準,定義如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML4+RDFa 1.0//EN"
http://www.w3.org/MarkUp/DTD/html4-rdfa-1.dtd >
而對於html來說,唯一需要解決的問題就是對名字空間缺乏的問題。
優勢:
實現原理:
在實現主要是透過引入名字空間的方法在已有的標籤中加入RDFa對應的屬性來使得支援RDFa技術的瀏覽器或搜尋引擎可以解析到,從而達到最佳化的目的,就透過一段簡單的程式碼做實例吧:
<div xmlns:dc=" http://purl.org/dc/elements/1.1/ " about=" http://www.example.com/books/wikinomics ">
<span property="dc:title">Wikinomics</span>
<span property="dc:creator">Mr right</span>
<span property="dc:date">2006-09-02</span>
</div>
在上面的程式碼範例中主要用到了RDFa屬性中的about屬性和property屬性,這段程式碼範例說明了一篇文章,然後描述了和這篇文章相關的信息,比如說標題,創建者和創建日期,而這些屬性就可以使得支持RDFa的機器識別,從而形成跟我們人類所理解的那種結構的一個體系,達到我們的目的。
而我們要做的就是在我們了解這個網路的同時,我們也要讓機器跟我們一樣懂。
前景:
透過這些我們可以看出,RDFa的前景還是很不錯,如果某一天真的瀏覽器也支持了,那我們的互聯網上將會出現一種新的局面,期待中,大家有什麼問題,也可以一起探討。
原文: http://www.rainaxin.com/2009/08/technology-share-about-rdfa/