3/19/2007

ActiveRDF - putting semantic web on rails (1)

由諸多的現象我們可以推測,在 Social Web 的時代中 Ruby on Rails 這個 web development framework 不但嶄露頭角,甚至形成了大量的助力。我們能透過 Ruby on Rails 輕鬆地建置 tagging system,我們能透過 Ruby on Rails 建立社群的交流平台,我們能透過 Ruby on Rails 建立人事時地物的複雜關係,甚至透過 Ruby on Rails 來建置 Web Service 的環境與應用。我們甚至可以說,在 Web 2.0 的時代與 Ruby 社群蓬勃發展的現在,Ruby on Rails 幾乎不留遺憾。

我們並不清楚 Semantic Web 是不是 Social Web 的下一世代,不過 Semantic Web 確實有較多數人認同是 web 3.0。Semantic Web 是什麼呢?簡單的說,在 web 上的資源隱藏有語意的註記,透過這些語意的註記,將可以被機器處理。譬如一個簡單不過的例子,在 web 上有兩筆資料,『A 與 B 的結婚紀念照片』、『C 在 blog 中揭露了他的父親是 A』,則機器透過這兩筆資料上面隱藏語意的註記,再加上人們加諸給它的家庭的定義(或稱 ontology),則機器將可以運算出『C 的母親為 B』這樣的推論來。

我很難想像現存的 WWW 這麼龐大的資料如何被加入語意的註記,於是我非常能夠認同 Semantic Web 必須也得依靠眾人的智慧來成就,因為那些語意的註記絕對不是幾個團體能夠負擔,當然也很難達到自動的語意註記。

扯得有點遠了,回到這篇的主題來。我們知道 W3C 制定出了 RDF 與 OWL 等來描述 ontology 的框架 / 語言來。前陣子 DERI 裡面幾個研究人員幫 Ruby on Rails 寫了 ActiveRDF 來方便 Ruby on Rails 加入一些語意的支援。我們知道 ActiveRecord 扮演著 Object-Relational Mapping 的橋樑,將 Relational Database 裡面平面的表格透過 code generation 建構為具有階層關係的物件。而 ActiveRDF 則是可以將 RDF(S) 裡面的 Triple 關係建構為具有階層關係的物件。顯然地,作者群的開發時,野心並沒有大到連 reasoning、validation 或 constraint 這些機制都支援,正如同 Ruby on Rails 的精神之一;只扮演好自己該扮演的角色就足夠了。


延伸閱讀


沒有留言: