openbel-api 1.0.4-java → 1.1.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.
- checksums.yaml +4 -4
- data/.gemspec +6 -9
- data/VERSION +1 -1
- data/app/openbel/api/resources/completion.rb +11 -14
- data/app/openbel/api/routes/base.rb +14 -4
- data/app/openbel/api/routes/expressions.rb +121 -13
- data/app/openbel/api/routes/nanopubs.rb +18 -7
- data/app/openbel/api/schemas/nanopub_resource.schema.json +18 -17
- data/config/config.yml +4 -7
- metadata +83 -69
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 21f37fc7e4b79123c240c3ff5032cf636ce08b2e
|
4
|
+
data.tar.gz: 9e132e96f9542dff268447a45ae9a3d38440239d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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{
|
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.
|
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
|
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,
|
12
|
-
property :
|
13
|
-
property :
|
14
|
-
property :
|
15
|
-
property :
|
16
|
-
property :
|
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['
|
75
|
-
|
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['
|
80
|
-
|
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 =
|
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
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
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
|
-
|
260
|
-
|
261
|
-
|
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
|
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
|
-
|
26
|
-
|
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
|
-
"
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
"
|
20
|
-
|
21
|
-
|
22
|
-
"
|
23
|
-
"
|
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:
|
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
|
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
|
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
|
+
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:
|
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.
|
22
|
-
|
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.
|
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:
|
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:
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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:
|
134
|
-
|
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:
|
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:
|
148
|
-
|
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:
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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.
|
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: []
|