openbel-api 0.4.0-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +7 -0
  2. data/.gemspec +65 -0
  3. data/CHANGELOG.md +22 -0
  4. data/INSTALL.md +19 -0
  5. data/INSTALL_RUBY.md +107 -0
  6. data/LICENSE +191 -0
  7. data/README.md +208 -0
  8. data/app/openbel/api/app.rb +83 -0
  9. data/app/openbel/api/config.rb +45 -0
  10. data/app/openbel/api/config.ru +3 -0
  11. data/app/openbel/api/helpers/pager.rb +109 -0
  12. data/app/openbel/api/middleware/auth.rb +112 -0
  13. data/app/openbel/api/resources/adapters/basic_json.rb +52 -0
  14. data/app/openbel/api/resources/annotation.rb +141 -0
  15. data/app/openbel/api/resources/base.rb +16 -0
  16. data/app/openbel/api/resources/completion.rb +89 -0
  17. data/app/openbel/api/resources/evidence.rb +115 -0
  18. data/app/openbel/api/resources/evidence_transform.rb +143 -0
  19. data/app/openbel/api/resources/function.rb +98 -0
  20. data/app/openbel/api/resources/match_result.rb +79 -0
  21. data/app/openbel/api/resources/namespace.rb +174 -0
  22. data/app/openbel/api/routes/annotations.rb +168 -0
  23. data/app/openbel/api/routes/authenticate.rb +108 -0
  24. data/app/openbel/api/routes/base.rb +326 -0
  25. data/app/openbel/api/routes/datasets.rb +519 -0
  26. data/app/openbel/api/routes/evidence.rb +330 -0
  27. data/app/openbel/api/routes/expressions.rb +560 -0
  28. data/app/openbel/api/routes/functions.rb +41 -0
  29. data/app/openbel/api/routes/namespaces.rb +382 -0
  30. data/app/openbel/api/routes/root.rb +39 -0
  31. data/app/openbel/api/schemas.rb +34 -0
  32. data/app/openbel/api/schemas/annotation_collection.schema.json +20 -0
  33. data/app/openbel/api/schemas/annotation_resource.schema.json +36 -0
  34. data/app/openbel/api/schemas/annotation_value_collection.schema.json +21 -0
  35. data/app/openbel/api/schemas/annotation_value_resource.schema.json +35 -0
  36. data/app/openbel/api/schemas/completion_collection.schema.json +21 -0
  37. data/app/openbel/api/schemas/completion_resource.schema.json +146 -0
  38. data/app/openbel/api/schemas/evidence.schema.json +198 -0
  39. data/app/openbel/api/schemas/evidence_collection.schema.json +98 -0
  40. data/app/openbel/api/schemas/evidence_resource.schema.json +29 -0
  41. data/app/openbel/api/schemas/namespace_value_collection.schema.json +21 -0
  42. data/app/openbel/api/schemas/namespace_value_resource.schema.json +43 -0
  43. data/app/openbel/api/util.rb +11 -0
  44. data/bin/openbel-api +78 -0
  45. data/bin/openbel-config +46 -0
  46. data/config/async_evidence.rb +12 -0
  47. data/config/async_jena.rb +14 -0
  48. data/config/config.yml +31 -0
  49. data/config/server_config.rb +184 -0
  50. data/lib/openbel/api/cache/cache.rb +30 -0
  51. data/lib/openbel/api/config/config.rb +33 -0
  52. data/lib/openbel/api/evidence/api.rb +39 -0
  53. data/lib/openbel/api/evidence/facet_api.rb +18 -0
  54. data/lib/openbel/api/evidence/facet_filter.rb +83 -0
  55. data/lib/openbel/api/evidence/mongo.rb +247 -0
  56. data/lib/openbel/api/evidence/mongo_facet.rb +105 -0
  57. data/lib/openbel/api/helpers/dependency_graph.rb +52 -0
  58. data/lib/openbel/api/model/rdf_resource.rb +74 -0
  59. data/lib/openbel/api/plugin/cache/kyotocabinet.rb +85 -0
  60. data/lib/openbel/api/plugin/configure_plugins.rb +97 -0
  61. data/lib/openbel/api/plugin/evidence/evidence.rb +58 -0
  62. data/lib/openbel/api/plugin/plugin.rb +99 -0
  63. data/lib/openbel/api/plugin/plugin_manager.rb +20 -0
  64. data/lib/openbel/api/plugin/plugin_repository.rb +60 -0
  65. data/lib/openbel/api/storage/cache_proxy.rb +74 -0
  66. data/lib/openbel/api/storage/triple_storage.rb +43 -0
  67. metadata +379 -0
