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