rdf_process 0.0.0 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 9682718b89d99227dd10e26890c8a0a51dfd074b
4
- data.tar.gz: c37586033dea21fb3fe4c3917c826ef8eaadfdd2
2
+ SHA256:
3
+ metadata.gz: 8b490a88a8b924508d5eb7534444ceb6585ef32199b51175b4974ec8a566f39e
4
+ data.tar.gz: b8164ba2d94229f67f3b2e9a39660fe6ea7dd620efff25b2bb87b09c42ffebce
5
5
  SHA512:
6
- metadata.gz: 731e070b397571a745b1983b95d676444565e863e38b217eea6a0f6e19fcf9e1bf9b4ff6687651621ab11aa28b9825652cae73f355558c3644e2357824f8607e
7
- data.tar.gz: 712522f386aa0a3273603951d5b9f135b8f3864dd7d3eb2a94262eff13af233212416e11393a9cf0fcd6a06977b8748a1804d0707c301c7a8881aa668cb0adea
6
+ metadata.gz: 12312e0e3b0aa7bc2ed454a0a73823f53c01a84bbda38ea60db506c5ce88d97508a4d49c5b2f6a705c596bddd8656b9ab5d5c61bf91b2f2a41b7f5d0af011e47
7
+ data.tar.gz: aa82ea88cf306b1d610406ff6c72de091bd753830ce387098e91fd8ea029c23847901ddb52df14affde2a3067edcb9d85afef5a68363af61b4528962726dc38a
@@ -0,0 +1,11 @@
1
+ require 'rdf_process'
2
+
3
+
4
+ proc = RdfProcess.new
5
+ proc.eval_file(ARGV[0])
6
+ if ARGV[1] != nil and ARGV[2] != nil then
7
+ puts ARGV[1], ARGV[2]
8
+ proc.set_runtime_variable(ARGV[1], ARGV[2])
9
+ end
10
+ proc.processing
11
+ puts "koniec"
@@ -1,148 +1,148 @@
1
- # load "../rdf_inference/rdf_inference.rb"
2
- require 'linkeddata'
3
- require 'rdf_to_graphviz'
4
- require 'rdf_rules_engine'
5
- require 'xls_to_rdf'
6
-
7
- require 'rdf_inference'
8
- # load "../rdf_process/lib/rdf_process/RdfProcessDefinitionLike.rb"
9
-
10
- require 'rdf_process/RdfProcessDefinitionLike'
11
-
12
- class RdfProcess
13
- include RdfProcessDefinitionLike
14
- attr_reader :fresh_status, :runtime_list, :runtime_variable_list, :komunikat, :progress
15
- attr_accessor :monitor_file_list
16
- def initialize
17
- @fresh_status = "old" #fresh lub old
18
- @runtime_list = []
19
- @monitor_file_list = []
20
- @runtime_variable_list = {}
21
-
22
- end
23
-
24
- def reset
25
- @fresh_status = "old" #fresh lub old
26
- @runtime_list = []
27
- @monitor_file_list = []
28
- @runtime_variable_list = {}
29
- end
30
-
31
- def fresh_status=(new_fresh_status)
32
- @fresh_status = new_fresh_status
33
- # graphviz_filtr_value.value = @fresh_status
34
- end
35
-
36
- def processing
37
- s = 0
38
- current_step = 1
39
- size = @runtime_list.size
40
- process_pass = 0.0
41
- @runtime_list.each do |step|
42
- if step[:fresh_status] == nil or step[:fresh_status] == "old" then
43
- s1 = Time.now
44
- step[:runtime_code].call
45
- # instance_eval(step[:runtime_code])
46
- s2 = Time.now - s1
47
- s += s2
48
- log "#{step[:name]} - Elapse time: #{s2}s"
49
- step[:fresh_status] = "fresh"
50
- end
51
- process_pass = current_step * 100 / size
52
- log("#{step[:name]} - #{process_pass} - #{current_step} - #{size} %", process_pass.round)
53
- current_step += 1
54
- end
55
- @fresh_status = "fresh"
56
- log "Process - Elapse time: #{s}s, #{process_pass}"
57
- # graphviz_filtr_value.value = @fresh_status
58
- end
59
-
60
- def set_runtime_variable(name, value)
61
- @runtime_variable_list[name][:value] = value
62
- # log @runtime_variable_list.to_s
63
- refresh_status(@runtime_variable_list[name][:step_id])
64
- @fresh_status = "old"
65
- end
66
-
67
- def set_monitor_file(index, file)
68
- @monitor_file_list[index][:file] = file
69
- # log @monitor_file_list.to_s
70
- refresh_status(@monitor_file_list[index][:step_id])
71
- @fresh_status = "old"
72
- end
73
-
74
- def refresh_status(step_id)
75
- # puts "entry refresh_status"
76
- @runtime_list.each do |step|
77
- if step[:step_id] == step_id then
78
- step[:fresh_status] = "old"
79
- end
80
-
81
- st = step[:depends_on]
82
- if st
83
-
84
- if st.include?(step_id) then
85
- # step[:fresh_status] = "old"
86
- # puts step[:step_id] , step[:name]
87
- refresh_status(step[:step_id])
88
- # puts step
89
- end
90
- end
91
- end
92
- # puts @runtime_list
93
- end
94
-
95
- def get_dependent_step_from(step_id)
96
- dependent_steps = []
97
- @runtime_list.each do |step|
98
- st = step[:depends_on]
99
- if st != nil then
100
-
101
- if st.include?(step_id) then
102
- # step[:fresh_status] = "old"
103
- # puts step[:step_id] , step[:name]
104
- dependent_steps << step[:step_id]
105
- # puts step
106
- end
107
- end
108
-
109
- end
110
- dependent_steps
111
- end
112
-
113
- def log(komunikat, progress = nil)
114
- @progress = progress
115
-
116
- # @komunikat.disp_komunikat(komunikat, progress)
117
- @komunikat = komunikat
118
- puts komunikat
119
- send_log
120
- end
121
-
122
- def send_log
123
- puts "send log"
124
- end
125
-
126
- def eval_file(file)
127
- instance_eval File.read(file), file
128
- end
129
-
130
- def save_variables(file)
131
- File.open(file, "w") do |aFile|
132
- @runtime_variable_list.each do | name, value |
133
- if value[:type] != "graph" then #.gsub!("\"",'\\"')
134
- # gvalue =
135
- code = "addVariable '#{value[:type]}' do
136
- name '#{name}'
137
- value \"#{value[:value].gsub("\"",'\\"')}\"
138
- step_id '#{value[:step_id]}'
139
- end"
140
- aFile.puts code
141
- end
142
- end
143
-
144
- aFile.puts "# vieslav.pl "
145
- end
146
- end
147
-
1
+ # load "../rdf_inference/rdf_inference.rb"
2
+ require 'linkeddata'
3
+ require 'rdf_to_graphviz'
4
+ require 'rdf_rules_engine'
5
+ require 'xls_to_rdf'
6
+
7
+ require 'rdf_inference'
8
+ # load "../rdf_process/lib/rdf_process/RdfProcessDefinitionLike.rb"
9
+
10
+ require 'rdf_process/RdfProcessDefinitionLike'
11
+
12
+ class RdfProcess
13
+ include RdfProcessDefinitionLike
14
+ attr_reader :fresh_status, :runtime_list, :runtime_variable_list, :komunikat, :progress
15
+ attr_accessor :monitor_file_list
16
+ def initialize
17
+ @fresh_status = "old" #fresh lub old
18
+ @runtime_list = []
19
+ @monitor_file_list = []
20
+ @runtime_variable_list = {}
21
+
22
+ end
23
+
24
+ def reset
25
+ @fresh_status = "old" #fresh lub old
26
+ @runtime_list = []
27
+ @monitor_file_list = []
28
+ @runtime_variable_list = {}
29
+ end
30
+
31
+ def fresh_status=(new_fresh_status)
32
+ @fresh_status = new_fresh_status
33
+ # graphviz_filtr_value.value = @fresh_status
34
+ end
35
+
36
+ def processing
37
+ s = 0
38
+ current_step = 1
39
+ size = @runtime_list.size
40
+ process_pass = 0.0
41
+ @runtime_list.each do |step|
42
+ if step[:fresh_status] == nil or step[:fresh_status] == "old" then
43
+ s1 = Time.now
44
+ step[:runtime_code].call
45
+ # instance_eval(step[:runtime_code])
46
+ s2 = Time.now - s1
47
+ s += s2
48
+ log "#{step[:name]} - Elapse time: #{s2}s"
49
+ step[:fresh_status] = "fresh"
50
+ end
51
+ process_pass = current_step * 100 / size
52
+ log("#{step[:name]} - #{process_pass} - #{current_step} - #{size} %", process_pass.round)
53
+ current_step += 1
54
+ end
55
+ @fresh_status = "fresh"
56
+ log "Process - Elapse time: #{s}s, #{process_pass}"
57
+ # graphviz_filtr_value.value = @fresh_status
58
+ end
59
+
60
+ def set_runtime_variable(name, value)
61
+ @runtime_variable_list[name][:value] = value
62
+ # log @runtime_variable_list.to_s
63
+ refresh_status(@runtime_variable_list[name][:step_id])
64
+ @fresh_status = "old"
65
+ end
66
+
67
+ def set_monitor_file(index, file)
68
+ @monitor_file_list[index][:file] = file
69
+ # log @monitor_file_list.to_s
70
+ refresh_status(@monitor_file_list[index][:step_id])
71
+ @fresh_status = "old"
72
+ end
73
+
74
+ def refresh_status(step_id)
75
+ # puts "entry refresh_status"
76
+ @runtime_list.each do |step|
77
+ if step[:step_id] == step_id then
78
+ step[:fresh_status] = "old"
79
+ end
80
+
81
+ st = step[:depends_on]
82
+ if st
83
+
84
+ if st.include?(step_id) then
85
+ # step[:fresh_status] = "old"
86
+ # puts step[:step_id] , step[:name]
87
+ refresh_status(step[:step_id])
88
+ # puts step
89
+ end
90
+ end
91
+ end
92
+ # puts @runtime_list
93
+ end
94
+
95
+ def get_dependent_step_from(step_id)
96
+ dependent_steps = []
97
+ @runtime_list.each do |step|
98
+ st = step[:depends_on]
99
+ if st != nil then
100
+
101
+ if st.include?(step_id) then
102
+ # step[:fresh_status] = "old"
103
+ # puts step[:step_id] , step[:name]
104
+ dependent_steps << step[:step_id]
105
+ # puts step
106
+ end
107
+ end
108
+
109
+ end
110
+ dependent_steps
111
+ end
112
+
113
+ def log(komunikat, progress = nil)
114
+ @progress = progress
115
+
116
+ # @komunikat.disp_komunikat(komunikat, progress)
117
+ @komunikat = komunikat
118
+ puts komunikat
119
+ send_log
120
+ end
121
+
122
+ def send_log
123
+ puts "send log"
124
+ end
125
+
126
+ def eval_file(file)
127
+ instance_eval File.read(file), file
128
+ end
129
+
130
+ def save_variables(file)
131
+ File.open(file, "w") do |aFile|
132
+ @runtime_variable_list.each do | name, value |
133
+ if value[:type] != "graph" then #.gsub!("\"",'\\"')
134
+ # gvalue =
135
+ code = "addVariable '#{value[:type]}' do
136
+ name '#{name}'
137
+ value \"#{value[:value].gsub("\"",'\\"')}\"
138
+ step_id '#{value[:step_id]}'
139
+ end"
140
+ aFile.puts code
141
+ end
142
+ end
143
+
144
+ aFile.puts "# vieslav.pl "
145
+ end
146
+ end
147
+
148
148
  end
