bel 0.7.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (105) hide show
  1. checksums.yaml +4 -4
  2. data/{bel.gemspec → .gemspec} +8 -4
  3. data/README.md +3 -3
  4. data/VERSION +1 -0
  5. data/bin/bel +8 -8
  6. data/bin/bel2rdf.rb +1 -1
  7. data/bin/bel_summarize.rb +4 -4
  8. data/bin/bel_upgrade.rb +6 -6
  9. data/lib/bel.rb +3 -2
  10. data/lib/bel/completion.rb +13 -10
  11. data/lib/bel/completion_rule.rb +29 -21
  12. data/lib/bel/dsl.rb +75 -0
  13. data/lib/bel/gen.rb +2 -2
  14. data/lib/bel/gen/annotation.rb +2 -2
  15. data/lib/bel/gen/citation.rb +6 -6
  16. data/lib/bel/gen/document_header.rb +1 -1
  17. data/lib/bel/gen/{evidence.rb → nanopub.rb} +15 -15
  18. data/lib/bel/gen/parameter.rb +6 -6
  19. data/lib/bel/gen/sample_resources.rb +4 -4
  20. data/lib/bel/gen/statement.rb +1 -1
  21. data/lib/bel/gen/term.rb +1 -1
  22. data/lib/bel/language.rb +0 -20
  23. data/lib/bel/namespace.rb +7 -3
  24. data/lib/bel/nanopub.rb +15 -0
  25. data/lib/bel/{evidence_model/buffering_evidence_combiner.rb → nanopub/buffering_nanopub_combiner.rb} +39 -45
  26. data/lib/bel/{evidence_model → nanopub}/citation.rb +2 -2
  27. data/lib/bel/{evidence_model → nanopub}/experiment_context.rb +7 -1
  28. data/lib/bel/{evidence_model → nanopub}/hash_map_references.rb +1 -1
  29. data/lib/bel/{evidence_model → nanopub}/map_references.rb +1 -1
  30. data/lib/bel/nanopub/map_references_combiner.rb +30 -0
  31. data/lib/bel/nanopub/metadata.rb +102 -0
  32. data/lib/bel/nanopub/nanopub.rb +122 -0
  33. data/lib/bel/{evidence_model → nanopub}/references.rb +50 -38
  34. data/lib/bel/{evidence_model/streaming_evidence_combiner.rb → nanopub/streaming_nanopub_combiner.rb} +8 -8
  35. data/lib/bel/{evidence_model/summary_text.rb → nanopub/support.rb} +8 -2
  36. data/lib/bel/{evidence_model → nanopub}/util.rb +10 -10
  37. data/lib/bel/resource/annotation.rb +15 -24
  38. data/lib/bel/resource/annotation_value.rb +24 -20
  39. data/lib/bel/resource/annotations.rb +12 -11
  40. data/lib/bel/resource/concept.rb +62 -0
  41. data/lib/bel/resource/concept_scheme.rb +49 -0
  42. data/lib/bel/resource/namespace.rb +15 -24
  43. data/lib/bel/resource/namespace_value.rb +26 -23
  44. data/lib/bel/resource/namespaces.rb +11 -11
  45. data/lib/bel/script.rb +367 -367
  46. data/lib/bel/translate.rb +7 -7
  47. data/lib/bel/translator.rb +10 -10
  48. data/lib/bel/translator/plugins/bnj.rb +37 -0
  49. data/lib/bel/translator/plugins/{json_evidence → bnj}/translator.rb +17 -34
  50. data/lib/bel/translator/plugins/jgf.rb +1 -1
  51. data/lib/bel/translator/plugins/jgf/translator.rb +10 -10
  52. data/lib/bel/translator/plugins/jsonld.rb +1 -1
  53. data/lib/bel/translator/plugins/nquads.rb +1 -1
  54. data/lib/bel/translator/plugins/ntriples.rb +1 -1
  55. data/lib/bel/translator/plugins/rdf/bel_schema.rb +134 -126
  56. data/lib/bel/translator/plugins/rdf/graph_translator.rb +6 -6
  57. data/lib/bel/translator/plugins/rdf/monkey_patch.rb +50 -49
  58. data/lib/bel/translator/plugins/rdf/reader.rb +42 -42
  59. data/lib/bel/translator/plugins/rdf/translator.rb +6 -6
  60. data/lib/bel/translator/plugins/rdf/writer.rb +4 -4
  61. data/lib/bel/translator/plugins/rdf2/belv2_0.rb +416 -0
  62. data/lib/bel/translator/plugins/rdf2/converter.rb +13 -0
  63. data/lib/bel/translator/plugins/rdf2/namespace_converter.rb +24 -0
  64. data/lib/bel/translator/plugins/rdf2/nanopub_converter.rb +82 -0
  65. data/lib/bel/translator/plugins/rdf2/parameter_converter.rb +50 -0
  66. data/lib/bel/translator/plugins/rdf2/rdf_converter.rb +13 -0
  67. data/lib/bel/translator/plugins/rdf2/rdf_writer.rb +63 -0
  68. data/lib/bel/translator/plugins/rdf2/reader.rb +172 -0
  69. data/lib/bel/translator/plugins/rdf2/relationship_converter.rb +49 -0
  70. data/lib/bel/translator/plugins/rdf2/statement_converter.rb +65 -0
  71. data/lib/bel/translator/plugins/rdf2/term_converter.rb +262 -0
  72. data/lib/bel/translator/plugins/rdf2/translator.rb +51 -0
  73. data/lib/bel/translator/plugins/rdf2/uuid.rb +20 -0
  74. data/lib/bel/translator/plugins/rdf2/writer.rb +53 -0
  75. data/lib/bel/translator/plugins/rdfa.rb +1 -1
  76. data/lib/bel/translator/plugins/rdfxml.rb +1 -1
  77. data/lib/bel/translator/plugins/rj.rb +1 -1
  78. data/lib/bel/translator/plugins/trig.rb +1 -1
  79. data/lib/bel/translator/plugins/trix.rb +1 -1
  80. data/lib/bel/translator/plugins/turtle.rb +3 -6
  81. data/lib/bel/translator/plugins/xbel.rb +5 -6
  82. data/lib/bel/translator/plugins/xbel/nanopub_handler.rb +625 -0
  83. data/lib/bel/translator/plugins/xbel/{evidence_yielder.rb → nanopub_yielder.rb} +3 -3
  84. data/lib/bel/translator/plugins/xbel/translator.rb +2 -5
  85. data/lib/bel/translator/plugins/xbel/xbel_yielder.rb +135 -74
  86. data/lib/bel/version.rb +31 -1
  87. metadata +81 -33
  88. data/lib/bel/evidence_model.rb +0 -15
  89. data/lib/bel/evidence_model/bel_parameter.rb +0 -56
  90. data/lib/bel/evidence_model/bel_statement.rb +0 -97
  91. data/lib/bel/evidence_model/bel_term.rb +0 -87
  92. data/lib/bel/evidence_model/evidence.rb +0 -127
  93. data/lib/bel/evidence_model/map_references_combiner.rb +0 -30
  94. data/lib/bel/evidence_model/metadata.rb +0 -49
  95. data/lib/bel/parser.rb +0 -39
  96. data/lib/bel/translator/plugins/bel_script.rb +0 -36
  97. data/lib/bel/translator/plugins/bel_script/bel_citation_serialization.rb +0 -125
  98. data/lib/bel/translator/plugins/bel_script/bel_discrete_serialization.rb +0 -109
  99. data/lib/bel/translator/plugins/bel_script/bel_top_down_serialization.rb +0 -100
  100. data/lib/bel/translator/plugins/bel_script/bel_yielder.rb +0 -180
  101. data/lib/bel/translator/plugins/bel_script/evidence_serialization.rb +0 -79
  102. data/lib/bel/translator/plugins/bel_script/evidence_yielder.rb +0 -87
  103. data/lib/bel/translator/plugins/bel_script/translator.rb +0 -35
  104. data/lib/bel/translator/plugins/json_evidence.rb +0 -38
  105. data/lib/bel/translator/plugins/xbel/evidence_handler.rb +0 -495
