class PubliSci::Writers::Base
Public Instance Methods
codes(input, data_set = nil, select = :label)
click to toggle source
# File lib/publisci/writers/base.rb, line 64 def codes(input, data_set = nil, select = :label) repo = handle_input(input) if data_set codes = execute_from_file("codes.rq",repo,:graph,{"?dataSet"=>"<#{data_set}>"}).to_h else codes = execute_from_file("codes.rq",repo,:graph).to_h end codes.map{|c| c.values.map(&:to_s)}.inject({}){|h,el| (h[el.first]||=[]) << el.last; h } end
dataSet(input, select = :label)
click to toggle source
# File lib/publisci/writers/base.rb, line 58 def dataSet(input, select = :label) repo = handle_input(input) execute_from_file("dataset.rq",repo,:graph).to_h.first[select].to_s end
dimensions(input, data_set=nil, select=:label)
click to toggle source
# File lib/publisci/writers/base.rb, line 22 def dimensions(input, data_set=nil, select=:label) repo = handle_input(input) if data_set dims = execute_from_file("dimensions.rq",repo,:graph,{"?dataSet"=>"<#{data_set}>"}) else dims = execute_from_file("dimensions.rq",repo,:graph) end dims.to_h.map{|d| d[select].to_s} end
handle_input(input)
click to toggle source
# File lib/publisci/writers/base.rb, line 8 def handle_input(input) if input.is_a? String if File.exist? input RDF::Repository.load(input) else raise "UnkownStringInput: #{input}" end elsif input.is_a? RDF::Repository input else raise "UnkownInput: #{input}, #{input.class}" end end
measures(input, data_set=nil, select=:label)
click to toggle source
# File lib/publisci/writers/base.rb, line 34 def measures(input, data_set=nil, select=:label) repo = handle_input(input) if data_set meas = execute_from_file("measures.rq",repo,:graph,{"?dataSet"=>"<#{data_set}>"}) else meas = execute_from_file("measures.rq",repo,:graph) end meas.to_h.map{|d| d[select].to_s} end
observations(input, data_set = nil, shorten_url = true)
click to toggle source
# File lib/publisci/writers/base.rb, line 46 def observations(input, data_set = nil, shorten_url = true) repo = handle_input(input) if data_set obs = execute_from_file("observations.rq",repo,:graph,{"?dataSet"=>"<#{data_set}>"}) else obs = execute_from_file("observations.rq",repo,:graph) end observation_hash(obs,shorten_url) end
repo_to_ruby(repo,select_dataset=nil, shorten_url=true)
click to toggle source
# File lib/publisci/writers/base.rb, line 83 def repo_to_ruby(repo,select_dataset=nil, shorten_url=true) select_dataset = dataSet(repo,:dataset) unless select_dataset dims = dimensions(repo,select_dataset) meas = measures(repo,select_dataset) codes = codes(repo,select_dataset) data = observations(repo,select_dataset,shorten_url) {measures: meas, dimensions: dims, coded_dimensions: codes, data: data} end
turtle_to_ruby(turtle_file, select_dataset=nil, shorten_url=true)
click to toggle source
# File lib/publisci/writers/base.rb, line 77 def turtle_to_ruby(turtle_file, select_dataset=nil, shorten_url=true) repo = RDF::Repository.load(turtle_file) repo_to_ruby(repo,select_dataset,shorten_url) end