xls_to_rdf 0.0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/xls_to_rdf.rb +74 -0
- metadata +72 -0
checksums.yaml
ADDED
@@ -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
|
data/lib/xls_to_rdf.rb
ADDED
@@ -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: []
|