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)