@@ -26,7 +26,7 @@ module BELRDF
26
26
  end
27
27
 
28
28
  def read(data, options = {})
29
- Reader::UnbufferedEvidenceYielder.new(data, @format)
29
+ Reader::UnbufferedNanopubYielder.new(data, @format)
30
30
  end
31
31
 
32
32
  def write(objects, io = StringIO.new, options = {})
@@ -68,10 +68,10 @@ module BELRDF
68
68
  yielder << RDF::Statement.new(*schema_statement)
69
69
  end
70
70
 
71
- # enumerate BEL evidence
72
- objects.each do |evidence|
71
+ # enumerate BEL nanopubs
72
+ objects.each do |nanopub|
73
73
  if void_dataset_uri && !wrote_dataset
74
- void_dataset_triples = evidence.to_void_dataset(void_dataset_uri)
74
+ void_dataset_triples = nanopub.to_void_dataset(void_dataset_uri)
75
75
  if void_dataset_triples && void_dataset_triples.respond_to?(:each)
76
76
  void_dataset_triples.each do |void_triple|
77
77
  yielder << void_triple
@@ -80,7 +80,7 @@ module BELRDF
80
80
  wrote_dataset = true
81
81
  end
82
82
 
83
- evidence_uri, statements = evidence.to_rdf(remap)
83
+ nanopub_uri, statements = nanopub.to_rdf(remap)
84
84
  statements.each do |statement|
