RDF.rb - запрос ruby ​​sparql-client gem sparql "select" не работает - PullRequest
2 голосов
/ 16 мая 2011

Я использую bendiken / sparql-client для приложения ruby. Когда я выполняю данный пример запроса, он возвращает любой пустой результат массива.

Метод запроса следующий:

require 'rubygems'
require 'sparql/client'
sparql = SPARQL::Client.new("http://dbpedia.org/sparql")
query = sparql.select.where([:s, :p, :o]).offset(100).limit(10)
query.each_solution do |solution|
  puts solution.inspect
end

Если я выполняю следующий запрос, он отлично возвращает результат.

require 'rubygems'
require 'sparql/client'
sparql = SPARQL::Client.new("http://dbpedia.org/sparql")
queryString="SELECT * WHERE { ?s ?p ?o } OFFSET 100 LIMIT 10"
query= sparql.query(queryString)
query.each_solution do |solution|
  puts solution.inspect
end

Пожалуйста, дайте мне знать, почему первый метод запроса не работает. Дайте мне знать, если я что-то пропустил?

1 Ответ

2 голосов
/ 16 мая 2011

Я не знаю, почему ваш первый пример не работает, так как кажется, что он соответствует документации. У меня это тоже не сработало, с гемом sparql-client 0.0.9. Тем не менее, вызов query.execute выполняет запрос. Итак:

sparql = SPARQL::Client.new("http://dbpedia.org/sparql")
query = sparql.select.where([:s, :p, :o]).offset(100).limit(10)
query.execute.each do |solution|
  puts solution.inspect
end

у меня работает

...