2014-07-18 55 views
2

一些公共方法正在像數()和一些我得到「凍結」錯誤紅寶石芝麻方法調用

寶石「RDF」,「= 0.3.11.1」 需要「RDF」 需要「RDF /芝麻「 需要‘RDF/ntriples’

url = RDF::URI("http://localhost:8080/openrdf-sesame") 
conn = RDF::Sesame::Connection.open(url) 

#server.each_repository do |repository| 
# puts repository.inspect 
#end 

    repo = RDF::Sesame::Repository.new("http://localhost:8080/openrdf-sesame/repositories/TEST") 
    repo.clear_statements() # does not work 
    puts repo.count() # gives the number of statements in the repository 

五月某人有一個提示,我不熟悉Ruby編程。錯誤消息的

部分:(其他的錯誤我得到的是來自於受保護的方法錯誤用法NoMethodError我猜)

/home/USER/.rvm/gems/ruby-2.1.2/gems/addressable-2.3.6/lib/addressable/uri.rb:1658:in `normalized_fragment': can't modify frozen Addressable::URI (RuntimeError) 
    from /home/USER/.rvm/gems/ruby-2.1.2/gems/addressable-2.3.6/lib/addressable/uri.rb:823:in `freeze' 
    from /home/USER/.rvm/gems/ruby-2.1.2/gems/rdf-0.3.11.1/lib/rdf/model/uri.rb:475:in `freeze' 
+0

您正在使用古老的版本0.3.11.1。作爲第一步,您可以考慮升級到Ruby RDF gem(1.1.4.2)的最新穩定版本。 –

+0

是的,因爲它是這樣指定的,如果我使用更新的版本,我得到以下錯誤:無法激活rdf-sesame-0.3.0,因爲rdf-1.1.4.2與rdf(〜> 0.3.0)衝突(寶石:: LoadError) – rochbenritter

回答

3

問題是通過尋址的新版本造成的!

當我添加的標題:

gem 'addressable', '~> 2.2.6' 
require 'addressable/uri' 

我不明白的錯誤了! rdf-sesame需要2.2.6或更高版本!