xls_to_rdf 0.0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/xls_to_rdf.rb +74 -0
  3. metadata +72 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 3e46eac8eddc802944efd5c423c4d4b6c2d03aae
4
+ data.tar.gz: 45cd4dcb7047bbf32459bdd6c6ca326e09a18bd9
5
+ SHA512:
6
+ metadata.gz: 8dd3f821fbf0115c9679b261b87a7082f5f9433addc83ccfca6c18695ff113324d320b863c7da0ac4d3c254a61d3f09616424351fd1a4f53898ec5442f558642
7
+ data.tar.gz: 247d0435c0977cccc822524bc859b96ef9f2f42a185a2783ee4d956cb65af32516c4818805e57443345d47f1332572a636922a72fae8dc1f89015d43498e3f00
@@ -0,0 +1,74 @@
1
+ require 'roo'
2
+
3
+ require 'linkeddata'
4
+
5
+ class XlsToRdf
6
+
7
+ def xls_to_rdf(xls, xls_options = nil)
8
+
9
+ xlsx = Roo::Excelx.new(xls)
10
+
11
+ xls_options ||= { :sheets => xlsx.sheets}
12
+
13
+
14
+ # xlsx = Roo::Excelx.new("test1.xlsx")
15
+ # puts xlsx.info
16
+ # puts xlsx.sheets
17
+ # csv_options ||= { :col_sep => ',', :headers => true}
18
+ sheets = xls_options[:sheets]
19
+ puts sheets
20
+
21
+ graph = RDF::Graph.new
22
+ wdc = RDF::Vocabulary.new("http://vieslav.pl/csv/0.1/")
23
+ # xlsx.sheets.each do |sheet|
24
+ sheets.each do |sheet|
25
+ puts sheet
26
+ xlsx.default_sheet = sheet
27
+ table = RDF::Node.new
28
+ # graph << [table, RDF.type, wdc['table']]
29
+
30
+ # graph << [table, RDF::RDFS.label, sheet]
31
+ n=1
32
+ header = []
33
+ xlsx.each_row_streaming(pad_cells: true) do |row|
34
+ # puts n
35
+ if n==1 then
36
+ row.each do |cell|
37
+ # puts cell.coordinate
38
+ value = cell.cell_value
39
+ if value != nil then
40
+ header << value
41
+ # puts value
42
+ end
43
+ end
44
+ else
45
+ bnode = RDF::Node.new
46
+ # graph << [table, RDF::RDFS.member, bnode]
47
+ graph << [bnode, RDF.type, wdc[sheet.strip]]
48
+ # graph << [bnode, RDF.type, wdc.row]
49
+ k=0
50
+ row.each do |cell|
51
+ if cell != nil then
52
+ value = cell.cell_value
53
+ else
54
+ value = nil
55
+ end
56
+ if header[k] != nil then
57
+ # puts header[k]
58
+ # graph << [bnode, wdc[header[k].strip], value]
59
+ if value != nil then
60
+ graph << [bnode, wdc[header[k].strip], value ]
61
+ else
62
+ graph << [bnode, wdc[header[k].strip], ""]
63
+ end
64
+ end
65
+ k = k + 1
66
+ end
67
+ end
68
+ n = n + 1
69
+ end
70
+ end
71
+ graph
72
+ end
73
+
74
+ end
metadata ADDED
@@ -0,0 +1,72 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: xls_to_rdf
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - WiDu
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-01-03 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: linkeddata
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: roo
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ description: Converts xls file to RDF graph
42
+ email: wdulek@gmail.com
43
+ executables: []
44
+ extensions: []
45
+ extra_rdoc_files: []
46
+ files:
47
+ - lib/xls_to_rdf.rb
48
+ homepage: https://github.com/widu/xls_to_rdf
49
+ licenses:
50
+ - MIT
51
+ metadata: {}
52
+ post_install_message:
53
+ rdoc_options: []
54
+ require_paths:
55
+ - lib
56
+ required_ruby_version: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ required_rubygems_version: !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ requirements: []
67
+ rubyforge_project:
68
+ rubygems_version: 2.6.7
69
+ signing_key:
70
+ specification_version: 4
71
+ summary: Converts xls file to RDF graph
72
+ test_files: []