2011-06-10 46 views
3

我在想如何使用RDFa。更具體地說,如果數據的語義網絡由RDF中的三元組構成,那麼RDFa內容的使用者如何使用該數據?它是否必須使用GRDDL之類的工具進行轉換?或者還有其他從RDFa網站獲取語義數據的方法嗎?RDFa如何使用?

感謝, 布魯斯

回答

3

一種方法是使用RDFa解析器從RDFa文檔中提取三元組,然後在您的應用程序中處理它們。這是谷歌和他們在搜索引擎上做的事情,我想。

或者,您可以通過它的API或SPARQL 1.1的LOAD命令來告訴SPARQL存儲(無論是在內存中還是在持久存儲中)加載文檔,然後使用SPARQL查詢來訪問數據。這也將允許您同時查詢多個文檔。

我可能會建議不要嘗試直接處理三元組,除非您的應用程序或數據非常簡單。

0

有很多的方式來訪問RDF數據。像dbpedia這樣的網站有一個sparql端點,所以你可以用一種數據庫語言直接查詢三元組。這很方便。

你有時也可以直接抓住rdf並用像Jena(Java)這樣的框架來解析它。

0

RDF只不過是一種通過命名邊連接節點(通常是資源)到其他節點(其他資源或文字)但帶有扭曲的圖形。邊緣可以通過邏輯來推斷,這意味着即使你從不提供答案,也可以得到問題的答案。推理引擎足夠聰明,可以根據它對系統的瞭解以及它所描述的邏輯所瞭解的內容來推導出這些答案。例如:如果您指定A是B的母親,則推理引擎可推斷出B具有父級A.您從未指定連接B -- hasParent -> A的邊,但您指定了A -- motherOf -> B,並且還指定hasParentmotherOf是逆。

一旦你有你的數據,你可以問問題的數據庫/推理引擎。這個操作基本上是一個子圖同構主義搜索。你的查詢是一個圖,你的數據庫包含一個巨大的圖,所有的資源都通過命名邊連接起來。數據庫的任務是查找與查詢匹配(同構)的巨大圖的那些部分,同時考慮每個邊和節點的風格,不僅是它們的互連性。

它的用途是什麼?很多東西。您可以使用此數據模型完成非常強大的功能。一個很容易理解的問題就是思考社交網絡:通過關係(friendOf)連接並描述(isAged,livesIn)的人(資源,圖的一個節點)。有了一個查詢,你可以找到所有23歲以上的人至少有三個女性朋友,住在巴黎。