我想知道當前在Ruby中對語義Web技術的支持。有很好的RDF選項嗎?似乎最後的調查是在大約2007年(http://paul-classic.stadig.name/2007/10/26/the-state-of-rdf-support-in-ruby-2007/)。 Redland的RDF包裝是RDF支持的最佳途徑 - 在那篇老化的文章中提到的所有其他項目似乎都不受支持或被丟棄。如果一個人追求有關語義網絡的項目,Ruby可能是一個不好的選擇?Ruby中的RDF狀態
回答
嗨,Iaalto,我是你提到的調查文章的作者。我一直在想着做一個新的調查。
自從我進行原始調查以來,有一點變化,但並不多。這裏有幾件事要考慮:
- ActiveRDF似乎已經成爲JRuby特定庫的路線。他們的幾個適配器僅適用於Java僅有的庫。不一定是問題,但需要注意的一點。
- 雷迪只有一個基於內存的圖形。再次,不一定是一個問題。我不會爲Reddy打折(不成熟的優化),但我也不會夢想存儲數十億的三倍。
- 我最近發現了一組名爲Redland的新紅寶石綁定,名爲RedLeaf。不知道它有多成熟,但看起來邁克爾已經爲此工作了大約一年。直到最近我還沒有聽說過它,因爲它是離網的(沒有RubyForge或GitHub項目)。
- 我在GitHub上創建了一個名爲RubyRDF(github.com/pjstadig/rubyrdf/tree/master)的項目。它沒有大量的文檔,但它主要是功能性的。它有一個支持交易的芝麻兼容適配器。我對未來的發展方向仍有一些想法,並使其更具功能完整性,但沒有很大的動力來處理它。我歡迎任何貢獻。
底線:如果JRuby是不是對你的問題,然後用ActiveRDF去,這是最完整和成熟。如果基於內存的圖形不是問題,那麼下一個最成熟的可能是Reddy。
我是Redland的作者,但我自己不使用Ruby。 ruby綁定可能仍然有效(他們在最後一個版本中通過了單元測試),但可能需要對任何新的ruby語言變化有所愛。
純Ruby用戶我認爲已經嘗試Active RDF這比您建議的其他內容更新,但主要針對Rails。
否則我建議您要求的語義Web利益集團的IRC頻道 - #swig irc.freenode.net上
編輯:還有雷迪http://github.com/tommorris/reddy/tree/master並在GitHub上其他Ruby代碼的RDF如果你看看周圍。
非常感謝輸入dajobe,非常感謝! – Daniel 2009-06-01 15:45:49
退房RDF.rb http://rdf.rubyforge.org/
個人而言,我去了RDF.rb爲他們的網站有確定的文檔,並且很容易上手使用博客教程。
ActiveRDF看起來像一個更大的項目 - 但他們的維基已關閉(實際上,主頁面鏈接到archive.com上wiki的副本) - 以及所有關於SPARQL查詢的示例。
這裏有一個簡單的三重查找例如,道歉愚蠢的語法,因爲這是我的第一個Ruby腳本:
require 'rubygems'
require 'rdf'
require 'rdf/raptor'
scufl2 = RDF::Vocabulary.new("http://ns.taverna.org.uk/2010/scufl2/ontology/")
dc = RDF::Vocabulary.new("http://purl.org/dc/elements/1.1/")
graph = RDF::Graph.load("../resources/workflows/example.ttl")
graph.query([nil, scufl2.workflow, nil]) do |bundle,p,workflow|
graph.query([workflow, scufl2.name, nil]) do |wf,p,workflow_name|
# Should just be one
print workflow_name
end
end
不幸的是,像許多Ruby和Python的依賴關係,這也需要一些二進制文件能夠讀取龜或RDF/XML。不過,「aptitude install raptor-utils」照顧到了這一點。
RDF.rb可以用作純紅寶石,沒有二進制文件。當然,rdf/raptor的確使用猛禽綁定,但是有許多讀者和作者用純ruby實現(儘管如果nokogiri可用,它會變得更好)。 – 2014-01-17 19:18:35
有一個Ruby芝麻庫:http://github.com/tillsc/ruby-sesame
芝麻是兩個最流行的RDF框架的Java之一。我們(Ontotext)開發了一種名爲OWLIM的三重存儲+內置推理引擎。我們提供了一個名爲SwiftOWLIM的免費版本。
我們的一些用戶通過上面的Ruby Sesame庫在Ruby中使用它。
AllegroGraph(RDF DB)有一個Ruby客戶端 - https://github.com/phifty/agraph
我只是寫了一個new survey article on Ruby and RDF。我的一些結論是:
- 有一個巨大的周圍RDF.rb,擁有一個得分數據庫適配器,串行/解串插件的活動量,以及其他庫接口。最近的大多數對象映射器都是在RDF.rb的基礎上構建的。
- 受歡迎的Redland RDF庫有Ruby bindings,並且它被積極維護。
- ActiveRDF是RDF的首選對象映射器,但它似乎不再被主動維護。
- 目前唯一最近的活動對象映射器似乎是Spira。
- 沒有任何對象映射器正在利用ActiveModel呢。這真的很漂亮,因爲它可以提供RDF和Rails之間更深層次的整合。
RDF.rb和Spira的作者還有一些有趣的後續評論。 Ben Lavender尤其想到如何去sanely map RDF onto Ruby objects。
- 1. 將有限狀態機表示爲RDF?
- 2. Ruby中的動態狀態機?狀態機必須是類嗎?
- 3. Ruby中使用Fibers的狀態機?
- 4. Twitter/Ruby - 狀態ID中的用戶ID?
- 5. ruby at_exit退出狀態
- 6. 檢查https狀態碼ruby
- 7. Ruby狀態機 - 從符號中減去?
- 8. 用rdf gem解析RDF(RDFXML)ruby - 不按預期工作
- 9. Ruby的有狀態JSON解析器
- 10. 用RDF表示動態樹
- 11. 動態更新RDF文件
- 12. Activity的onStop()狀態中的AsyncTask狀態
- 13. Ruby:該case語句=〜&&〜在 '何時' 狀態
- 14. 在rails上更新ruby狀態
- 15. 使用Ruby檢查Facebook狀態
- 16. 循環遍歷狀態 - 範圍? ruby/rails
- 17. 如何使用Ruby讀取STDERR狀態?
- 18. JavaScript中無狀態的狀態
- 19. Twitter的未定義方法「狀態」:Ruby腳本中的模塊
- 20. 通過Ruby中的pid獲取進程狀態
- 21. Ruby on Rails:保留html.erb中的複選框狀態
- 22. 使用域名檢查ruby中的服務器狀態?
- 23. Ruby Net :: SSH在PTY中的退出狀態
- 24. Ruby on Rails錯誤 - 狀態中的NoMethodError#new
- 25. 動態Ruby中
- 26. Botframework中的狀態
- 27. 狀態欄中有多個「狀態項」
- 28. 查詢狀態機中可能的未來狀態的當前狀態
- 29. Ruby on Rails:在會話中保存登錄狀態。
- 30. 在Simple_form中按狀態過濾城市Ruby on Rails
這是很棒的信息。謝謝pjstadig! – Daniel 2009-07-27 21:11:01