bel_parser 1.0.0.alpha.47 → 1.0.0.alpha.48

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/.gemspec +1 -1
  3. data/VERSION +1 -1
  4. data/lib/bel_parser/expression/model/namespace.rb +60 -20
  5. data/lib/bel_parser/expression/model/parameter.rb +30 -36
  6. data/lib/bel_parser/expression/model/statement.rb +28 -3
  7. data/lib/bel_parser/expression/model/term.rb +46 -7
  8. data/lib/bel_parser/expression/parser.rb +15 -3
  9. data/lib/bel_parser/expression/validator.rb +13 -15
  10. data/lib/bel_parser/language/apply_namespace_encoding.rb +14 -18
  11. data/lib/bel_parser/language/expression_validator.rb +398 -23
  12. data/lib/bel_parser/language/semantics_ast_warnings.rb +1 -1
  13. data/lib/bel_parser/language/specification.rb +4 -0
  14. data/lib/bel_parser/language/syntax/undefined_namespace.rb +1 -1
  15. data/lib/bel_parser/language/syntax/undefined_namespace_value.rb +2 -1
  16. data/lib/bel_parser/language/version2_0/functions/activity.rb +2 -2
  17. data/lib/bel_parser/language/version2_0/functions/biological_process.rb +1 -2
  18. data/lib/bel_parser/language/version2_0/functions/cell_secretion.rb +2 -2
  19. data/lib/bel_parser/language/version2_0/functions/cell_surface_expression.rb +2 -2
  20. data/lib/bel_parser/language/version2_0/functions/complex_abundance.rb +1 -1
  21. data/lib/bel_parser/language/version2_0/functions/composite_abundance.rb +1 -1
  22. data/lib/bel_parser/language/version2_0/functions/degradation.rb +2 -2
  23. data/lib/bel_parser/language/version2_0/functions/fragment.rb +1 -1
  24. data/lib/bel_parser/language/version2_0/functions/from_location.rb +1 -1
  25. data/lib/bel_parser/language/version2_0/functions/fusion.rb +1 -1
  26. data/lib/bel_parser/language/version2_0/functions/micro_rna_abundance.rb +1 -1
  27. data/lib/bel_parser/language/version2_0/functions/molecular_activity.rb +1 -1
  28. data/lib/bel_parser/language/version2_0/functions/protein_modification.rb +1 -1
  29. data/lib/bel_parser/language/version2_0/functions/reaction.rb +1 -1
  30. data/lib/bel_parser/language/version2_0/functions/to_location.rb +1 -1
  31. data/lib/bel_parser/language/version2_0/functions/translocation.rb +1 -1
  32. data/lib/bel_parser/language/version2_0/functions/variant.rb +1 -1
  33. data/lib/bel_parser/resource/concept_scheme.rb +8 -0
  34. data/lib/bel_parser/resource/dataset.rb +24 -0
  35. data/lib/bel_parser/resource/file_resource.rb +8 -0
  36. data/lib/bel_parser/resource/file_resource_value.rb +1 -0
  37. data/lib/bel_parser/resource/sparql_reader.rb +3 -1
  38. data/lib/bel_parser/resource/value.rb +20 -0
  39. data/lib/bel_parser/resource.rb +8 -6
  40. metadata +10 -9
@@ -29,6 +29,30 @@ module BELParser
29
29
  def types
30
30
  raise NotImplementedError, "#{__method__} is not implemented."
31
31
  end
32
+
33
+ def uri?
34
+ raise NotImplementedError, "#{__method__} is not implemented."
35
+ end
36
+
37
+ def url?
38
+ raise NotImplementedError, "#{__method__} is not implemented."
39
+ end
40
+
41
+ def <=>(another_dataset)
42
+ keyword <=> another_dataset.keyword
43
+ end
44
+
45
+ def hash
46
+ [types, identifier, keyword].hash
47
+ end
48
+
49
+ def ==(another_dataset)
50
+ return false if another_dataset == nil
51
+ types == another_dataset.types &&
52
+ identifier == another_dataset.identifier &&
53
+ keyword == another_dataset.keyword
54
+ end
55
+ alias :eql? :'=='
32
56
  end
33
57
  end
34
58
  end
@@ -16,6 +16,14 @@ module BELParser
16
16
  @name = name.to_s
17
17
  @types = [type]
18
18
  end
19
+
20
+ def uri?
21
+ false
22
+ end
23
+
24
+ def url?
25
+ true
26
+ end
19
27
  end
20
28
  end
21
29
  end
@@ -19,6 +19,7 @@ module BELParser
19
19
  encodings.chars.map(&:to_sym)
20
20
  end
21
21
  end
22
+
22
23
  end
23
24
  end
24
25
  end
