openbel-api 0.4.0-java

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 (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: []