module GoogleKnowledgeGraph
Constants
- API_URL
- VERSION
Attributes
api_key[RW]
Public Class Methods
get(id)
click to toggle source
# File lib/google_knowledge_graph.rb, line 13 def get id ensure_api_key! id.delete_prefix! 'kg:' response = request( key: api_key, limit: 1, ids: [id] ) return nil unless response.status.success? return nil unless data = JSON.parse(response.body).dig('itemListElement', 0, 'result') Entity.new(data) end
search(query, types: [])
click to toggle source
# File lib/google_knowledge_graph.rb, line 29 def search query, types: [] ensure_api_key! response = request( key: api_key, query: query, types: types, ) return [] unless response.status.success? JSON.parse(response.body)['itemListElement'] .map{ |item| { entity: Entity.new(item['result']), score: item['resultScore'] }} end
Private Class Methods
ensure_api_key!()
click to toggle source
# File lib/google_knowledge_graph.rb, line 49 def ensure_api_key! raise StandardError.new('EmptyAPIKey') unless api_key end
request(params)
click to toggle source
# File lib/google_knowledge_graph.rb, line 53 def request params HTTP.get API_URL, params: params end