openbel-api 1.0.4-java → 1.1.0-java

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
2
  SHA1:
3
- metadata.gz: 00a36abdeadf9bbfeaf6bd2251e2f7cd32b051bf
4
- data.tar.gz: 29e80343fd5d984c9df84266fe707ded3fc10658
3
+ metadata.gz: 21f37fc7e4b79123c240c3ff5032cf636ce08b2e
4
+ data.tar.gz: 9e132e96f9542dff268447a45ae9a3d38440239d
5
5
  SHA512:
6
- metadata.gz: 0f417e1ab2ae9a477ed14d4ce15fbc048b83ce31e0fb2254c02ad16f11d4f1e187e18c2011420abf589367e9dcdabb230866b21af71b1517b9c866d29564aa76
7
- data.tar.gz: 5a9377f4e826f6287883c89b414f4b5df48f5872fb72569da9ec1c577dcb04f716a1e0241ff85cb3376e31e5b9b2d710929da3c13ff5a775f21a737aaffdd229
6
+ metadata.gz: a2103e8d840b56fd1ab1bb3e5018542f2c4bc89517718643a3bc5aa96798b6518795593d1ff499eeca5ec5a3813a0dc039a803cf1a79fc6de342e8f4f21061b7
7
+ data.tar.gz: 45596461fe4067da77a3307ff48a3ecdca51f492c1d32d50df6e7df105b89d9d708f29e45dea55151d98f0d4fc3eae36004ffaf0feb371cf8cf8e3a7a181d2ce
data/.gemspec CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
11
11
  'Nick Bargnesi',
12
12
  'William Hayes'
13
13
  ]
14
- spec.date = %q{2016-03-23}
14
+ spec.date = %q{2017-01-13}
15
15
  spec.email = %q{abargnesi@selventa.com}
16
16
  spec.files = [
17
17
  Dir.glob('app/**/*.{json,rb,ru}'),
@@ -33,24 +33,21 @@ Gem::Specification.new do |spec|
33
33
 
34
34
  # Dependencies
35
35
 
36
- ## bel.rb
37
- spec.add_runtime_dependency 'bel', '~> 1.0.0'
36
+ ## bel.rb + plugins
37
+ spec.add_runtime_dependency 'bel', '~> 1.1.0'
38
+ spec.add_runtime_dependency 'bel-search-sqlite', '~> 1.1.0'
39
+ spec.add_runtime_dependency 'bel-rdf-jena', '~> 1.1.0'
38
40
 
39
41
  ## bel.rb translator dependencies
40
42
  spec.add_runtime_dependency 'json-ld', '2.0.0'
41
43
  spec.add_runtime_dependency 'rdf-json', '2.0.0'
42
44
  spec.add_runtime_dependency 'rdf-rdfa', '2.0.0'
45
+ spec.add_runtime_dependency 'rdf-xsd', '2.0.0'
43
46
  spec.add_runtime_dependency 'rdf-rdfxml', '2.0.0'
44
47
  spec.add_runtime_dependency 'rdf-trig', '2.0.0'
45
48
  spec.add_runtime_dependency 'rdf-trix', '2.0.0'
46
49
  spec.add_runtime_dependency 'rdf-turtle', '2.0.0'
47
50
 
48
- ## bel.rb plugin - annotation/namespace search
49
- spec.add_runtime_dependency 'bel-search-sqlite', '~> 1.0.0'
50
-
51
- ## bel.rb plugin - RDF repository using Apache Jena
52
- spec.add_runtime_dependency 'bel-rdf-jena', '~> 1.0.0'
53
-
54
51
  ## Mongo - Faceted search of nanopub.
55
52
  spec.add_runtime_dependency 'mongo', '1.12.5'
56
53
  spec.add_runtime_dependency 'bson', '1.12.5'
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.4
1
+ 1.1.0
@@ -8,12 +8,12 @@ module OpenBEL
8
8
  adapter Oat::Adapters::HAL
9
9
  schema do
10
10
  type :completion
11
- property :type, item[:type]
12
- property :label, item[:label]
13
- property :value, item[:value]
14
- property :highlight, item[:highlight]
15
- property :actions, item[:actions]
16
- property :id, item[:id]
11
+ property :type, item[:type]
12
+ property :id, item[:id]
13
+ property :label, item[:label]
14
+ property :value, item[:value]
15
+ property :caret_position, item[:caret_position]
16
+ property :validation, item[:validation]
17
17
  end
18
18
  end
19
19
 
@@ -25,19 +25,11 @@ module OpenBEL
25
25
  p.completion item
26
26
  end
27
27
 
28
- link :self, link_self(item[:id])
29
28
  link :describedby, link_described_by(item[:type], item[:id])
30
29
  end
31
30
 
32
31
  private
33
32
 
34
- def link_self(id)
35
- {
36
- :type => 'completion',
37
- :href => "#{base_url}/api/expressions/#{id}/completions"
38
- }
39
- end
40
-
41
33
  def link_described_by(type, id)
42
34
  case type
43
35
  when :function
@@ -55,6 +47,11 @@ module OpenBEL
55
47
  :type => 'namespace_value',
56
48
  :href => "#{base_url}/api/namespaces/hgnc/#{id}"
57
49
  }