@@ -1,229 +1,233 @@
1
- module RdfProcessDefinitionLike
2
-
3
- def calculate_depends_on(variables)
4
- depended_steps = []
5
- @runtime_list.each do |step|
6
- if variables.include?(step[:output_vrbl]) then
7
- depended_steps << step[:step_id]
8
- end
9
- end
10
- depended_steps
11
- end
12
-
13
- class ProcessVariable
14
- attr_reader :parameters
15
-
16
- def initialize(type)
17
- @parameters = {}
18
- @parameters[:type] = type
19
- end
20
-
21
- def name(name)
22
- @name = name
23
- end
24
-
25
- def getName
26
- @name
27
- end
28
-
29
- def method_missing(method, arg)
30
- @parameters[method] = arg
31
- end
32
-
33
- end
34
-
35
- def addVariable(type, &block)
36
- # puts self
37
- variable = ProcessVariable.new(type)
38
- variable.instance_eval(&block)
39
- # proc = self
40
- puts "check #{type}"
41
- @runtime_variable_list[variable.getName] = variable.parameters
42
- # puts @runtime_variable_list[variable.name]
43
- end
44
-
45
- class ProcessStep
46
- attr_reader :type, :vrbls
47
- attr_accessor :parameters
48
-
49
- def initialize( type )
50
- @parameters = {}
51
- @parameters[:type] = type
52
- @vrbls = {}
53
- end
54
-
55
- def depends_on(*args)
56
- @parameters[:depends_on] = args
57
- end
58
-
59
- def sheets(*args)
60
- @parameters[:sheets] = args
61
- end
62
-
63
- def output_vrbl(name)
64
- @parameters[:output_vrbl] = name
65
- @vrbls[name] = {:type => 'graph', :value => nil}
66
- end
67
-
68
- def input_vrbl(name)
69
- @parameters[:input_vrbl] = name
70
- @vrbls[name] = {:type => 'graph', :value => nil}
71
- end
72
-
73
- def file_vrbl(name, type=nil, value=nil)
74
- @parameters[:file_vrbl] = name
75
- @vrbls[name] = {:type => type, :value => value}
76
- end
77
-
78
- def input_file_vrbl(name, value=nil)
79
- @parameters[:input_file_vrbl] = name
80
- @vrbls[name] = {:type => "input_file", :value => value}
81
- end
82
-
83
- def output_file_vrbl(name, value=nil)
84
- @parameters[:output_file_vrbl] = name
85
- @vrbls[name] = {:type => "output_file", :value => value}
86
- end
87
-
88
- def filtr_vrbl(name, value=nil)
89
- @parameters[:filtr_vrbl] = name
90
- @vrbls[name] = {:type => "filtr", :value => value}
91
- end
92
-
93
- def prefix_vrbl(name, value=nil)
94
- @parameters[:prefix_vrbl] = name
95
- @vrbls[name] = {:type => "prefix", :value => value}
96
- end
97
-
98
- def method_missing(method, arg)
99
- @parameters[method] = arg
100
- end
101
- end
102
-
103
-
104
- def addStep( type, &block)
105
- depends = []
106
- step = ProcessStep.new(type)
107
- puts "check #{type}"
108
- step.instance_eval(&block)
109
- depends << step.parameters[:input_vrbl] if step.parameters[:input_vrbl]
110
- depends << step.parameters[:rule_graph_vrlb] if step.parameters[:rule_graph_vrlb]
111
- depends << step.parameters[:presentation_vrlb] if step.parameters[:presentation_vrlb]
112
- step.parameters[:depends_on] = calculate_depends_on(depends)
113
- step.vrbls.each do |key, value|
114
- if @runtime_variable_list[key] == nil then
115
- addVariable value[:type] do
116
- name key
117
- value value[:value]
118
- step_id step.parameters[:step_id]
119
- end
120
- end
121
- end
122
- # step.prepare
123
- if type == "GraphLoader" then # GraphLoader step definition________________________________________________________________
124
- if step.parameters[:file_vrbl] == nil then
125
- ttl_file = step.parameters[:file]
126
- unless File::exists?( ttl_file )
127
- raise "Graph loader - ttl file: #{ttl_file} - doesn't exist"
128
- end
129
-
130
- runtime_code = -> {
131
- @runtime_variable_list[step.parameters[:output_vrbl]][:value] = RDF::Graph.load(ttl_file)
132
- puts "step graphloader"
133
- }
134
- else
135
- ttl_file = step.parameters[:file_vrbl]
136
- runtime_code = -> {
137
- @runtime_variable_list[step.parameters[:output_vrbl]][:value] = RDF::Graph.load(@runtime_variable_list[ttl_file][:value])
138
- puts "step graphloader"
139
- }
140
- end
141
-
142
- elsif type == "Filtr" then # Filtr step definition________________________________________________________________________
143
- runtime_code = -> {
144
- puts @runtime_variable_list[step.parameters[:filtr_vrbl]][:value]
145
- query = @runtime_variable_list["prefix"][:value] + @runtime_variable_list[step.parameters[:filtr_vrbl]][:value]
146
- inputt = step.parameters[:input_vrbl]
147
- puts step.parameters[:input_vrbl]
148
- @runtime_variable_list[step.parameters[:output_vrbl]][:value] = SPARQL.execute(query, @runtime_variable_list[inputt][:value])
149
- }
150
-
151
- runtime_code = -> {
152
- if step.parameters[:filtr_vrbl]
153
- query2 = @runtime_variable_list[step.parameters[:filtr_vrbl]][:value]
154
- puts @runtime_variable_list[step.parameters[:filtr_vrbl]][:value]
155
- else
156
- query2 = step.parameters[:filtr]
157
- end
158
- query = @runtime_variable_list["prefix"][:value] + query2
159
- inputt = step.parameters[:input_vrbl]
160
- puts step.parameters[:input_vrbl]
161
- @runtime_variable_list[step.parameters[:output_vrbl]][:value] = SPARQL.execute(query, @runtime_variable_list[inputt][:value])
162
- }
163
-
164
- elsif type == "RdfToGraphviz" then # RdfToGraphviz step definition_________________________________________________________________
165
- @konwerter = RdfToGraphviz.new
166
-
167
-
168
-
169
- runtime_code = -> {
170
- paramiters = {}
171
- if step.parameters[:presentation_vrlb]
172
- paramiters[:presentation_attr] = @runtime_variable_list[step.parameters[:presentation_vrlb]][:value]
173
- end
174
- puts step.parameters
175
- if step.parameters[:output_format]
176
- paramiters[:format] = step.parameters[:output_format]
177
- puts 'format'
178
- end
179
- paramiters[:file_name] = @runtime_variable_list[step.parameters[:output_file_vrbl]][:value]
180
- puts "RdfToGraphviz"
181
- puts step.parameters[:presentation_vrlb]
182
- puts @runtime_variable_list[step.parameters[:presentation_vrlb]]
183
- puts paramiters
184
- @konwerter.save_rdf_graph_as(@runtime_variable_list[step.parameters[:input_vrbl]][:value], paramiters)
185
- # tag <img>
186
- if paramiters[:format] == 'html' then
187
- file_png = paramiters[:file_name].gsub(/\.\w+$/, ".png")
188
- File.open(paramiters[:file_name], "a") do |aFile|
189
- hmlt_tag = "<IMG SRC='#{file_png}' USEMAP='#G' />"
190
- aFile.puts hmlt_tag
191
- end
192
- end
193
- }
194
- elsif type == "ExcelLoader" then # XlsToRdfConwerter step definition_______________________________________________________________
195
- @XlsToRdfConwerter = XlsToRdf.new
196
- # @xls_options = { :sheets => ["Makiety", "Zrodlo_danych", "Mapowanie_Makieta_Dane", "Legacy", "IPI", "Microservices", "Zaleznosci_Microservice_Legacy", "BackLog"] }
197
- @xls_options = { :sheets => step.parameters[:sheets]}
198
- runtime_code = -> {
199
- puts "ExcelLoader"
200
- puts step.parameters
201
- @runtime_variable_list[step.parameters[:output_vrbl]][:value] = @XlsToRdfConwerter.xls_to_rdf(@runtime_variable_list[step.parameters[:input_file_vrbl]][:value], @xls_options)
202
- }
203
- elsif type == "RuleEngine" then # RdfRulesEngine step definition__________________________________________________________________
204
- @RdfRulesEngine = RdfRulesEngine.new
205
- @RdfRulesEngine.prefix = @runtime_variable_list[step.parameters[:prefix_vrbl]][:value]
206
- runtime_code = -> {
207
- @runtime_variable_list[step.parameters[:output_vrbl]][:value] = @RdfRulesEngine.execute(step.parameters[:rule_family], @runtime_variable_list[step.parameters[:input_vrbl]][:value], @runtime_variable_list[step.parameters[:rule_graph_vrlb]][:value])
208
- puts "RuleEngine"
209
- puts step.parameters[:output_vrbl]
210
- puts @runtime_variable_list[step.parameters[:output_vrbl]][:value].inspect
211
- }
212
- elsif type == "+" then # Graph + Graph step definition_____________________________________________________________________________
213
- runtime_code = -> {
214
- @runtime_variable_list[step.parameters[:output_vrbl]][:value] << @runtime_variable_list[step.parameters[:input_vrbl]][:value]
215
- }
216
- elsif type == "Inference" then # RdfInference step definition__________________________________________________________________
217
- @RdfInference = RdfInference.new
218
- runtime_code = -> {
219
- @runtime_variable_list[step.parameters[:output_vrbl]][:value] = @RdfInference.inference(@runtime_variable_list[step.parameters[:input_vrbl]][:value])
220
- puts "RdfInference"
221
- puts step.parameters[:output_vrbl]
222
- puts @runtime_variable_list[step.parameters[:output_vrbl]][:value].inspect
223
- }
224
- end
225
- step.parameters[:runtime_code] = runtime_code
226
- puts step.parameters
227
- @runtime_list << step.parameters
228
- end
1
+ module RdfProcessDefinitionLike
2
+
3
+ def calculate_depends_on(variables)
4
+ depended_steps = []
5
+ @runtime_list.each do |step|
6
+ if variables.include?(step[:output_vrbl]) then
7
+ depended_steps << step[:step_id]
8
+ end
9
+ end
10
+ depended_steps
11
+ end
12
+
13
+ class ProcessVariable
14
+ attr_reader :parameters
15
+
16
+ def initialize(type)
17
+ @parameters = {}
18
+ @parameters[:type] = type
19
+ end
20
+
21
+ def name(name)
22
+ @name = name
23
+ end
24
+
25
+ def getName
26
+ @name
27
+ end
28
+
29
+ def method_missing(method, arg)
30
+ @parameters[method] = arg
31
+ end
32
+
33
+ end
34
+
35
+ def addVariable(type, &block)
36
+ # puts self
37
+ variable = ProcessVariable.new(type)
38
+ variable.instance_eval(&block)
39
+ # proc = self
40
+ puts "check #{type}"
41
+ @runtime_variable_list[variable.getName] = variable.parameters
42
+ # puts @runtime_variable_list[variable.name]
43
+ end
44
+
45
+ class ProcessStep
46
+ attr_reader :type, :vrbls
47
+ attr_accessor :parameters
48
+
49
+ def initialize( type )
50
+ @parameters = {}
51
+ @parameters[:type] = type
52
+ @vrbls = {}
53
+ end
54
+
55
+ def depends_on(*args)
56
+ @parameters[:depends_on] = args
57
+ end
58
+
59
+ def sheets(*args)
60
+ @parameters[:sheets] = args
61
+ end
62
+
63
+ def output_vrbl(name)
64
+ @parameters[:output_vrbl] = name
65
+ @vrbls[name] = {:type => 'graph', :value => nil}
66
+ end
67
+
68
+ def input_vrbl(name)
69
+ @parameters[:input_vrbl] = name
70
+ @vrbls[name] = {:type => 'graph', :value => nil}
71
+ end
72
+
73
+ def file_vrbl(name, type=nil, value=nil)
74
+ @parameters[:file_vrbl] = name
75
+ @vrbls[name] = {:type => type, :value => value}
76
+ end
77
+
78
+ def input_file_vrbl(name, value=nil)
79
+ @parameters[:input_file_vrbl] = name
80
+ @vrbls[name] = {:type => "input_file", :value => value}
81
+ end
82
+
83
+ def output_file_vrbl(name, value=nil)
84
+ @parameters[:output_file_vrbl] = name
85
+ @vrbls[name] = {:type => "output_file", :value => value}
86
+ end
87
+
88
+ def filtr_vrbl(name, value=nil)
89
+ @parameters[:filtr_vrbl] = name
90
+ @vrbls[name] = {:type => "filtr", :value => value}
91
+ end
92
+
93
+ def prefix_vrbl(name, value=nil)
94
+ @parameters[:prefix_vrbl] = name
95
+ @vrbls[name] = {:type => "prefix", :value => value}
96
+ end
97
+
98
+ def method_missing(method, arg)
99
+ @parameters[method] = arg
100
+ end
101
+ end
102
+
103
+
104
+ def addStep( type, &block)
105
+ depends = []
106
+ step = ProcessStep.new(type)
107
+ puts "check #{type}"
108
+ step.instance_eval(&block)
109
+ depends << step.parameters[:input_vrbl] if step.parameters[:input_vrbl]
110
+ depends << step.parameters[:rule_graph_vrlb] if step.parameters[:rule_graph_vrlb]
111
+ depends << step.parameters[:presentation_vrlb] if step.parameters[:presentation_vrlb]
112
+ step.parameters[:depends_on] = calculate_depends_on(depends)
113
+ step.vrbls.each do |key, value|
114
+ if @runtime_variable_list[key] == nil then
115
+ addVariable value[:type] do
116
+ name key
117
+ value value[:value]
118
+ step_id step.parameters[:step_id]
119
+ end
120
+ end
121
+ end
122
+ # step.prepare
123
+ if type == "GraphLoader" then # GraphLoader step definition________________________________________________________________
124
+ if step.parameters[:file_vrbl] == nil then
125
+ ttl_file = step.parameters[:file]
126
+ unless File::exists?( ttl_file )
127
+ raise "Graph loader - ttl file: #{ttl_file} - doesn't exist"
128
+ end
129
+
130
+ runtime_code = -> {
131
+ @runtime_variable_list[step.parameters[:output_vrbl]][:value] = RDF::Graph.load(ttl_file)
132
+ puts "step graphloader"
133
+ }
134
+ else
135
+ ttl_file = step.parameters[:file_vrbl]
136
+ runtime_code = -> {
137
+ @runtime_variable_list[step.parameters[:output_vrbl]][:value] = RDF::Graph.load(@runtime_variable_list[ttl_file][:value])
138
+ puts "step graphloader"
139
+ }
140
+ end
141
+
142
+ elsif type == "Filtr" then # Filtr step definition________________________________________________________________________
143
+ runtime_code = -> {
144
+ puts @runtime_variable_list[step.parameters[:filtr_vrbl]][:value]
145
+ query = @runtime_variable_list["prefix"][:value] + @runtime_variable_list[step.parameters[:filtr_vrbl]][:value]
146
+ inputt = step.parameters[:input_vrbl]
147
+ puts step.parameters[:input_vrbl]
148
+ @runtime_variable_list[step.parameters[:output_vrbl]][:value] = SPARQL.execute(query, @runtime_variable_list[inputt][:value])
149
+ }
150
+
151
+ runtime_code = -> {
152
+ if step.parameters[:filtr_vrbl]
153
+ query2 = @runtime_variable_list[step.parameters[:filtr_vrbl]][:value]
154
+ puts @runtime_variable_list[step.parameters[:filtr_vrbl]][:value]
155
+ else
156
+ query2 = step.parameters[:filtr]
157
+ end
158
+ query = @runtime_variable_list["prefix"][:value] + query2
159
+ inputt = step.parameters[:input_vrbl]
160
+ puts step.parameters[:input_vrbl]
161
+ @runtime_variable_list[step.parameters[:output_vrbl]][:value] = SPARQL.execute(query, @runtime_variable_list[inputt][:value])
162
+ }
163
+
164
+ elsif type == "RdfToGraphviz" then # RdfToGraphviz step definition_________________________________________________________________
165
+ @konwerter = RdfToGraphviz.new
166
+
167
+
168
+
169
+ runtime_code = -> {
170
+ paramiters = {}
171
+ if step.parameters[:presentation_vrlb]
172
+ paramiters[:presentation_attr] = @runtime_variable_list[step.parameters[:presentation_vrlb]][:value]
173
+ end
174
+ puts step.parameters
175
+ if step.parameters[:output_format]
176
+ paramiters[:format] = step.parameters[:output_format]
177
+ puts 'format'
178
+ end
179
+ paramiters[:file_name] = @runtime_variable_list[step.parameters[:output_file_vrbl]][:value]
180
+ puts "RdfToGraphviz"
181
+ puts step.parameters[:presentation_vrlb]
182
+ puts @runtime_variable_list[step.parameters[:presentation_vrlb]]
183
+ puts paramiters
184
+ @konwerter.save_rdf_graph_as(@runtime_variable_list[step.parameters[:input_vrbl]][:value], paramiters)
185
+ # tag <img>
186
+ if paramiters[:format] == 'html' then
187
+ file_png = paramiters[:file_name].gsub(/\.\w+$/, ".png")
188
+ File.open(paramiters[:file_name], "a") do |aFile|
189
+ hmlt_tag = "<IMG SRC='#{file_png}' USEMAP='#G' />"
190
+ aFile.puts hmlt_tag
191
+ end
192
+ end
193
+ }
194
+ elsif type == "ExcelLoader" then # XlsToRdfConwerter step definition_______________________________________________________________
195
+ @XlsToRdfConwerter = XlsToRdf.new
196
+ # @xls_options = { :sheets => ["Makiety", "Zrodlo_danych", "Mapowanie_Makieta_Dane", "Legacy", "IPI", "Microservices", "Zaleznosci_Microservice_Legacy", "BackLog"] }
197
+ @xls_options = { :sheets => step.parameters[:sheets]}
198
+ runtime_code = -> {
199
+ puts "ExcelLoader"
200
+ puts step.parameters
201
+ @runtime_variable_list[step.parameters[:output_vrbl]][:value] = @XlsToRdfConwerter.xls_to_rdf(@runtime_variable_list[step.parameters[:input_file_vrbl]][:value], @xls_options)
202
+ }
203
+ elsif type == "RuleEngine" then # RdfRulesEngine step definition__________________________________________________________________
204
+ @RdfRulesEngine = RdfRulesEngine.new
205
+ @RdfRulesEngine.prefix = @runtime_variable_list[step.parameters[:prefix_vrbl]][:value]
206
+ runtime_code = -> {
207
+ @runtime_variable_list[step.parameters[:output_vrbl]][:value] = @RdfRulesEngine.execute(step.parameters[:rule_family], @runtime_variable_list[step.parameters[:input_vrbl]][:value], @runtime_variable_list[step.parameters[:rule_graph_vrlb]][:value])
208
+ puts "RuleEngine"
209
+ puts step.parameters[:output_vrbl]
210
+ puts @runtime_variable_list[step.parameters[:output_vrbl]][:value].inspect
211
+ }
212
+ elsif type == "+" then # Graph + Graph step definition_____________________________________________________________________________
213
+ runtime_code = -> {
214
+ @runtime_variable_list[step.parameters[:output_vrbl]][:value] << @runtime_variable_list[step.parameters[:input_vrbl]][:value]
215
+ }
216
+ elsif type == "Inference" then # RdfInference step definition__________________________________________________________________
217
+ @RdfInference = RdfInference.new
218
+ runtime_code = -> {
219
+ @runtime_variable_list[step.parameters[:output_vrbl]][:value] = @RdfInference.inference(@runtime_variable_list[step.parameters[:input_vrbl]][:value])
220
+ puts "RdfInference"
221
+ puts step.parameters[:output_vrbl]
222
+ puts @runtime_variable_list[step.parameters[:output_vrbl]][:value].inspect
223
+ }
224
+ elsif type == "RdfToFile" then # RdfToFile step definition__________________________________________________________________
225
+ runtime_code = -> {
226
+ File.write(@runtime_variable_list[step.parameters[:output_file_vrbl]][:value], @runtime_variable_list[step.parameters[:input_vrbl]][:value].to_csv)
227
+ }
228
+ end
229
+ step.parameters[:runtime_code] = runtime_code
230
+ puts step.parameters
231
+ @runtime_list << step.parameters
232
+ end
229
233
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rdf_process
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - WiDu
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-02 00:00:00.000000000 Z
11
+ date: 2020-06-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: linkeddata
@@ -94,12 +94,14 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
- description: Process engine
97
+ description: Process engine. CLI
98
98
  email: wdulek@gmail.com
99
- executables: []
99
+ executables:
100
+ - rdf_process
100
101
  extensions: []
101
102
  extra_rdoc_files: []
102
103
  files:
104
+ - bin/rdf_process
103
105
  - lib/rdf_process.rb
104
106
  - lib/rdf_process/RdfProcessDefinitionLike.rb
105
107
  homepage: https://github.com/widu/rdf_process
@@ -121,8 +123,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
121
123
  - !ruby/object:Gem::Version
122
124
  version: '0'
123
125
  requirements: []
124
- rubyforge_project:
125
- rubygems_version: 2.6.7
126
+ rubygems_version: 3.0.3
126
127
  signing_key:
127
128
  specification_version: 4
128
129
  summary: Process engine