85
85
  yielder << statement
86
86
  end
@@ -89,7 +89,7 @@ module BELRDF
89
89
  yielder << RDF::Statement.new(
90
90
  void_dataset_uri,
91
91
  RDF::DC.hasPart,
92
- evidence_uri
92
+ nanopub_uri
93
93
  )
94
94
  end
95
95
  end
@@ -27,22 +27,22 @@ module BELRDF
27
27
  @wrote_dataset = false
28
28
  end
29
29
 
30
- def <<(evidence)
30
+ def <<(nanopub)
31
31
  if !@wrote_dataset && @void_dataset_uri
32
- void_dataset_triples = evidence.to_void_dataset(@void_dataset_uri)
32
+ void_dataset_triples = nanopub.to_void_dataset(@void_dataset_uri)
33
33
  if void_dataset_triples && void_dataset_triples.respond_to?(:each)
34
34
  void_dataset_triples.each do |void_triple|
35
35
  @writer.write_statement(void_triple)
36
36
  end
37
37
  end
38
38
  end
39
- evidence_uri, statements = evidence.to_rdf
39
+ nanopub_uri, statements = nanopub.to_rdf
40
40
  statements.each do |statement|
41
41
  @writer.write_statement(statement)
42
42
  end
43
43
 
44
44
  if @void_dataset_uri
45
- @writer.write_statement(RDF::Statement.new(@void_dataset_uri, RDF::DC.hasPart, evidence_uri))
45
+ @writer.write_statement(RDF::Statement.new(@void_dataset_uri, RDF::DC.hasPart, nanopub_uri))
46
46
  end
47
47
  end
48
48
 