50
+ when :relationship
51
+ {
52
+ :type => 'relationship',
53
+ :href => "#{base_url}/api/relationships/#{id}"
54
+ }
58
55
  else
59
56
  raise NotImplementedError.new("Unexpected resource type, #{type}")
60
57
  end
@@ -71,13 +71,23 @@ module OpenBEL
71
71
  end
72
72
 
73
73
  def base_url
74
- env['HTTP_X_REAL_BASE_URL'] ||
75
- "#{env['rack.url_scheme']}://#{env['SERVER_NAME']}:#{env['SERVER_PORT']}"
74
+ if env['SERVER_PORT'] == 443
75
+ scheme = 'https'
76
+ else
77
+ scheme = 'http'
78
+ end
79
+
80
+ "#{scheme}://#{env['HTTP_HOST']}"
76
81
  end
77
82
 
78
83
  def url
79
- env['HTTP_X_REAL_URL'] ||
80
- "#{env['rack.url_scheme']}://#{env['SERVER_NAME']}:#{env['SERVER_PORT']}/#{env['PATH_INFO']}"
84
+ if env['SERVER_PORT'] == 443
85
+ scheme = 'https'
86
+ else
87
+ scheme = 'http'
88
+ end
89
+
90
+ "#{scheme}://#{env['HTTP_HOST']}/#{env['PATH_INFO']}"
81
91
  end
82
92
 
83
93
  def schema_url(name)
@@ -1,9 +1,15 @@
1
1
  require 'cgi'
2
2
  require 'bel'
3
3
  require 'uri'
4
+ require 'bel_parser/ast_filter'
5
+ require 'bel_parser/ast_generator'
6
+ require 'bel_parser/completion'
4
7
  require 'bel_parser/expression/model'
5
8
  require 'bel_parser/expression/parser'
6
9
  require 'bel_parser/expression/validator'
10
+ require 'bel_parser/language/expression_validator'
11
+ require 'bel_parser/language/semantics'
12
+ require 'bel_parser/parsers/serializer'
7
13
  require 'bel_parser/resources'
8
14
  require 'bel_parser/resource/jena_tdb_reader'
9
15
 
@@ -11,6 +17,7 @@ module OpenBEL
11
17
  module Routes
12
18
 
13
19
  class Expressions < Base
20
+ include BELParser::Parsers
14
21
 
15
22
  def initialize(app)
16
23
  super
@@ -170,7 +177,7 @@ module OpenBEL
170
177
  halt 400 unless bel and caret_position
171
178
 
172
179
  begin
173
- completions = BEL::Completion.complete(bel, @spec, @search, @namespaces, caret_position)
180
+ completions = BELParser::Completion.complete(bel, @spec, @search, @supported_namespaces, caret_position)
174
181
  rescue IndexError => ex
