class QueryService::Query

A SPARQL query against the Wikidata Query Service

Constants

WIKIDATA_SPARQL_URL

Attributes

query[R]

Public Class Methods

new(query) click to toggle source
# File lib/query_service.rb, line 11
def initialize(query)
  @query = query
end

Public Instance Methods

results() click to toggle source
# File lib/query_service.rb, line 15
def results
  json
rescue RestClient::Exception => e
  raise "Wikidata query #{query} failed: #{e.message}"
end

Private Instance Methods

json() click to toggle source
# File lib/query_service.rb, line 29
def json
  JSON.parse(result, symbolize_names: true)[:results][:bindings]
end
result() click to toggle source
# File lib/query_service.rb, line 25
def result
  @result ||= RestClient.get WIKIDATA_SPARQL_URL, accept: 'application/sparql-results+json', params: { query: query }
end