@@ -0,0 +1,416 @@
1
+ require 'rdf'
2
+ require 'rdf/turtle'
3
+ require 'rdf/vocab'
4
+
5
+ module BEL
6
+ module BELRDF
7
+
8
+ # Vocabulary constant for Nanopub instances (non-strict).
9
+ BELN = RDF::Vocabulary.new('http://www.openbel.org/nanopub/')
10
+ BELR = RDF::Vocabulary.new('http://www.openbel.org/bel/')
11
+ PUBMED = RDF::Vocabulary.new('http://bio2rdf.org/pubmed:')
12
+
13
+ class BELV2_0 < RDF::StrictVocabulary('http://www.openbel.org/vocabulary/')
14
+ RDFS = RDF::Vocab::RDFS
15
+ SKOS = RDF::Vocab::SKOS
16
+ XSD = RDF::Vocab::XSD
17
+
18
+ # Concept classes
19
+ term :AnnotationConcept,
20
+ RDF.type => RDFS.Class,
21
+ RDFS.subClassOf => SKOS.Concept
22
+ term :AnnotationConceptScheme,
23
+ RDF.type => RDFS.Class,
24
+ RDFS.subClassOf => SKOS.ConceptScheme
25
+ term :NamespaceConcept,
26
+ RDF.type => RDFS.Class,
27
+ RDFS.subClassOf => SKOS.Concept
28
+ term :NamespaceConceptScheme,
29
+ RDF.type => RDFS.Class,
30
+ RDFS.subClassOf => SKOS.ConceptScheme
31
+ term :AbundanceConcept,
32
+ RDF.type => RDFS.Class,
33
+ RDFS.subClassOf => BELV2_0.NamespaceConcept
34
+ term :BiologicalProcessConcept,
35
+ RDF.type => RDFS.Class,
36
+ RDFS.subClassOf => BELV2_0.NamespaceConcept
37
+ term :ComplexConcept,
38
+ RDF.type => RDFS.Class,
39
+ RDFS.subClassOf => BELV2_0.AbundanceConcept
40
+ term :CompositeConcept,
41
+ RDF.type => RDFS.Class,
42
+ RDFS.subClassOf => BELV2_0.AbundanceConcept
43
+ term :GeneConcept,
44
+ RDF.type => RDFS.Class,
45
+ RDFS.subClassOf => BELV2_0.AbundanceConcept
46
+ term :LocationConcept,
47
+ RDF.type => RDFS.Class,
48
+ RDFS.subClassOf => BELV2_0.NamespaceConcept
49
+ term :RNAConcept,
50
+ RDF.type => RDFS.Class,
51
+ RDFS.subClassOf => BELV2_0.AbundanceConcept
52
+ term :MicroRNAConcept,
53
+ RDF.type => RDFS.Class,
54
+ RDFS.subClassOf => BELV2_0.RNAConcept
55
+ term :MolecularActivityConcept,
56
+ RDF.type => RDFS.Class,
57
+ RDFS.subClassOf => BELV2_0.NamespaceConcept
58
+ term :PathologyConcept,
59
+ RDF.type => RDFS.Class,
60
+ RDFS.subClassOf => BELV2_0.BiologicalProcessConcept
61
+ term :ProteinConcept,
62
+ RDF.type => RDFS.Class,
63
+ RDFS.subClassOf => BELV2_0.AbundanceConcept
64
+ term :ProteinModificationConcept,
65
+ RDF.type => RDFS.Class,
66
+ RDFS.subClassOf => BELV2_0.NamespaceConcept
67
+
68
+ # Nanopub classes
69
+ term :Abundance,
70
+ RDF.type => RDFS.Class
71
+ term :Nanopub,
72
+ RDF.type => RDFS.Class
73
+ term :Process,
74
+ RDF.type => RDFS.Class
75
+ term :Relationship,
76
+ RDF.type => RDFS.Class
77
+ term :Statement,
78
+ RDF.type => RDFS.Class
79
+ term :Term,
80
+ RDF.type => RDFS.Class
81
+
82
+ # BiologicalExpressionLanguage class
83
+ term :BiologicalExpressionLanguage,
84
+ RDF.type => RDFS.Class
85
+
86
+ # Relationship categories
87
+ term :CausalRelationship,
88
+ RDF.type => RDFS.Class,
89
+ RDFS.subClassOf => BELV2_0.Relationship
90
+ term :CorrelativeRelationship,
91
+ RDF.type => RDFS.Class,
92
+ RDFS.subClassOf => BELV2_0.Relationship
93
+ term :DirectRelationship,
94
+ RDF.type => RDFS.Class,
95
+ RDFS.subClassOf => BELV2_0.Relationship
96
+ term :GenomicRelationship,
97
+ RDF.type => RDFS.Class,
98
+ RDFS.subClassOf => BELV2_0.Relationship
99
+ term :MembershipRelationship,
100
+ RDF.type => RDFS.Class,
101
+ RDFS.subClassOf => BELV2_0.Relationship
102
+ term :NegativeRelationship,
103
+ RDF.type => RDFS.Class,
104
+ RDFS.subClassOf => BELV2_0.Relationship
105
+ term :PositiveRelationship,
106
+ RDF.type => RDFS.Class,
107
+ RDFS.subClassOf => BELV2_0.Relationship
108
+
109
+ # Relationship types
110
+ term :Analogous,
111
+ RDF.type => RDFS.Class,
112
+ RDFS.subClassOf => BELV2_0.GenomicRelationship
113
+ term :BiomarkerFor,
114
+ RDF.type => RDFS.Class,
115
+ RDFS.subClassOf => BELV2_0.Relationship
116
+ term :Association,
117
+ RDF.type => RDFS.Class,
118
+ RDFS.subClassOf => BELV2_0.CorrelativeRelationship
119
+ term :CausesNoChange,
120
+ RDF.type => RDFS.Class,
121
+ RDFS.subClassOf => BELV2_0.CausalRelationship
122
+ term :Decreases,
123
+ RDF.type => RDFS.Class,
124
+ RDFS.subClassOf => [
125
+ BELV2_0.CausalRelationship,
126
+ BELV2_0.NegativeRelationship
127
+ ]
128
+ term :DirectlyDecreases,
129
+ RDF.type => RDFS.Class,
130
+ RDFS.subClassOf => [
131
+ BELV2_0.CausalRelationship,
132
+ BELV2_0.Decreases,
133
+ BELV2_0.DirectRelationship,
134
+ BELV2_0.NegativeRelationship
135
+ ]
136
+ term :Increases,
137
+ RDF.type => RDFS.Class,
138
+ RDFS.subClassOf => BELV2_0.CausalRelationship
139
+ term :DirectlyIncreases,
140
+ RDF.type => RDFS.Class,
141
+ RDFS.subClassOf => [
142
+ BELV2_0.CausalRelationship,
143
+ BELV2_0.DirectRelationship,
144
+ BELV2_0.Increases,
145
+ BELV2_0.PositiveRelationship
146
+ ]
147
+ term :HasComponent,
148
+ RDF.type => RDFS.Class,
149
+ RDFS.subClassOf => BELV2_0.MembershipRelationship
150
+ term :HasMember,
151
+ RDF.type => RDFS.Class,
152
+ RDFS.subClassOf => BELV2_0.MembershipRelationship
153
+ term :IsA,
154
+ RDF.type => RDFS.Class,
155
+ RDFS.subClassOf => BELV2_0.MembershipRelationship
156
+ term :NegativeCorrelation,
157
+ RDF.type => RDFS.Class,
158
+ RDFS.subClassOf => [
159
+ BELV2_0.CorrelativeRelationship,
160
+ BELV2_0.NegativeRelationship
161
+ ]
162
+ term :Orthologous,
163
+ RDF.type => RDFS.Class,
164
+ RDFS.subClassOf => BELV2_0.GenomicRelationship
165
+ term :PositiveCorrelation,
166
+ RDF.type => RDFS.Class,
167
+ RDFS.subClassOf => [
168
+ BELV2_0.CorrelativeRelationship,
169
+ BELV2_0.PositiveRelationship
170
+ ]
171
+ term :PrognosticBiomarkerFor,
172
+ RDF.type => RDFS.Class,
173
+ RDFS.subClassOf => BELV2_0.BiomarkerFor
174
+ term :SubProcessOf,
175
+ RDF.type => RDFS.Class,
176
+ RDFS.subClassOf => BELV2_0.MembershipRelationship
177
+ term :RateLimitingStepOf,
178
+ RDF.type => RDFS.Class,
179
+ RDFS.subClassOf => [
180
+ BELV2_0.CausalRelationship, BELV2_0.Increases, BELV2_0.SubProcessOf
181
+ ]
182
+ term :Regulates,
183
+ RDF.type => RDFS.Class,
184
+ RDFS.subClassOf => BELV2_0.CausalRelationship
185
+ term :TranscribedTo,
186
+ RDF.type => RDFS.Class,
187
+ RDFS.subClassOf => BELV2_0.GenomicRelationship
188
+ term :TranslatedTo,
189
+ RDF.type => RDFS.Class,
190
+ RDFS.subClassOf => BELV2_0.GenomicRelationship
191
+
192
+ # Process classes
193
+ term :BiologicalProcess,
194
+ RDF.type => RDFS.Class,
195
+ RDFS.subClassOf => BELV2_0.Process
196
+ term :Transformation,
197
+ RDF.type => RDFS.Class,
198
+ RDFS.subClassOf => BELV2_0.Process
199
+ term :Translocation,
200
+ RDF.type => RDFS.Class,
201
+ RDFS.subClassOf => BELV2_0.Transformation
202
+ term :CellSecretion,
203
+ RDF.type => RDFS.Class,
204
+ RDFS.subClassOf => BELV2_0.Translocation
205
+ term :CellSurfaceExpression,
206
+ RDF.type => RDFS.Class,
207
+ RDFS.subClassOf => BELV2_0.Translocation
208
+ term :Degradation,
209
+ RDF.type => RDFS.Class,
210
+ RDFS.subClassOf => BELV2_0.Transformation
211
+ term :Pathology,
212
+ RDF.type => RDFS.Class,
213
+ RDFS.subClassOf => BELV2_0.BiologicalProcess
214
+ term :Reaction,
215
+ RDF.type => RDFS.Class,
216
+ RDFS.subClassOf => BELV2_0.Transformation
217
+
218
+ # Abundance classes
219
+ term :ComplexAbundance,
220
+ RDF.type => RDFS.Class,
221
+ RDFS.subClassOf => BELV2_0.Abundance
222
+ term :CompositeAbundance,
223
+ RDF.type => RDFS.Class,
224
+ RDFS.subClassOf => BELV2_0.Abundance
225
+ term :FusionAbundance,
226
+ RDF.type => RDFS.Class,
227
+ RDFS.subClassOf => BELV2_0.Abundance
228
+ term :GeneAbundance,
229
+ RDF.type => RDFS.Class,
230
+ RDFS.subClassOf => BELV2_0.Abundance
231
+ term :MicroRNAAbundance,
232
+ RDF.type => RDFS.Class,
233
+ RDFS.subClassOf => BELV2_0.Abundance
234
+ term :ProteinAbundance,
235
+ RDF.type => RDFS.Class,
236
+ RDFS.subClassOf => BELV2_0.Abundance
237
+ term :ModifiedProteinAbundance,
238
+ RDF.type => RDFS.Class,
239
+ RDFS.subClassOf => BELV2_0.ProteinAbundance
240
+ term :RNAAbundance,
241
+ RDF.type => RDFS.Class,
242
+ RDFS.subClassOf => BELV2_0.Abundance
243
+
244
+ # Molecular activities e.g. act(p(HGNC:FOXO1), ma(tscript))
245
+ term :Activity,
246
+ RDF.type => RDFS.Class,
247
+ RDFS.subClassOf => BELV2_0.Process
248
+
249
+ # Protein modification
250
+ term :ProteinModification,
251
+ RDF.type => RDFS.Class
252
+
253
+ # Molecular activity properties
254
+ property :hasActivityAbundance,
255
+ RDF.type => RDF.Property,
256
+ RDFS.domain => BELV2_0.Activity,
257
+ RDFS.range => BELV2_0.Abundance
258
+ property :hasActivityType,
259
+ RDF.type => RDF.Property,
260
+ RDFS.domain => BELV2_0.Activity,
261
+ RDFS.range => BELV2_0.MolecularActivityConcept
262
+
263
+ # Fusion properties
264
+ property :hasBeginAbundance,
265
+ RDF.type => RDF.Property,
266
+ RDFS.domain => BELV2_0.FusionAbundance,
267
+ RDFS.range => BELV2_0.Abundance
268
+ property :hasBeginRange,
269
+ RDF.type => RDF.Property,
270
+ RDFS.domain => BELV2_0.FusionAbundance,
271
+ RDFS.range => XSD.string
272
+ property :hasEndAbundance,
273
+ RDF.type => RDF.Property,
274
+ RDFS.domain => BELV2_0.FusionAbundance,
275
+ RDFS.range => BELV2_0.Abundance
276
+ property :hasEndRange,
277
+ RDF.type => RDF.Property,
278
+ RDFS.domain => BELV2_0.FusionAbundance,
279
+ RDFS.range => XSD.string
280
+
281
+ # Protein modification properties
282
+ property :hasModifiedProteinAbundance,
283
+ RDF.type => RDF.Property,
284
+ RDFS.domain => BELV2_0.ProteinAbundance,
285
+ RDFS.range => BELV2_0.ModifiedProteinAbundance
286
+ property :hasProteinModification,
287
+ RDF.type => RDF.Property,
288
+ RDFS.domain => BELV2_0.ModifiedProteinAbundance,
289
+ RDFS.range => BELV2_0.ProteinModification
290
+ property :hasProteinModificationType,
291
+ RDF.type => RDF.Property,
292
+ RDFS.domain => BELV2_0.ProteinModification,
293
+ RDFS.range => BELV2_0.ProteinModificationConcept
294
+ property :hasAminoAcid,
295
+ RDF.type => RDF.Property,
296
+ RDFS.domain => BELV2_0.ProteinModification,
297
+ RDFS.range => XSD.string
298
+ property :hasProteinResidue,
299
+ RDF.type => RDF.Property,
300
+ RDFS.domain => BELV2_0.ProteinModification,
301
+ RDFS.range => XSD.integer
302
+
303
+ # Reaction properties
304
+ property :hasProduct,
305
+ RDF.type => RDF.Property,
306
+ RDFS.domain => BELV2_0.Reaction,
307
+ RDFS.range => BELV2_0.Abundance
308
+ property :hasReactant,
309
+ RDF.type => RDF.Property,
310
+ RDFS.domain => BELV2_0.Reaction,
311
+ RDFS.range => BELV2_0.Abundance
312
+
313
+
314
+ # Variant properties
315
+ property :hasVariant,
316
+ RDF.type => RDF.Property,
317
+ RDFS.domain => [
318
+ BELV2_0.GeneAbundance,
319
+ BELV2_0.MicroRNAAbundance,
320
+ BELV2_0.ProteinAbundance,
321
+ BELV2_0.RNAAbundance
322
+ ],
323
+ RDFS.range => XSD.string
324
+
325
+ # Cellular location properties
326
+ property :hasLocation,
327
+ RDF.type => RDF.Property,
328
+ RDFS.domain => [
329
+ BELV2_0.ComplexAbundance,
330
+ BELV2_0.GeneAbundance,
331
+ BELV2_0.MicroRNAAbundance,
332
+ BELV2_0.ProteinAbundance,
333
+ BELV2_0.RNAAbundance
334
+ ],
335
+ RDFS.range => BELV2_0.LocationConcept
336
+ property :hasFromLocation,
337
+ RDF.type => RDF.Property,
338
+ RDFS.subPropertyOf => BELV2_0.hasLocation,
339
+ RDFS.domain => BELV2_0.Translocation,
340
+ RDFS.range => BELV2_0.LocationConcept
341
+ property :hasToLocation,
342
+ RDF.type => RDF.Property,
343
+ RDFS.subPropertyOf => BELV2_0.hasLocation,
344
+ RDFS.domain => BELV2_0.Translocation,
345
+ RDFS.range => BELV2_0.LocationConcept
346
+
347
+ # Fragment properties
348
+ property :hasFragmentRange,
349
+ RDF.type => RDF.Property,
350
+ RDFS.domain => BELV2_0.ProteinAbundance,
351
+ RDFS.range => XSD.string
352
+ property :hasFragmentDescriptor,
353
+ RDF.type => RDF.Property,
354
+ RDFS.domain => BELV2_0.ProteinAbundance,
355
+ RDFS.range => XSD.string
356
+
357
+ # Term properties
358
+ property :hasChild,
359
+ RDF.type => RDF.Property,
360
+ RDFS.domain => BELV2_0.Term,
361
+ RDFS.range => BELV2_0.Term
362
+ property :hasConcept,
363
+ RDF.type => RDF.Property,
364
+ RDFS.domain => BELV2_0.Term,
365
+ RDFS.range => BELV2_0.NamespaceConcept
366
+
367
+ # Statement properties
368
+ property :hasSubject,
369
+ RDF.type => RDF.Property,
370
+ RDFS.subPropertyOf => BELV2_0.hasChild,
371
+ RDFS.domain => BELV2_0.Statement,
372
+ RDFS.range => BELV2_0.Term
373
+ property :hasRelationship,
374
+ RDF.type => RDF.Property,
375
+ RDFS.domain => BELV2_0.Statement,
376
+ RDFS.range => BELV2_0.Relationship
377
+ property :hasObject,
378
+ RDF.type => RDF.Property,
379
+ RDFS.subPropertyOf => BELV2_0.hasChild,
380
+ RDFS.domain => BELV2_0.Statement,
381
+ RDFS.range => BELV2_0.Term
382
+ property :hasNanopub,
383
+ RDF.type => RDF.Property,
384
+ RDFS.domain => BELV2_0.Statement,
385
+ RDFS.range => BELV2_0.Nanopub
386
+
387
+ # Nanopub properties
388
+ property :hasAnnotation,
389
+ RDF.type => RDF.Property,
390
+ RDFS.domain => BELV2_0.Nanopub,
391
+ RDFS.range => BELV2_0.AnnotationConcept
392
+ property :hasCitation,
393
+ RDF.type => RDF.Property,
394
+ RDFS.domain => BELV2_0.Nanopub,
395
+ RDFS.range => RDFS.Resource
396
+ property :hasSupport,
397
+ RDF.type => RDF.Property,
398
+ RDFS.domain => BELV2_0.Nanopub,
399
+ RDFS.range => XSD.string
400
+ property :hasStatement,
401
+ RDF.type => RDF.Property,
402
+ RDFS.domain => BELV2_0.Nanopub,
403
+ RDFS.range => BELV2_0.Statement
404
+ property :hasBiologicalExpressionLanguage,
405
+ RDF.type => RDF.Property,
406
+ RDFS.domain => BELV2_0.Nanopub,
407
+ RDFS.range => BELV2_0.BiologicalExpressionLanguage
408
+
409
+ # BiologicalExpressionLanguage properties
410
+ property :hasVersion,
411
+ RDF.type => RDF.Property,
412
+ RDFS.domain => BELV2_0.BiologicalExpressionLanguage,
413
+ RDFS.range => XSD.string
414
+ end
415
+ end
416
+ end