2009-05-31 51 views

回答

12

嗨,Iaalto,我是你提到的調查文章的作者。我一直在想着做一個新的調查。

自從我進行原始調查以來,有一點變化,但並不多。這裏有幾件事要考慮:

  1. ActiveRDF似乎已經成爲JRuby特定庫的路線。他們的幾個適配器僅適用於Java僅有的庫。不一定是問題,但需要注意的一點。
  2. 雷迪只有一個基於內存的圖形。再次,不一定是一個問題。我不會爲Reddy打折(不成熟的優化),但我也不會夢想存儲數十億的三倍。
  3. 我最近發現了一組名爲Redland的新紅寶石綁定,名爲RedLeaf。不知道它有多成熟,但看起來邁克爾已經爲此工作了大約一年。直到最近我還沒有聽說過它,因爲它是離網的(沒有RubyForge或GitHub項目)。
  4. 我在GitHub上創建了一個名爲RubyRDF(github.com/pjstadig/rubyrdf/tree/master)的項目。它沒有大量的文檔,但它主要是功能性的。它有一個支持交易的芝麻兼容適配器。我對未來的發展方向仍有一些想法,並使其更具功能完整性,但沒有很大的動力來處理它。我歡迎任何貢獻。

底線:如果JRuby是不是對你的問題,然後用ActiveRDF去,這是最完整和成熟。如果基於內存的圖形不是問題,那麼下一個最成熟的可能是Reddy。

+0

這是很棒的信息。謝謝pjstadig! – Daniel 2009-07-27 21:11:01

4

我是Redland的作者,但我自己不使用Ruby。 ruby綁定可能仍然有效(他們在最後一個版本中通過了單元測試),但可能需要對任何新的ruby語言變化有所愛。

純Ruby用戶我認爲已經嘗試Active RDF這比您建議的其他內容更新,但主要針對Rails。

否則我建議您要求的語義Web利益集團的IRC頻道 - #swig irc.freenode.net上

編輯:還有雷迪http://github.com/tommorris/reddy/tree/master並在GitHub上其他Ruby代碼的RDF如果你看看周圍。

+0

非常感謝輸入dajobe,非常感謝! – Daniel 2009-06-01 15:45:49

6

個人而言,我去了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」照顧到了這一點。

+1

RDF.rb可以用作純紅寶石,沒有二進制文件。當然,rdf/raptor的確使用猛禽綁定,但是有許多讀者和作者用純ruby實現(儘管如果nokogiri可用,它會變得更好)。 – 2014-01-17 19:18:35

0

有一個Ruby芝麻庫:http://github.com/tillsc/ruby-sesame

芝麻是兩個最流行的RDF框架的Java之一。我們(Ontotext)開發了一種名爲OWLIM的三重存儲+內置推理引擎。我們提供了一個名爲SwiftOWLIM的免費版本。

我們的一些用戶通過上面的Ruby Sesame庫在Ruby中使用它。

7

我只是寫了一個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