Class: PubliSci::Readers::Dataframe

Inherits:
Object
  • Object
show all
Includes:
Dataset::DataCube, Output
Defined in:
lib/publisci/readers/dataframe.rb

Instance Method Summary collapse

Methods included from Output

#output

Methods included from Dataset::DataCube

#abbreviate_known, #code_lists, #component_gen, #component_specifications, #concept_codes, #data_structure_definition, #dataset, #defaults, #dimension_properties, #encode_data, #generate, #generate_resources, #measure_properties, #observations, #prefixes, #vocabulary

Methods included from PubliSci::RDFParser

#add_node, #bnode_value, #encode_value, #get_ary, #get_hashes, #is_complex?, #is_uri?, #load_string, #observation_hash, #sanitize, #sanitize_hash, #strip_prefixes, #strip_uri, #to_literal, #to_resource, #turtle_indent

Instance Method Details

#codesObject



28
29
30
31
32
33
34
35
36
# File 'lib/publisci/readers/dataframe.rb', line 28

def codes
	if @options[:codes]
		@options[:codes]
	elsif @options[:row_label]
		[@options[:row_label]]
	else
		["refRow"]
	end
end

#dimensionsObject



18
19
20
21
22
23
24
25
26
# File 'lib/publisci/readers/dataframe.rb', line 18

def dimensions
	if @options[:dimensions]
		@options[:dimensions]
	elsif @options[:row_label]
		[@options[:row_label]]
	else
		["refRow"]
	end
end

#generate_n3(rexp, var, options = {}) ⇒ Object

def initialize(var) @var = var end



11
12
13
14
15
16
# File 'lib/publisci/readers/dataframe.rb', line 11

def generate_n3(rexp, var, options={})
	@rexp = rexp
     options[:type] ||= :string
     @options = options
	output(generate(measures, dimensions, codes, observation_data, observation_labels, var, options), options)
end

#measuresObject



38
39
40
41
42
43
44
45
46
47
48
# File 'lib/publisci/readers/dataframe.rb', line 38

def measures
	if @options[:dimensions]
		if @options[:measures]
			@options[:measures] - @options[:dimensions]
		else
			@rexp.payload.names - @options[:dimensions]
		end
	else
		@options[:measures] || @rexp.payload.names
	end
end

#observation_dataObject



56
57
58
59
60
61
62
63
64
# File 'lib/publisci/readers/dataframe.rb', line 56

def observation_data

	data = {}
	@rexp.payload.names.map{|name|
		data[name] = @rexp.payload[name].to_ruby
	}
	data[@options[:row_label] || "refRow"] = observation_labels()
	data
end

#observation_labelsObject



50
51
52
53
54
# File 'lib/publisci/readers/dataframe.rb', line 50

def observation_labels
	row_names = @rexp.attr.payload["row.names"].to_ruby
    row_names = (1..@rexp.payload.first.to_ruby.size).to_a unless row_names.first
    row_names
end