@@ -122,9 +122,11 @@ module BELParser
122
122
  where {
123
123
  <<%= uri %>> rdf:type skos:ConceptScheme .
124
124
  <<%= uri %>> rdf:type ?type .
125
- <<%= uri %>> belv:domain ?domain .
126
125
  <<%= uri %>> belv:prefix ?prefix .
127
126
  <<%= uri %>> skos:prefLabel ?prefLabel .
127
+ optional {
128
+ <<%= uri %>> belv:domain ?domain .
129
+ }
128
130
  }
129
131
  group by ?domain ?prefix ?prefLabel
130
132
  SPARQL
@@ -26,6 +26,26 @@ module BELParser
26
26
  def encodings
27
27
  raise NotImplementedError, "#{__method__} is not implemented."
28
28
  end
29
+
30
+ def <=>(another_value)
31
+ name <=> another_value.name
32
+ end
33
+
34
+ def hash
35
+ [dataset, name, encodings].hash
36
+ end
37
+
38
+ def ==(another_value)
39
+ return false if another_value == nil
40
+ dataset == another_value.dataset &&
41
+ name == another_value.name &&
42
+ encodings == another_value.encodings
43
+ end
44
+ alias :eql? :'=='
45
+
46
+ def to_s
47
+ name
48
+ end
29
49
  end
30
50
  end
31
51
  end
@@ -5,8 +5,7 @@ require_relative 'resource/resource_url_reader'
5
5
  module BELParser
6
6
  module Resource
7
7
 
8
- DEFAULT_SPARQL_ENDPOINT = 'http://build.openbel.org/sparql'
9
- #DEFAULT_SPARQL_ENDPOINT = 'http://localhost:3030/identifiers/sparql'
8
+ DEFAULT_SPARQL_ENDPOINT = 'http://resources.openbel.org/sparql'
10
9
 
11
10
  READER_LOCK = Mutex.new
12
11
  private_constant :READER_LOCK
@@ -15,27 +14,30 @@ module BELParser
15
14
  URISTRING_PATTERN = /^URIString *= *(.*)$/
16
15
  private_constant :URISTRING_PATTERN
17
16
 
17
+ @default_uri_reader = SPARQLReader.new(DEFAULT_SPARQL_ENDPOINT, false)
18
+ @default_url_reader = ResourceURLReader.new
19
+
18
20
  def self.default_uri_reader
19
21
  READER_LOCK.synchronize do
20
- @default_uri_reader ||= SPARQLReader.new(DEFAULT_SPARQL_ENDPOINT)
22
+ @default_uri_reader
21
23
  end
22
24
  end
23
25
 
24
26
  def self.default_uri_reader=(uri_reader)
25
27
  READER_LOCK.synchronize do
26
- @default_uri_reader ||= uri_reader
28
+ @default_uri_reader = uri_reader
27
29
  end
28
30
  end
29
31
 
30
32
  def self.default_url_reader
31
33
  READER_LOCK.synchronize do
32
- @default_url_reader ||= ResourceURLReader.new
34
+ @default_url_reader
33
35
  end
34
36
  end
35
37
 
36
38
  def self.default_url_reader=(url_reader)
37
39
  READER_LOCK.synchronize do
38
- @default_url_reader ||= url_reader
40
+ @default_url_reader = url_reader
39
41
  end
40
42
  end
41
43
 
metadata CHANGED
@@ -1,25 +1,25 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bel_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.alpha.47
4
+ version: 1.0.0.alpha.48
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anthony Bargnesi
8
8
  - Nick Bargnesi
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-05-25 00:00:00.000000000 Z
12
+ date: 2016-05-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
+ name: sparql-client
15
16
  requirement: !ruby/object:Gem::Requirement
16
17
  requirements:
17
18
  - - "~>"
18
19
  - !ruby/object:Gem::Version
19
20
  version: 2.0.0
20
- name: sparql-client
21
- prerelease: false
22
21
  type: :runtime
22
+ prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - "~>"
@@ -380,7 +380,7 @@ homepage: https://github.com/OpenBEL/bel_parser
380
380
  licenses:
381
381
  - Apache-2.0
382
382
  metadata: {}
383
- post_install_message:
383
+ post_install_message:
384
384
  rdoc_options: []
385
385
  require_paths:
386
386
  - lib
@@ -395,9 +395,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
395
395
  - !ruby/object:Gem::Version
396
396
  version: 1.3.1
397
397
  requirements: []
398
- rubyforge_project:
399
- rubygems_version: 2.6.4
400
- signing_key:
398
+ rubyforge_project:
399
+ rubygems_version: 2.5.1
400
+ signing_key:
401
401
  specification_version: 4
402
402
  summary: Parser for Biolgical Expression Language.
403
403
  test_files: []
404
+ has_rdoc: