lib/sparql/results.rb in sparql-1.1.5 vs lib/sparql/results.rb in sparql-1.1.6

- old
+ new

@@ -2,15 +2,15 @@ # Generate SPARQL Results as Boolean, XML or JSON # # This module is a mixin for RDF::Query::Solutions module Results MIME_TYPES = { - :json => 'application/sparql-results+json', - :html => 'text/html', + json: 'application/sparql-results+json', + html: 'text/html', :xml => 'application/sparql-results+xml', - :csv => 'text/csv', - :tsv => 'text/tab-separated-values' + csv: 'text/csv', + tsv: 'text/tab-separated-values' } ## # Generate Solutions as JSON # @return [String] @@ -20,55 +20,55 @@ bindings = self.map do |solution| variable_names.inject({}) do |memo, n| memo.merge case s = solution[n] when RDF::URI - {n => {:type => "uri", :value => s.to_s }} + {n => {type: "uri", value: s.to_s }} when RDF::Node - {n => {:type => "bnode", :value => s.id }} + {n => {type: "bnode", value: s.id }} when RDF::Literal if s.datatype? - {n => {:type => "typed-literal", :datatype => s.datatype.to_s, :value => s.to_s }} + {n => {type: "typed-literal", datatype: s.datatype.to_s, value: s.to_s }} elsif s.language - {n => {:type => "literal", "xml:lang" => s.language.to_s, :value => s.to_s }} + {n => {type: "literal", "xml:lang" => s.language.to_s, value: s.to_s }} else - {n => {:type => "literal", :value => s.to_s }} + {n => {type: "literal", value: s.to_s }} end else {} end end end { - :head => { :vars => variable_names }, - :results => { :bindings => bindings} + :head => { vars: variable_names }, + :results => { bindings: bindings} }.to_json end ## # Generate Solutions as XML # @return [String] # @see http://www.w3.org/TR/rdf-sparql-XMLres/ def to_xml require 'builder' unless defined?(::Builder) - xml = ::Builder::XmlMarkup.new(:indent => 2) + xml = ::Builder::XmlMarkup.new(indent: 2) xml.instruct! - xml.sparql(:xmlns => "http://www.w3.org/2005/sparql-results#") do + xml.sparql(xmlns: "http://www.w3.org/2005/sparql-results#") do xml.head do variable_names.each do |n| - xml.variable(:name => n) + xml.variable(name: n) end end xml.results do self.each do |solution| xml.result do variable_names.each do |n| s = solution[n] next unless s - xml.binding(:name => n) do + xml.binding(name: n) do case s when RDF::URI xml.uri(s.to_s) when RDF::Node xml.bnode(s.id) @@ -94,12 +94,12 @@ # @return [String] # @see http://www.w3.org/TR/rdf-sparql-XMLres/ def to_html require 'builder' unless defined?(::Builder) - xml = ::Builder::XmlMarkup.new(:indent => 2) - xml.table(:class => "sparql") do + xml = ::Builder::XmlMarkup.new(indent: 2) + xml.table(class: "sparql") do xml.tbody do xml.tr do variable_names.each do |n| xml.th(n.to_s) end @@ -121,11 +121,11 @@ # @see http://www.w3.org/TR/rdf-sparql-json-res/#results def to_csv require 'csv' unless defined?(::CSV) bnode_map = {} bnode_gen = "_:a" - CSV.generate(:row_sep => "\r\n") do |csv| + CSV.generate(row_sep: "\r\n") do |csv| csv << variable_names.to_a self.each do |solution| csv << variable_names.map do |n| case term = solution[n] when RDF::Node then bnode_map[term] ||= @@ -192,11 +192,11 @@ if !format && !content_type case solutions when RDF::Queryable content_type = first_content_type(content_types, RDF::Format.content_types.keys) || 'text/plain' - format = RDF::Writer.for(:content_type => content_type).to_sym + format = RDF::Writer.for(content_type: content_type).to_sym else content_type = first_content_type(content_types, SPARQL::Results::MIME_TYPES.values) || 'application/sparql-results+xml' format = SPARQL::Results::MIME_TYPES.invert[content_type] end end @@ -205,34 +205,34 @@ when TrueClass, FalseClass, RDF::Literal::TRUE, RDF::Literal::FALSE solutions = solutions.object if solutions.is_a?(RDF::Literal) case format when :json require 'json' unless defined?(::JSON) - {:boolean => solutions}.to_json + {boolean: solutions}.to_json when :xml require 'builder' unless defined?(::Builder) - xml = ::Builder::XmlMarkup.new(:indent => 2) + xml = ::Builder::XmlMarkup.new(indent: 2) xml.instruct! - xml.sparql(:xmlns => "http://www.w3.org/2005/sparql-results#") do + xml.sparql(xmlns: "http://www.w3.org/2005/sparql-results#") do xml.boolean(solutions.to_s) end when :html require 'builder' unless defined?(::Builder) content_type = "text/html" - xml = ::Builder::XmlMarkup.new(:indent => 2) - xml.div(solutions.to_s, :class => "sparql") + xml = ::Builder::XmlMarkup.new(indent: 2) + xml.div(solutions.to_s, class: "sparql") else raise RDF::WriterError, "Unknown format #{(format || content_type).inspect} for #{solutions.class}" end when RDF::Queryable begin require 'linkeddata' rescue LoadError => e require 'rdf/ntriples' end - fmt = RDF::Format.for(format ? format.to_sym : {:content_type => content_type}) + fmt = RDF::Format.for(format ? format.to_sym : {content_type: content_type}) unless fmt - fmt = RDF::Format.for(:file_extension => format.to_sym) || RDF::NTriples::Format + fmt = RDF::Format.for(file_extension: format.to_sym) || RDF::NTriples::Format format = fmt.to_sym end format ||= fmt.to_sym content_type ||= fmt.content_type.first results = solutions.dump(format, options)