@@ -0,0 +1,99 @@
1
+ module OpenBEL
2
+ module Plugin
3
+
4
+ EMPTY_ARRAY = [].freeze
5
+
6
+ INCLUSION_MUTEX = Mutex.new
7
+ private_constant :INCLUSION_MUTEX
8
+
9
+ def self.included(base)
10
+ INCLUSION_MUTEX.lock
11
+ begin
12
+ unless OpenBEL.const_defined?(:PluginClasses)
13
+ OpenBEL.const_set(:PluginClasses, [])
14
+ end
15
+ OpenBEL::PluginClasses << base
16
+ ensure
17
+ INCLUSION_MUTEX.unlock
18
+ end
19
+ end
20
+
21
+ def id
22
+ fail NotImplementedError.new("#{__method__} not implemented")
23
+ end
24
+
25
+ def name
26
+ fail NotImplementedError.new("#{__method__} not implemented")
27
+ end
28
+
29
+ def description
30
+ fail NotImplementedError.new("#{__method__} not implemented")
31
+ end
32
+
33
+ def type
34
+ fail NotImplementedError.new("#{__method__} not implemented.")
35
+ end
36
+
37
+ def required_extensions
38
+ []
39
+ end
40
+
41
+ def optional_extensions
42
+ []
43
+ end
44
+
45
+ def validate(extensions = {}, options = {})
46
+ validation_successful
47
+ end
48
+
49
+ def on_load; end
50
+
51
+ def configure(extensions = {}, options = {}); end
52
+
53
+ def create_instance; end
54
+
55
+ def on_unload; end
56
+
57
+ def <=>(other)
58
+ id_compare = id.to_s <=> other.to_s
59
+ return id_compare unless id_compare == 0
60
+ return self.name.to_s <=> other.name.to_s
61
+ end
62
+
63
+ def hash
64
+ [id, name].hash
65
+ end
66
+
67
+ def ==(other)
68
+ return false if other == nil
69
+ return true if self.equal? other
70
+ self.id == other.id && self.name == other.name
71
+ end
72
+ alias_method :eql?, :'=='
73
+
74
+ protected
75
+
76
+ def validation_successful
77
+ EMPTY_ARRAY
78
+ end
79
+
80
+ def mri?
81
+ defined?(RUBY_DESCRIPTION) && (/^ruby/ =~ RUBY_DESCRIPTION)
82
+ end
83
+
84
+ def jruby?
85
+ defined?(RUBY_PLATFORM) && ("java" == RUBY_PLATFORM)
86
+ end
87
+
88
+ def rubinius?
89
+ defined?(RUBY_ENGINE) && ("rbx" == RUBY_ENGINE)
90
+ end
91
+
92
+ ValidationError = Struct.new(:plugin, :field, :error) do
93
+
94
+ def to_s
95
+ "Error with #{field} field of #{plugin.id} (#{plugin.name}): #{error}"
96
+ end
97
+ end
98
+ end
99
+ end
@@ -0,0 +1,20 @@
1
+ require_relative 'configure_plugins'
2
+ require_relative 'plugin_repository'
3
+
4
+ module OpenBEL
5
+
6
+ class PluginManager
7
+ include ConfigurePlugins
8
+ include PluginRepository
9
+
10
+ def report_plugins_available
11
+ map { |plugin|
12
+ "id: #{plugin.id}
13
+ name: #{plugin.name}
14
+ description: #{plugin.description}
15
+ class: #{plugin.class}
16
+ "
17
+ }
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,60 @@
1
+ require 'pathname'
2
+
3
+ module OpenBEL
4
+ module PluginRepository
5
+ include Enumerable
6
+
7
+ WRITE_MUTEX = Mutex.new
8
+
9
+ def with_plugins_from(*paths)
10
+ WRITE_MUTEX.lock
11
+ begin
12
+ (@paths ||= []).concat paths.flatten.compact.uniq
13
+ ensure
14
+ WRITE_MUTEX.unlock
15
+ end
16
+ self
17
+ end
18
+
19
+ def find_plugins(id, type = nil)
20
+ find_all { |p|
21
+ ([p.id, p.name].include? id) and (!type or p.type == type.to_s.to_sym)
22
+ }
23
+ end
24
+
25
+ def each
26
+ WRITE_MUTEX.lock
27
+ begin
28
+ @paths ||= []
29
+ if block_given?
30
+ require_plugins(@paths)
31
+ plugins.each { |p| yield p.new }
32
+ else
33
+ enum_for(:each)
34
+ end
35
+ ensure
36
+ WRITE_MUTEX.unlock
37
+ end
38
+ end
39
+ alias_method :each_plugin, :each
40
+
41
+ private
42
+
43
+ def plugins
44
+ OpenBEL::PluginClasses.uniq
45
+ end
46
+
47
+ def require_plugins(paths)
48
+ [paths].flatten.compact.uniq.each do |p|
49
+ p << File::SEPARATOR if not p.end_with? File::SEPARATOR
50
+ Dir["#{p}*.rb"].each do |source|
51
+ if Pathname.new(source).absolute?
52
+ require source
53
+ else
54
+ require ".#{File::SEPARATOR}#{source}"
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,74 @@
1
+ require_relative 'triple_storage'
2
+
3
+ module OpenBEL
4
+ module Storage
5
+ class CacheProxy
6
+ include TripleStorage
7
+
8
+ def initialize(real_storage, cache)
9
+ if !real_storage or !real_storage.respond_to?(:triples)
10
+ fail ArgumentError, "real_storage is invalid."
11
+ end
12
+ if !cache or !cache.respond_to?(:[])
13
+ fail ArgumentError, "cache is invalid."
14
+ end
15
+ @real_storage = real_storage
16
+ @cache = cache
17
+ end
18
+
19
+ def triples(subject, predicate, object, options={})
20
+ pattern_key = key(subject, predicate, object)
21
+ rdf_value = @cache[pattern_key]
22
+ map_method = options.delete(:only)
23
+ if rdf_value
24
+ return [] if rdf_value == ""
25
+ triples = unpack(rdf_value).each_slice(3)
26
+ else
27
+ triples = @real_storage.triples(subject, predicate, object, options).to_a
28
+ if triples.empty?
29
+ @cache[pattern_key] = ""
30
+ else
31
+ rdf_value = triples.map { |stmt|
32
+ [subject(stmt), predicate(stmt), object(stmt)]
33
+ }.flatten
34
+ @cache[pattern_key] = pack(rdf_value)
35
+ end
36
+ triples
37
+ end
38
+
39
+ map_method = if map_method && @real_storage.respond_to?(map_method)
40
+ @real_storage.method(map_method)
41
+ else
42
+ @real_storage.method(:all)
43
+ end
44
+ if block_given?
45
+ triples.each { |triple| yield map_method.call(triple) }
46
+ else
47
+ triples = triples.respond_to?(:lazy) ? triples.lazy : triples
48
+ triples.map { |triple| map_method.call(triple) }
49
+ end
50
+ end
51
+
52
+ private
53
+
54
+ def key(subject, predicate, object)
55
+ pack([
56
+ subject == nil ? 'NULL' : subject.to_s,
57
+ predicate == nil ? 'NULL' : predicate.to_s,
58
+ object == nil ? 'NULL' : object.to_s,
59
+ ])
60
+ end
61
+
62
+ def pack(array)
63
+ [array.join("\0")].pack('m0')
64
+ end
65
+
66
+ def unpack(value)
67
+ return nil unless value
68
+ value.unpack('m*')[0].split("\0")
69
+ end
70
+ end
71
+ end
72
+ end
73
+ # vim: ts=2 sts=2 sw=2 expandtab
74
+ # encoding: utf-8
@@ -0,0 +1,43 @@
1
+ module OpenBEL
2
+ module Storage
3
+ module TripleStorage
4
+
5
+ def triples(subject, predicate, object, options={})
6
+ fail NotImplementedError, "#{__method__} is not implemented"
7
+ end
8
+
9
+ def all(statement)
10
+ if statement.respond_to? :subject
11
+ [
12
+ statement.subject.to_s[1..-2],
13
+ statement.predicate.to_s[1..-2],
14
+ object(statement)
15
+ ]
16
+ else
17
+ statement
18
+ end
19
+ end
20
+
21
+ def subject(statement)
22
+ return statement.subject.to_s[1..-2] if statement.respond_to? :subject
23
+ statement[0]
24
+ end
25
+
26
+ def predicate(statement)
27
+ return statement.predicate.to_s[1..-2] if statement.respond_to? :predicate
28
+ statement[1]
29
+ end
30
+
31
+ def object(statement)
32
+ if statement.respond_to? :object
33
+ object = statement.object
34
+ (object.literal? && object.value.to_s) || object.to_s[1..-2]
35
+ else
36
+ statement[2]
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+ # vim: ts=2 sts=2 sw=2 expandtab
43
+ # encoding: utf-8
metadata ADDED
@@ -0,0 +1,379 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: openbel-api
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.0
5
+ platform: java
6
+ authors:
7
+ - Anthony Bargnesi
8
+ - Nick Bargnesi
9
+ - William Hayes
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2015-12-02 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - '='
19
+ - !ruby/object:Gem::Version
20
+ version: 0.4.0
21
+ name: bel
22
+ prerelease: false
23
+ type: :runtime
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - '='
27
+ - !ruby/object:Gem::Version
28
+ version: 0.4.0
29
+ - !ruby/object:Gem::Dependency
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - '='
33
+ - !ruby/object:Gem::Version
34
+ version: 0.4.0
35
+ name: bel-search-sqlite
36
+ prerelease: false
37
+ type: :runtime
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - '='
41
+ - !ruby/object:Gem::Version
42
+ version: 0.4.0
43
+ - !ruby/object:Gem::Dependency
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - '='
47
+ - !ruby/object:Gem::Version
48
+ version: 0.4.0
49
+ name: bel-rdf-jena
50
+ prerelease: false
51
+ type: :runtime
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - '='
55
+ - !ruby/object:Gem::Version
56
+ version: 0.4.0
57
+ - !ruby/object:Gem::Dependency
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - '='
61
+ - !ruby/object:Gem::Version
62
+ version: 1.99.0
63
+ name: rdf
64
+ prerelease: false
65
+ type: :runtime
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - '='
69
+ - !ruby/object:Gem::Version
70
+ version: 1.99.0
71
+ - !ruby/object:Gem::Dependency
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - '='
75
+ - !ruby/object:Gem::Version
76
+ version: 1.12.5
77
+ name: mongo
78
+ prerelease: false
79
+ type: :runtime
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - '='
83
+ - !ruby/object:Gem::Version
84
+ version: 1.12.5
85
+ - !ruby/object:Gem::Dependency
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - '='
89
+ - !ruby/object:Gem::Version
90
+ version: 1.12.5
91
+ name: bson
92
+ prerelease: false
93
+ type: :runtime
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - '='
97
+ - !ruby/object:Gem::Version
98
+ version: 1.12.5
99
+ - !ruby/object:Gem::Dependency
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - '='
103
+ - !ruby/object:Gem::Version
104
+ version: 0.5.9
105
+ name: dot_hash
106
+ prerelease: false
107
+ type: :runtime
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - '='
111
+ - !ruby/object:Gem::Version
112
+ version: 0.5.9
113
+ - !ruby/object:Gem::Dependency
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - '='
117
+ - !ruby/object:Gem::Version
118
+ version: 0.3.7
119
+ name: jrjackson
120
+ prerelease: false
121
+ type: :runtime
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - '='
125
+ - !ruby/object:Gem::Version
126
+ version: 0.3.7
127
+ - !ruby/object:Gem::Dependency
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - '='
131
+ - !ruby/object:Gem::Version
132
+ version: 0.10.0
133
+ name: json_schema
134
+ prerelease: false
135
+ type: :runtime
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ requirements:
138
+ - - '='
139
+ - !ruby/object:Gem::Version
140
+ version: 0.10.0
141
+ - !ruby/object:Gem::Dependency
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - '='
145
+ - !ruby/object:Gem::Version
146
+ version: 1.11.2
147
+ name: multi_json
148
+ prerelease: false
149
+ type: :runtime
150
+ version_requirements: !ruby/object:Gem::Requirement
151
+ requirements:
152
+ - - '='
153
+ - !ruby/object:Gem::Version
154
+ version: 1.11.2
155
+ - !ruby/object:Gem::Dependency
156
+ requirement: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - '='
159
+ - !ruby/object:Gem::Version
160
+ version: 0.4.6
161
+ name: oat
162
+ prerelease: false
163
+ type: :runtime
164
+ version_requirements: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - '='
167
+ - !ruby/object:Gem::Version
168
+ version: 0.4.6
169
+ - !ruby/object:Gem::Dependency
170
+ requirement: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - '='
173
+ - !ruby/object:Gem::Version
174
+ version: 2.15.3
175
+ name: puma
176
+ prerelease: false
177
+ type: :runtime
178
+ version_requirements: !ruby/object:Gem::Requirement
179
+ requirements:
180
+ - - '='
181
+ - !ruby/object:Gem::Version
182
+ version: 2.15.3
183
+ - !ruby/object:Gem::Dependency
184
+ requirement: !ruby/object:Gem::Requirement
185
+ requirements:
186
+ - - '='
187
+ - !ruby/object:Gem::Version
188
+ version: 1.6.4
189
+ name: rack
190
+ prerelease: false
191
+ type: :runtime
192
+ version_requirements: !ruby/object:Gem::Requirement
193
+ requirements:
194
+ - - '='
195
+ - !ruby/object:Gem::Version
196
+ version: 1.6.4
197
+ - !ruby/object:Gem::Dependency
198
+ requirement: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - - '='
201
+ - !ruby/object:Gem::Version
202
+ version: 0.4.0
203
+ name: rack-cors
204
+ prerelease: false
205
+ type: :runtime
206
+ version_requirements: !ruby/object:Gem::Requirement
207
+ requirements:
208
+ - - '='
209
+ - !ruby/object:Gem::Version
210
+ version: 0.4.0
211
+ - !ruby/object:Gem::Dependency
212
+ requirement: !ruby/object:Gem::Requirement
213
+ requirements:
214
+ - - '='
215
+ - !ruby/object:Gem::Version
216
+ version: 0.7.0
217
+ name: rack-handlers
218
+ prerelease: false
219
+ type: :runtime
220
+ version_requirements: !ruby/object:Gem::Requirement
221
+ requirements:
222
+ - - '='
223
+ - !ruby/object:Gem::Version
224
+ version: 0.7.0
225
+ - !ruby/object:Gem::Dependency
226
+ requirement: !ruby/object:Gem::Requirement
227
+ requirements:
228
+ - - '='
229
+ - !ruby/object:Gem::Version
230
+ version: 1.4.6
231
+ name: sinatra
232
+ prerelease: false
233
+ type: :runtime
234
+ version_requirements: !ruby/object:Gem::Requirement
235
+ requirements:
236
+ - - '='
237
+ - !ruby/object:Gem::Version
238
+ version: 1.4.6
239
+ - !ruby/object:Gem::Dependency
240
+ requirement: !ruby/object:Gem::Requirement
241
+ requirements:
242
+ - - '='
243
+ - !ruby/object:Gem::Version
244
+ version: 1.4.6
245
+ name: sinatra-contrib
246
+ prerelease: false
247
+ type: :runtime
248
+ version_requirements: !ruby/object:Gem::Requirement
249
+ requirements:
250
+ - - '='
251
+ - !ruby/object:Gem::Version
252
+ version: 1.4.6
253
+ - !ruby/object:Gem::Dependency
254
+ requirement: !ruby/object:Gem::Requirement
255
+ requirements:
256
+ - - '='
257
+ - !ruby/object:Gem::Version
258
+ version: 1.5.2
259
+ name: jwt
260
+ prerelease: false
261
+ type: :runtime
262
+ version_requirements: !ruby/object:Gem::Requirement
263
+ requirements:
264
+ - - '='
265
+ - !ruby/object:Gem::Version
266
+ version: 1.5.2
267
+ - !ruby/object:Gem::Dependency
268
+ requirement: !ruby/object:Gem::Requirement
269
+ requirements:
270
+ - - '='
271
+ - !ruby/object:Gem::Version
272
+ version: 1.8.0
273
+ name: rest-client
274
+ prerelease: false
275
+ type: :runtime
276
+ version_requirements: !ruby/object:Gem::Requirement
277
+ requirements:
278
+ - - '='
279
+ - !ruby/object:Gem::Version
280
+ version: 1.8.0
281
+ description: The OpenBEL API provides a RESTful API over HTTP to manage BEL knowledge.
282
+ email: abargnesi@selventa.com
283
+ executables:
284
+ - openbel-config
285
+ - openbel-api
286
+ extensions: []
287
+ extra_rdoc_files: []
288
+ files:
289
+ - ".gemspec"
290
+ - CHANGELOG.md
291
+ - INSTALL.md
292
+ - INSTALL_RUBY.md
293
+ - LICENSE
294
+ - README.md
295
+ - app/openbel/api/app.rb
296
+ - app/openbel/api/config.rb
297
+ - app/openbel/api/config.ru
298
+ - app/openbel/api/helpers/pager.rb
299
+ - app/openbel/api/middleware/auth.rb
300
+ - app/openbel/api/resources/adapters/basic_json.rb
301
+ - app/openbel/api/resources/annotation.rb
302
+ - app/openbel/api/resources/base.rb
303
+ - app/openbel/api/resources/completion.rb
304
+ - app/openbel/api/resources/evidence.rb
305
+ - app/openbel/api/resources/evidence_transform.rb
306
+ - app/openbel/api/resources/function.rb
307
+ - app/openbel/api/resources/match_result.rb
308
+ - app/openbel/api/resources/namespace.rb
309
+ - app/openbel/api/routes/annotations.rb
310
+ - app/openbel/api/routes/authenticate.rb
311
+ - app/openbel/api/routes/base.rb
312
+ - app/openbel/api/routes/datasets.rb
313
+ - app/openbel/api/routes/evidence.rb
314
+ - app/openbel/api/routes/expressions.rb
315
+ - app/openbel/api/routes/functions.rb
316
+ - app/openbel/api/routes/namespaces.rb
317
+ - app/openbel/api/routes/root.rb
318
+ - app/openbel/api/schemas.rb
319
+ - app/openbel/api/schemas/annotation_collection.schema.json
320
+ - app/openbel/api/schemas/annotation_resource.schema.json
321
+ - app/openbel/api/schemas/annotation_value_collection.schema.json
322
+ - app/openbel/api/schemas/annotation_value_resource.schema.json
323
+ - app/openbel/api/schemas/completion_collection.schema.json
324
+ - app/openbel/api/schemas/completion_resource.schema.json
325
+ - app/openbel/api/schemas/evidence.schema.json
326
+ - app/openbel/api/schemas/evidence_collection.schema.json
327
+ - app/openbel/api/schemas/evidence_resource.schema.json
328
+ - app/openbel/api/schemas/namespace_value_collection.schema.json
329
+ - app/openbel/api/schemas/namespace_value_resource.schema.json
330
+ - app/openbel/api/util.rb
331
+ - bin/openbel-api
332
+ - bin/openbel-config
333
+ - config/async_evidence.rb
334
+ - config/async_jena.rb
335
+ - config/config.yml
336
+ - config/server_config.rb
337
+ - lib/openbel/api/cache/cache.rb
338
+ - lib/openbel/api/config/config.rb
339
+ - lib/openbel/api/evidence/api.rb
340
+ - lib/openbel/api/evidence/facet_api.rb
341
+ - lib/openbel/api/evidence/facet_filter.rb
342
+ - lib/openbel/api/evidence/mongo.rb
343
+ - lib/openbel/api/evidence/mongo_facet.rb
344
+ - lib/openbel/api/helpers/dependency_graph.rb
345
+ - lib/openbel/api/model/rdf_resource.rb
346
+ - lib/openbel/api/plugin/cache/kyotocabinet.rb
347
+ - lib/openbel/api/plugin/configure_plugins.rb
348
+ - lib/openbel/api/plugin/evidence/evidence.rb
349
+ - lib/openbel/api/plugin/plugin.rb
350
+ - lib/openbel/api/plugin/plugin_manager.rb
351
+ - lib/openbel/api/plugin/plugin_repository.rb
352
+ - lib/openbel/api/storage/cache_proxy.rb
353
+ - lib/openbel/api/storage/triple_storage.rb
354
+ homepage: https://github.com/OpenBEL/openbel-server
355
+ licenses:
356
+ - Apache-2.0
357
+ metadata: {}
358
+ post_install_message:
359
+ rdoc_options: []
360
+ require_paths:
361
+ - app
362
+ - lib
363
+ required_ruby_version: !ruby/object:Gem::Requirement
364
+ requirements:
365
+ - - ">="
366
+ - !ruby/object:Gem::Version
367
+ version: 2.0.0
368
+ required_rubygems_version: !ruby/object:Gem::Requirement
369
+ requirements:
370
+ - - ">="
371
+ - !ruby/object:Gem::Version
372
+ version: '0'
373
+ requirements: []
374
+ rubyforge_project:
375
+ rubygems_version: 2.4.8
376
+ signing_key:
377
+ specification_version: 4
378
+ summary: The OpenBEL API provided over RESTful HTTP endpoints.
379
+ test_files: []