175
182
  halt(
176
183
  400,
@@ -192,13 +199,22 @@ module OpenBEL
192
199
  bel = params[:splat].first
193
200
  flatten = as_bool(params[:flatten])
194
201
 
195
- statement =
196
- BELParser::Expression.parse_statements(
197
- bel,
198
- @spec,
199
- @supported_namespaces
200
- )
201
- halt 404 unless statement
202
+ begin
203
+ statement =
204
+ BELParser::Expression.parse_statements(
205
+ bel,
206
+ @spec,
207
+ @supported_namespaces
208
+ )
209
+ halt 404 unless statement
210
+ rescue Exception => ex
211
+ halt(
212
+ 422,
213
+ {'Content-Type' => 'application/json'},
214
+ render_json({ :status => 422, :status_name => 'UNPROCESSABLE ENTITY', :msg => ex.to_s })
215
+ )
216
+ end
217
+
202
218
 
203
219
  response.headers['Content-Type'] = 'application/json'
204
220
  MultiJson.dump({
@@ -254,13 +270,105 @@ module OpenBEL
254
270
  # Produce validation result for BEL expression using the current language.
255
271
  get '/api/expressions/*/validation/?' do
256
272
  bel = params[:splat].first
257
- response.headers['Content-Type'] = 'text/plain'
258
273
 
259
- @expression_validator.each(
260
- StringIO.new("#{bel}\n")
261
- ) do |(num, line, ast, result)|
274
+ if request.accept.any? { |accept| accept.to_s == 'application/json' }
275
+ filter =
276
+ BELParser::ASTFilter.new(
277
+ BELParser::ASTGenerator.new("#{bel}\n"),
278
+ :simple_statement,
279
+ :observed_term,
280
+ :nested_statement
281
+ )
282
+ _, _, ast = filter.each.first
283
+
284
+ if ast.nil? || ast.empty?
285
+ response.headers['Content-Type'] = 'application/json'
286
+ return render_json(
287
+ {
288
+ valid_syntax: false,
289
+ valid_semantics: false,
290
+ message: 'Invalid syntax.',
291
+ warnings: [],
292
+ term_signatures: []
293
+ }
294
+ )
295
+ end
296
+
297
+ message = ''
298
+ terms = ast.first.traverse.select { |node| node.type == :term }.to_a
299
+ semantics_functions =
300
+ BELParser::Language::Semantics.semantics_functions.reject { |fun|
301
+ fun == BELParser::Language::Semantics::SignatureMapping
302
+ }
303
+
304
+ semantic_warnings =
305
+ ast
306
+ .first
307
+ .traverse
308
+ .flat_map { |node|
309
+ semantics_functions.flat_map { |func|
310
+ func.map(node, @spec, @supported_namespaces)
311
+ }
312
+ }
313
+ .compact
314
+
315
+ if semantic_warnings.empty?
316
+ valid = true
317
+ else
318
+ valid = false
319
+ message =
320
+ semantic_warnings.reduce('') { |msg, warning|
321
+ msg << "#{warning}\n"
322
+ }
323
+ message << "\n"
324
+ end
325
+
326
+ urir = BELParser::Resource.default_uri_reader
327
+ urlr = BELParser::Resource.default_url_reader
328
+ validator = BELParser::Language::ExpressionValidator.new(@spec, @supported_namespaces, urir, urlr)
329
+ term_semantics =
330
+ terms.map { |term|
331
+ term_result = validator.validate(term)
332
+ valid &= term_result.valid_semantics?
333
+ bel_term = serialize(term)
334
+
335
+ unless valid
336
+ message << "Term: #{bel_term}\n"
337
+ term_result.invalid_signature_mappings.map { |m|
338
+ message << " #{m}\n"
339
+ }
340
+ message << "\n"
341
+ end
342
+
343
+ {
344
+ term: bel_term,
345
+ valid_signatures: term_result.valid_signature_mappings.map(&:to_s),
346
+ invalid_signatures: term_result.invalid_signature_mappings.map(&:to_s)
347
+ }
348
+ }
349
+
350
+ response.headers['Content-Type'] = 'application/json'
351
+ render_json(
352
+ {
353
+ validation: {
354
+ expression: bel,
355
+ valid_syntax: true,
356
+ valid_semantics: valid,
357
+ message: valid ? 'Valid semantics' : message,
358
+ warnings: semantic_warnings.map(&:to_s),
359
+ term_signatures: term_semantics
360
+ }
361
+ }
362
+ )
363
+ else
364
+ response.headers['Content-Type'] = 'text/plain'
365
+ @expression_validator.each(
366
+ StringIO.new("#{bel}\n")
367
+ ) do |(_, _, _, result)|
368
+ return result.to_s
369
+ end
262
370
 
263
- return result.to_s
371
+ return "Invalid syntax."
264
372
  end
265
373
  end
266
374
  end
@@ -21,14 +21,14 @@ module OpenBEL
21
21
  mongo = OpenBEL::Settings[:nanopub_store][:mongo]
22
22
  @api = OpenBEL::Nanopub::Nanopub.new(mongo)
23
23
 
24
- # RdfRepository using Jena
25
- @rr = BEL::RdfRepository.plugins[:jena].create_repository(
26
- :tdb_directory => OpenBEL::Settings[:resource_rdf][:jena][:tdb_directory]
27
- )
24
+ # RdfRepository using Jena.
25
+ tdb = OpenBEL::Settings[:resource_rdf][:jena][:tdb_directory]
26
+ @rr = BEL::RdfRepository.plugins[:jena].create_repository(:tdb_directory => tdb)
27
+
28
28
 
29
29
  # Annotations using RdfRepository
30
- annotations = BEL::Resource::Annotations.new(@rr)
31
- @annotation_transform = AnnotationTransform.new(annotations)
30
+ @annotations = BEL::Resource::Annotations.new(@rr)
31
+ @annotation_transform = AnnotationTransform.new(@annotations)
32
32
  @annotation_grouping_transform = AnnotationGroupingTransform.new
33
33
  end
34
34
 
@@ -116,7 +116,7 @@ module OpenBEL
116
116
  # Validate BNJ.
117
117
  validate_media_type! "application/json"
118
118
  nanopub_obj = read_json
119
-
119
+ # STDERR.puts "DBG: nanopub_obj Variable config is #{nanopub_obj.inspect}"
120
120
  schema_validation = validate_schema(keys_to_s_deep(nanopub_obj), :nanopub)
121
121
  unless schema_validation[0]
122
122
  halt(
@@ -127,6 +127,7 @@ module OpenBEL
127
127
  end
128
128
 
129
129
  nanopub = ::BEL::Nanopub::Nanopub.create(nanopub_obj[:nanopub])
130
+ # STDERR.puts "DBG: nanopub Variable config is #{nanopub.inspect}"
130
131
 
131
132
  # Standardize annotations.
132
133
  @annotation_transform.transform_nanopub!(nanopub, base_url)
@@ -135,12 +136,22 @@ module OpenBEL
135
136
  facets = map_nanopub_facets(nanopub)
136
137
  hash = nanopub.to_h
137
138
  hash[:bel_statement] = hash.fetch(:bel_statement, nil).to_s
139
+
140
+ # STDERR.puts "DBG: Variable config is #{hash.inspect}"
141
+
138
142
  hash[:facets] = facets
139
143
  _id = @api.create_nanopub(hash)
140
144
 
141
145
  # Return Location information (201).
142
146
  status 201
143
147
  headers "Location" => "#{base_url}/api/nanopubs/#{_id}"
148
+ headers "Content-Type" => 'application/json'
149
+ render_json(
150
+ {
151
+ :status => 201,
152
+ :location => "#{base_url}/api/nanopubs/#{_id}"
153
+ }
154
+ )
144
155
  end
145
156
 
146
157
  get '/api/nanopubs-stream', provides: 'application/json' do
@@ -3,27 +3,28 @@
3
3
  "title": "Nanopub Resource",
4
4
  "description": "A single nanopub resource.",
5
5
  "type": "object",
6
- "additionalProperties": false,
7
6
  "required": [
8
7
  "nanopub"
9
8
  ],
10
9
  "properties": {
11
- "allOf": [
12
- {
13
- "$ref":"nanopub.schema.json"
14
- },
15
- {
16
- "type": "object",
17
- "additionalProperties": false,
18
- "required": [
19
- "links"
20
- ],
21
- "properties": {
22
- "links": {
23
- "type": "object"
10
+ "nanopub_resource": {
11
+ "allOf": [
12
+ {
13
+ "$ref": "nanopub.schema.json"
14
+ },
15
+ {
16
+ "type": "object",
17
+ "additionalProperties": false,
18
+ "required": [
19
+ "links"
20
+ ],
21
+ "properties": {
22
+ "links": {
23
+ "type": "object"
24
+ }
24
25
  }
25
26
  }
26
- }
27
- ]
27
+ ]
28
+ }
28
29
  }
29
- }
30
+ }
data/config/config.yml CHANGED
@@ -8,7 +8,7 @@ bel:
8
8
  # (BEL version 1.0 specification)
9
9
  # 2.0
10
10
  # (BEL version 2.0 specification)
11
- version: 1.0
11
+ version: 2.0
12
12
 
13
13
  # Storage of nanopubs through the Mongo database.
14
14
  nanopub_store:
@@ -16,7 +16,7 @@ nanopub_store:
16
16
 
17
17
  # The MongoDB host to connect to. For example if MongoDB's net.bindIp
18
18
  # setting is configured as 127.0.0.1 we should be able to connect using
19
- # 'localhost'. We use 'mongodb' for use in the docker-compose file.
19
+ # 'localhost'. We use 'mongodb' for use with docker-compose.
20
20
  host: 'mongodb'
21
21
 
22
22
  # The default MongoDB port. Configured under MongoDB's `net.port` setting.
@@ -56,7 +56,7 @@ resource_rdf:
56
56
  # Full-text search over annotation and namespace values using SQLite.
57
57
  resource_search:
58
58
  sqlite:
59
- database_file: '/data/rdf_resources/biological-concepts-rdf.db'
59
+ database_file: '/data/rdf_resources.db'
60
60
 
61
61
  # Set a secret used during session creation....
62
62
  session_secret: 'changeme'
@@ -66,8 +66,5 @@ auth:
66
66
  # Controls whether the API requires authentication
67
67
  enabled: false
68
68
  # Used by the auth middleware to decode and verify the JWT
69
- secret: |
70
- -----BEGIN PUBLIC KEY-----
71
- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu77nUtVw7SIIcUTSiStzMPB7BGB/9eS+CpppsUaiyZyWCXlrALT3YdqneSlpX4Ta+0wvhOkKQtoSS8dCH8GIi7esAmfdHetHfRgeDXHAlXo8HIzshUzODg3ysT7j+Ha3eJsO+LNS/omHDhsarP8Z2eThW876iKJCCc/mB76a6u1e4Id+52K5lG++m8Pn4Gs+cqd2sKUKcMJ9CkJ6dBIdGlXHMoOHj4C33SPrEG/vEBv5cu0l5PP3RiBAuaZHpLKzfIiaLOpj/k4dD/weVt5gwTIJn16AEgPD7173Xef0HgoPlQInDFrJwsGpYCnIPZWSxRbvjKkya2Auj0QZyMCrXwIDAQAB
72
- -----END PUBLIC KEY-----
69
+ #secret: 'JWT secret here'
73
70
 
metadata CHANGED
@@ -1,348 +1,362 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openbel-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.1.0
5
5
  platform: java
6
6
  authors:
7
7
  - Anthony Bargnesi
8
8
  - Nick Bargnesi
9
9
  - William Hayes
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2016-03-23 00:00:00.000000000 Z
13
+ date: 2017-01-13 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: bel
17
16
  requirement: !ruby/object:Gem::Requirement
18
17
  requirements:
19
18
  - - "~>"
20
19
  - !ruby/object:Gem::Version
21
- version: 1.0.0
22
- type: :runtime
20
+ version: 1.1.0
21
+ name: bel
23
22
  prerelease: false
23
+ type: :runtime
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - "~>"
27
27
  - !ruby/object:Gem::Version
28
- version: 1.0.0
28
+ version: 1.1.0
29
29
  - !ruby/object:Gem::Dependency
30
- name: json-ld
31
30
  requirement: !ruby/object:Gem::Requirement
32
31
  requirements:
33
- - - '='
32
+ - - "~>"
34
33
  - !ruby/object:Gem::Version
35
- version: 2.0.0
34
+ version: 1.1.0
35
+ name: bel-search-sqlite
36
+ prerelease: false
36
37
  type: :runtime
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: 1.1.0
43
+ - !ruby/object:Gem::Dependency
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: 1.1.0
49
+ name: bel-rdf-jena
37
50
  prerelease: false
51
+ type: :runtime
38
52
  version_requirements: !ruby/object:Gem::Requirement
39
53
  requirements:
40
- - - '='
54
+ - - "~>"
41
55
  - !ruby/object:Gem::Version
42
- version: 2.0.0
56
+ version: 1.1.0
43
57
  - !ruby/object:Gem::Dependency
44
- name: rdf-json
45
58
  requirement: !ruby/object:Gem::Requirement
46
59
  requirements:
47
60
  - - '='
48
61
  - !ruby/object:Gem::Version
49
62
  version: 2.0.0
50
- type: :runtime
63
+ name: json-ld
51
64
  prerelease: false
65
+ type: :runtime
52
66
  version_requirements: !ruby/object:Gem::Requirement
53
67
  requirements:
54
68
  - - '='
55
69
  - !ruby/object:Gem::Version
56
70
  version: 2.0.0
57
71
  - !ruby/object:Gem::Dependency
58
- name: rdf-rdfa
59
72
  requirement: !ruby/object:Gem::Requirement
60
73
  requirements:
61
74
  - - '='
62
75
  - !ruby/object:Gem::Version
63
76
  version: 2.0.0
64
- type: :runtime
77
+ name: rdf-json
65
78
  prerelease: false
79
+ type: :runtime
66
80
  version_requirements: !ruby/object:Gem::Requirement
67
81
  requirements:
68
82
  - - '='
69
83
  - !ruby/object:Gem::Version
70
84
  version: 2.0.0
71
85
  - !ruby/object:Gem::Dependency
72
- name: rdf-rdfxml
73
86
  requirement: !ruby/object:Gem::Requirement
74
87
  requirements:
75
88
  - - '='
76
89
  - !ruby/object:Gem::Version
77
90
  version: 2.0.0
78
- type: :runtime
91
+ name: rdf-rdfa
79
92
  prerelease: false
93
+ type: :runtime
80
94
  version_requirements: !ruby/object:Gem::Requirement
81
95
  requirements:
82
96
  - - '='
83
97
  - !ruby/object:Gem::Version
84
98
  version: 2.0.0
85
99
  - !ruby/object:Gem::Dependency
86
- name: rdf-trig
87
100
  requirement: !ruby/object:Gem::Requirement
88
101
  requirements:
89
102
  - - '='
90
103
  - !ruby/object:Gem::Version
91
104
  version: 2.0.0
92
- type: :runtime
105
+ name: rdf-xsd
93
106
  prerelease: false
107
+ type: :runtime
94
108
  version_requirements: !ruby/object:Gem::Requirement
95
109
  requirements:
96
110
  - - '='
97
111
  - !ruby/object:Gem::Version
98
112
  version: 2.0.0
99
113
  - !ruby/object:Gem::Dependency
100
- name: rdf-trix
101
114
  requirement: !ruby/object:Gem::Requirement
102
115
  requirements:
103
116
  - - '='
104
117
  - !ruby/object:Gem::Version
105
118
  version: 2.0.0
106
- type: :runtime
119
+ name: rdf-rdfxml
107
120
  prerelease: false
121
+ type: :runtime
108
122
  version_requirements: !ruby/object:Gem::Requirement
109
123
  requirements:
110
124
  - - '='
111
125
  - !ruby/object:Gem::Version
112
126
  version: 2.0.0
113
127
  - !ruby/object:Gem::Dependency
114
- name: rdf-turtle
115
128
  requirement: !ruby/object:Gem::Requirement
116
129
  requirements:
117
130
  - - '='
118
131
  - !ruby/object:Gem::Version
119
132
  version: 2.0.0
120
- type: :runtime
133
+ name: rdf-trig
121
134
  prerelease: false
135
+ type: :runtime
122
136
  version_requirements: !ruby/object:Gem::Requirement
123
137
  requirements:
124
138
  - - '='
125
139
  - !ruby/object:Gem::Version
126
140
  version: 2.0.0
127
141
  - !ruby/object:Gem::Dependency
128
- name: bel-search-sqlite
129
142
  requirement: !ruby/object:Gem::Requirement
130
143
  requirements:
131
- - - "~>"
144
+ - - '='
132
145
  - !ruby/object:Gem::Version
133
- version: 1.0.0
134
- type: :runtime
146
+ version: 2.0.0
147
+ name: rdf-trix
135
148
  prerelease: false
149
+ type: :runtime
136
150
  version_requirements: !ruby/object:Gem::Requirement
137
151
  requirements:
138
- - - "~>"
152
+ - - '='
139
153
  - !ruby/object:Gem::Version
140
- version: 1.0.0
154
+ version: 2.0.0
141
155
  - !ruby/object:Gem::Dependency
142
- name: bel-rdf-jena
143
156
  requirement: !ruby/object:Gem::Requirement
144
157
  requirements:
145
- - - "~>"
158
+ - - '='
146
159
  - !ruby/object:Gem::Version
147
- version: 1.0.0
148
- type: :runtime
160
+ version: 2.0.0
161
+ name: rdf-turtle
149
162
  prerelease: false
163
+ type: :runtime
150
164
  version_requirements: !ruby/object:Gem::Requirement
151
165
  requirements:
152
- - - "~>"
166
+ - - '='
153
167
  - !ruby/object:Gem::Version
154
- version: 1.0.0
168
+ version: 2.0.0
155
169
  - !ruby/object:Gem::Dependency
156
- name: mongo
157
170
  requirement: !ruby/object:Gem::Requirement
158
171
  requirements:
159
172
  - - '='
160
173
  - !ruby/object:Gem::Version
161
174
  version: 1.12.5
162
- type: :runtime
175
+ name: mongo
163
176
  prerelease: false
177
+ type: :runtime
164
178
  version_requirements: !ruby/object:Gem::Requirement
165
179
  requirements:
166
180
  - - '='
167
181
  - !ruby/object:Gem::Version
168
182
  version: 1.12.5
169
183
  - !ruby/object:Gem::Dependency
170
- name: bson
171
184
  requirement: !ruby/object:Gem::Requirement
172
185
  requirements:
173
186
  - - '='
174
187
  - !ruby/object:Gem::Version
175
188
  version: 1.12.5
176
- type: :runtime
189
+ name: bson
177
190
  prerelease: false
191
+ type: :runtime
178
192
  version_requirements: !ruby/object:Gem::Requirement
179
193
  requirements:
180
194
  - - '='
181
195
  - !ruby/object:Gem::Version
182
196
  version: 1.12.5
183
197
  - !ruby/object:Gem::Dependency
184
- name: dot_hash
185
198
  requirement: !ruby/object:Gem::Requirement
186
199
  requirements:
187
200
  - - '='
188
201
  - !ruby/object:Gem::Version
189
202
  version: 0.5.9
190
- type: :runtime
203
+ name: dot_hash
191
204
  prerelease: false
205
+ type: :runtime
192
206
  version_requirements: !ruby/object:Gem::Requirement
193
207
  requirements:
194
208
  - - '='
195
209
  - !ruby/object:Gem::Version
196
210
  version: 0.5.9
197
211
  - !ruby/object:Gem::Dependency
198
- name: jrjackson
199
212
  requirement: !ruby/object:Gem::Requirement
200
213
  requirements:
201
214
  - - '='
202
215
  - !ruby/object:Gem::Version
203
216
  version: 0.3.7
204
- type: :runtime
217
+ name: jrjackson
205
218
  prerelease: false
219
+ type: :runtime
206
220
  version_requirements: !ruby/object:Gem::Requirement
207
221
  requirements:
208
222
  - - '='
209
223
  - !ruby/object:Gem::Version
210
224
  version: 0.3.7
211
225
  - !ruby/object:Gem::Dependency
212
- name: json_schema
213
226
  requirement: !ruby/object:Gem::Requirement
214
227
  requirements:
215
228
  - - '='
216
229
  - !ruby/object:Gem::Version
217
230
  version: 0.10.0
218
- type: :runtime
231
+ name: json_schema
219
232
  prerelease: false
233
+ type: :runtime
220
234
  version_requirements: !ruby/object:Gem::Requirement
221
235
  requirements:
222
236
  - - '='
223
237
  - !ruby/object:Gem::Version
224
238
  version: 0.10.0
225
239
  - !ruby/object:Gem::Dependency
226
- name: multi_json
227
240
  requirement: !ruby/object:Gem::Requirement
228
241
  requirements:
229
242
  - - '='
230
243
  - !ruby/object:Gem::Version
231
244
  version: 1.11.2
232
- type: :runtime
245
+ name: multi_json
233
246
  prerelease: false
247
+ type: :runtime
234
248
  version_requirements: !ruby/object:Gem::Requirement
235
249
  requirements:
236
250
  - - '='
237
251
  - !ruby/object:Gem::Version
238
252
  version: 1.11.2
239
253
  - !ruby/object:Gem::Dependency
240
- name: oat
241
254
  requirement: !ruby/object:Gem::Requirement
242
255
  requirements:
243
256
  - - '='
244
257
  - !ruby/object:Gem::Version
245
258
  version: 0.4.6
246
- type: :runtime
259
+ name: oat
247
260
  prerelease: false
261
+ type: :runtime
248
262
  version_requirements: !ruby/object:Gem::Requirement
249
263
  requirements:
250
264
  - - '='
251
265
  - !ruby/object:Gem::Version
252
266
  version: 0.4.6
253
267
  - !ruby/object:Gem::Dependency
254
- name: puma
255
268
  requirement: !ruby/object:Gem::Requirement
256
269
  requirements:
257
270
  - - '='
258
271
  - !ruby/object:Gem::Version
259
272
  version: 3.1.0
260
- type: :runtime
273
+ name: puma
261
274
  prerelease: false
275
+ type: :runtime
262
276
  version_requirements: !ruby/object:Gem::Requirement
263
277
  requirements:
264
278
  - - '='
265
279
  - !ruby/object:Gem::Version
266
280
  version: 3.1.0
267
281
  - !ruby/object:Gem::Dependency
268
- name: rack
269
282
  requirement: !ruby/object:Gem::Requirement
270
283
  requirements:
271
284
  - - '='
272
285
  - !ruby/object:Gem::Version
273
286
  version: 1.6.4
274
- type: :runtime
287
+ name: rack
275
288
  prerelease: false
289
+ type: :runtime
276
290
  version_requirements: !ruby/object:Gem::Requirement
277
291
  requirements:
278
292
  - - '='
279
293
  - !ruby/object:Gem::Version
280
294
  version: 1.6.4
281
295
  - !ruby/object:Gem::Dependency
282
- name: rack-cors
283
296
  requirement: !ruby/object:Gem::Requirement
284
297
  requirements:
285
298
  - - '='
286
299
  - !ruby/object:Gem::Version
287
300
  version: 0.4.0
288
- type: :runtime
301
+ name: rack-cors
289
302
  prerelease: false
303
+ type: :runtime
290
304
  version_requirements: !ruby/object:Gem::Requirement
291
305
  requirements:
292
306
  - - '='
293
307
  - !ruby/object:Gem::Version
294
308
  version: 0.4.0
295
309
  - !ruby/object:Gem::Dependency
296
- name: rack-handlers
297
310
  requirement: !ruby/object:Gem::Requirement
298
311
  requirements:
299
312
  - - '='
300
313
  - !ruby/object:Gem::Version
301
314
  version: 0.7.0
302
- type: :runtime
315
+ name: rack-handlers
303
316
  prerelease: false
317
+ type: :runtime
304
318
  version_requirements: !ruby/object:Gem::Requirement
305
319
  requirements:
306
320
  - - '='
307
321
  - !ruby/object:Gem::Version
308
322
  version: 0.7.0
309
323
  - !ruby/object:Gem::Dependency
310
- name: sinatra
311
324
  requirement: !ruby/object:Gem::Requirement
312
325
  requirements:
313
326
  - - '='
314
327
  - !ruby/object:Gem::Version
315
328
  version: 1.4.6
316
- type: :runtime
329
+ name: sinatra
317
330
  prerelease: false
331
+ type: :runtime
318
332
  version_requirements: !ruby/object:Gem::Requirement
319
333
  requirements:
320
334
  - - '='
321
335
  - !ruby/object:Gem::Version
322
336
  version: 1.4.6
323
337
  - !ruby/object:Gem::Dependency
324
- name: sinatra-contrib
325
338
  requirement: !ruby/object:Gem::Requirement
326
339
  requirements:
327
340
  - - '='
328
341
  - !ruby/object:Gem::Version
329
342
  version: 1.4.6
330
- type: :runtime
343
+ name: sinatra-contrib
331
344
  prerelease: false
345
+ type: :runtime
332
346
  version_requirements: !ruby/object:Gem::Requirement
333
347
  requirements:
334
348
  - - '='
335
349
  - !ruby/object:Gem::Version
336
350
  version: 1.4.6
337
351
  - !ruby/object:Gem::Dependency
338
- name: jwt
339
352
  requirement: !ruby/object:Gem::Requirement
340
353
  requirements:
341
354
  - - '='
342
355
  - !ruby/object:Gem::Version
343
356
  version: 1.5.2
344
- type: :runtime
357
+ name: jwt
345
358
  prerelease: false
359
+ type: :runtime
346
360
  version_requirements: !ruby/object:Gem::Requirement
347
361
  requirements:
348
362
  - - '='
@@ -351,9 +365,9 @@ dependencies:
351
365
  description: The OpenBEL API provides a RESTful API over HTTP to manage BEL knowledge.
352
366
  email: abargnesi@selventa.com
353
367
  executables:
368
+ - setup-docker.sh
354
369
  - openbel-api
355
370
  - openbel-config
356
- - setup-docker.sh
357
371
  extensions: []
358
372
  extra_rdoc_files: []
359
373
  files:
@@ -434,7 +448,7 @@ homepage: https://github.com/OpenBEL/openbel-api
434
448
  licenses:
435
449
  - Apache-2.0
436
450
  metadata: {}
437
- post_install_message:
451
+ post_install_message:
438
452
  rdoc_options: []
439
453
  require_paths:
440
454
  - app
@@ -450,9 +464,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
450
464
  - !ruby/object:Gem::Version
451
465
  version: '0'
452
466
  requirements: []
453
- rubyforge_project:
454
- rubygems_version: 2.4.6
455
- signing_key:
467
+ rubyforge_project:
468
+ rubygems_version: 2.6.8
469
+ signing_key:
456
470
  specification_version: 4
457
471
  summary: The OpenBEL API provided over RESTful HTTP endpoints.
458
472
  test_files: []