2012-04-25 122 views

回答

2

如果您準備好接受OWL的子集,那麼您可以通過流處理方式執行某些操作,而無需將所有RDF數據加載到內存中,並且可以實現所有推斷的三元組。

舉個例子,看看RIOT的推斷命令:

源代碼在這裏:

這是小事採取RIOT的推斷,並與類似的MapReduce並行運行,例如是在這裏:

另一種不同的方法,它使用的MapReduce應用RDFS和OWL ter Horst規則和實現所有派生語句的地方在於:

也許,你可以看看你感興趣的OWL的部分,並檢查你是否可以以流媒體的方式做到這一點。如果是這樣,你可以採取RIOT的推理並擴展它,添加你感興趣的OWL的部分。這對Apache Jena來說是一個很好的貢獻(如果你想這樣做,請回到jena-dev郵件列表上) 。

WebPIE是一個聰明而有趣的項目,但正如您所看到的,更復雜一點,它是一個研究項目(這意味着從長期的支持和維護角度來看)。但是,如果它是您想要/需要的OWL ter Horst,WebPIE會這樣做。 如果其他人有興趣使用它,你甚至可以付出努力,分叉WebPIE並將其貢獻給開源項目。

您可能會感興趣也看Ymris(但目前這睡覺... ZZZZZ):

+0

推理謝謝你的回答! – 2012-04-28 16:46:26

3

不是。 DL推理在低規模上在計算上很困難。有了批次的數據,這只是不會與現有的方法一起工作。做二次存儲仍然是一個開放的研究問題afaik。

但是,存在OWL的各種配置文件來解決此問題。它們都具有不同的計算複雜性,這些都比DL更容易,使得它們更加適合大規模推理。特別是,QL專爲查詢時間推理而設計,根據我的經驗,這些推理的內存容量通常很小,RL可以使用標準規則推理器實現。

因此,如果您不需要使用DL,那麼我會選擇支持其中一個配置文件的工具,並且您應該獲得相當不錯的里程數。

作爲參考,你可能會發現這個document關於有趣的各種OWL方言的計算複雜性。

+0

實際上,RDF數據是skos,我不知道是否可以通過QL – 2012-04-28 16:47:50

相關問題