openphar 0.1.0

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.
Files changed (108) hide show
  1. checksums.yaml +7 -0
  2. data/README.adoc +221 -0
  3. data/lib/openphar/cli/main.rb +137 -0
  4. data/lib/openphar/cli.rb +11 -0
  5. data/lib/openphar/core/slug_generator.rb +107 -0
  6. data/lib/openphar/core.rb +11 -0
  7. data/lib/openphar/errors/configuration_error.rb +8 -0
  8. data/lib/openphar/errors/monograph_not_found_error.rb +15 -0
  9. data/lib/openphar/errors/parse_error.rb +18 -0
  10. data/lib/openphar/errors/unknown_format_error.rb +8 -0
  11. data/lib/openphar/errors/unknown_publisher_error.rb +8 -0
  12. data/lib/openphar/errors/unknown_type_error.rb +8 -0
  13. data/lib/openphar/errors/validation_error.rb +15 -0
  14. data/lib/openphar/errors.rb +17 -0
  15. data/lib/openphar/exporters/coverage_validator.rb +265 -0
  16. data/lib/openphar/exporters/neo4j/model_registry.rb +130 -0
  17. data/lib/openphar/exporters/neo4j/node_builder.rb +84 -0
  18. data/lib/openphar/exporters/neo4j/property_mapper.rb +154 -0
  19. data/lib/openphar/exporters/neo4j/relationship_builder.rb +87 -0
  20. data/lib/openphar/exporters/neo4j.rb +16 -0
  21. data/lib/openphar/exporters/neo4j_exporter.rb +199 -0
  22. data/lib/openphar/exporters.rb +15 -0
  23. data/lib/openphar/linkers/chp/cross_edition_linker.rb +101 -0
  24. data/lib/openphar/linkers/chp.rb +11 -0
  25. data/lib/openphar/linkers/cross_publisher_linker.rb +295 -0
  26. data/lib/openphar/linkers/herbapedia_linker.rb +125 -0
  27. data/lib/openphar/linkers.rb +13 -0
  28. data/lib/openphar/migrators/chp/classifier.rb +86 -0
  29. data/lib/openphar/migrators/chp.rb +15 -0
  30. data/lib/openphar/migrators/chp_migrator.rb +130 -0
  31. data/lib/openphar/migrators/jp_migrator.rb +345 -0
  32. data/lib/openphar/migrators/phint_migrator.rb +426 -0
  33. data/lib/openphar/migrators.rb +15 -0
  34. data/lib/openphar/models/ahp.rb +25 -0
  35. data/lib/openphar/models/amino_acid_monograph.rb +28 -0
  36. data/lib/openphar/models/api.rb +29 -0
  37. data/lib/openphar/models/assay_specification.rb +19 -0
  38. data/lib/openphar/models/base_entity.rb +221 -0
  39. data/lib/openphar/models/biological_substance_monograph.rb +31 -0
  40. data/lib/openphar/models/chemical_drug_monograph.rb +39 -0
  41. data/lib/openphar/models/chp/biologic.rb +28 -0
  42. data/lib/openphar/models/chp/chemical_preparation.rb +28 -0
  43. data/lib/openphar/models/chp/chemical_substance.rb +28 -0
  44. data/lib/openphar/models/chp/general_chapter.rb +30 -0
  45. data/lib/openphar/models/chp/monograph.rb +116 -0
  46. data/lib/openphar/models/chp/section.rb +37 -0
  47. data/lib/openphar/models/chp/tcm_crude_drug.rb +28 -0
  48. data/lib/openphar/models/chp/tcm_extract.rb +29 -0
  49. data/lib/openphar/models/chp/tcm_formulation.rb +28 -0
  50. data/lib/openphar/models/chp.rb +33 -0
  51. data/lib/openphar/models/crude_drug_monograph.rb +31 -0
  52. data/lib/openphar/models/edition.rb +41 -0
  53. data/lib/openphar/models/formulation_monograph.rb +31 -0
  54. data/lib/openphar/models/hkcmms.rb +26 -0
  55. data/lib/openphar/models/identification_specification.rb +19 -0
  56. data/lib/openphar/models/jp/kampo_formula.rb +94 -0
  57. data/lib/openphar/models/jp.rb +21 -0
  58. data/lib/openphar/models/limit.rb +54 -0
  59. data/lib/openphar/models/mineral_substance_monograph.rb +28 -0
  60. data/lib/openphar/models/monograph.rb +58 -0
  61. data/lib/openphar/models/ph_int/buffer_solution.rb +38 -0
  62. data/lib/openphar/models/ph_int/dosage_form_monograph.rb +43 -0
  63. data/lib/openphar/models/ph_int/radiopharmaceutical_monograph.rb +52 -0
  64. data/lib/openphar/models/ph_int/reagent.rb +50 -0
  65. data/lib/openphar/models/ph_int/reference_substance.rb +50 -0
  66. data/lib/openphar/models/ph_int/test_method.rb +50 -0
  67. data/lib/openphar/models/ph_int/test_solution.rb +39 -0
  68. data/lib/openphar/models/ph_int/volumetric_solution.rb +38 -0
  69. data/lib/openphar/models/ph_int.rb +37 -0
  70. data/lib/openphar/models/physical_specification.rb +17 -0
  71. data/lib/openphar/models/publisher.rb +98 -0
  72. data/lib/openphar/models/purity_specification.rb +16 -0
  73. data/lib/openphar/models/supplement.rb +31 -0
  74. data/lib/openphar/models/test_specification.rb +29 -0
  75. data/lib/openphar/models/thp.rb +24 -0
  76. data/lib/openphar/models/vitamin_monograph.rb +28 -0
  77. data/lib/openphar/models.rb +58 -0
  78. data/lib/openphar/monograph_merger.rb +374 -0
  79. data/lib/openphar/parsers/base_monograph_parser.rb +108 -0
  80. data/lib/openphar/parsers/jp_html_parser.rb +92 -0
  81. data/lib/openphar/parsers/jp_html_parser_base.rb +113 -0
  82. data/lib/openphar/parsers/jp_ja_html_parser.rb +220 -0
  83. data/lib/openphar/parsers/phint_json_parser.rb +332 -0
  84. data/lib/openphar/parsers.rb +21 -0
  85. data/lib/openphar/registry/publisher_registry.rb +46 -0
  86. data/lib/openphar/registry/type_registry.rb +147 -0
  87. data/lib/openphar/registry.rb +24 -0
  88. data/lib/openphar/repositories/monograph_repository.rb +350 -0
  89. data/lib/openphar/repositories.rb +11 -0
  90. data/lib/openphar/transformers/jsonld_transformer.rb +106 -0
  91. data/lib/openphar/transformers.rb +11 -0
  92. data/lib/openphar/version.rb +5 -0
  93. data/lib/openphar.rb +119 -0
  94. data/ontology/bibliographic/edition.ttl +267 -0
  95. data/ontology/context/chp.jsonld +69 -0
  96. data/ontology/context/crude-drugs.jsonld +56 -0
  97. data/ontology/context/pharmacopoeia.jsonld +631 -0
  98. data/ontology/core/identification.ttl +456 -0
  99. data/ontology/core/pharmacopoeia.ttl +3427 -0
  100. data/ontology/core/substance-form.ttl +302 -0
  101. data/ontology/core/unit.ttl +493 -0
  102. data/ontology/publisher/chp/extensions.ttl +186 -0
  103. data/ontology/publisher/phint/extensions.ttl +327 -0
  104. data/ontology/quality/test-method.ttl +610 -0
  105. data/shapes/chp/monograph.ttl +153 -0
  106. data/shapes/edition-shapes.ttl +230 -0
  107. data/shapes/monograph-shapes.ttl +1324 -0
  108. metadata +319 -0
metadata ADDED
@@ -0,0 +1,319 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: openphar
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - SIPM
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: lutaml-model
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '0.7'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '0.7'
26
+ - !ruby/object:Gem::Dependency
27
+ name: rdf
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '3.3'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '3.3'
40
+ - !ruby/object:Gem::Dependency
41
+ name: rdf-json
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '3.3'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '3.3'
54
+ - !ruby/object:Gem::Dependency
55
+ name: rdf-turtle
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '3.3'
61
+ type: :runtime
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '3.3'
68
+ - !ruby/object:Gem::Dependency
69
+ name: json-ld
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '3.3'
75
+ type: :runtime
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '3.3'
82
+ - !ruby/object:Gem::Dependency
83
+ name: nokogiri
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '1.16'
89
+ type: :runtime
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '1.16'
96
+ - !ruby/object:Gem::Dependency
97
+ name: thor
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '1.3'
103
+ type: :runtime
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '1.3'
110
+ - !ruby/object:Gem::Dependency
111
+ name: json-schema
112
+ requirement: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '4.0'
117
+ type: :runtime
118
+ prerelease: false
119
+ version_requirements: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '4.0'
124
+ - !ruby/object:Gem::Dependency
125
+ name: rake
126
+ requirement: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
131
+ type: :development
132
+ prerelease: false
133
+ version_requirements: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ - !ruby/object:Gem::Dependency
139
+ name: rspec
140
+ requirement: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
145
+ type: :development
146
+ prerelease: false
147
+ version_requirements: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ version: '0'
152
+ - !ruby/object:Gem::Dependency
153
+ name: rubocop
154
+ requirement: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
159
+ type: :development
160
+ prerelease: false
161
+ version_requirements: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - ">="
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ - !ruby/object:Gem::Dependency
167
+ name: rubocop-rspec
168
+ requirement: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: '0'
173
+ type: :development
174
+ prerelease: false
175
+ version_requirements: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ version: '0'
180
+ description: A Ruby gem for working with pharmacopoeia data using the Open Pharmacopoeia
181
+ ontology. Supports multiple publishers including ChP, JP, Ph.Int., API, HKCMMS,
182
+ and more.
183
+ email:
184
+ - contact@sipm.org
185
+ executables: []
186
+ extensions: []
187
+ extra_rdoc_files: []
188
+ files:
189
+ - README.adoc
190
+ - lib/openphar.rb
191
+ - lib/openphar/cli.rb
192
+ - lib/openphar/cli/main.rb
193
+ - lib/openphar/core.rb
194
+ - lib/openphar/core/slug_generator.rb
195
+ - lib/openphar/errors.rb
196
+ - lib/openphar/errors/configuration_error.rb
197
+ - lib/openphar/errors/monograph_not_found_error.rb
198
+ - lib/openphar/errors/parse_error.rb
199
+ - lib/openphar/errors/unknown_format_error.rb
200
+ - lib/openphar/errors/unknown_publisher_error.rb
201
+ - lib/openphar/errors/unknown_type_error.rb
202
+ - lib/openphar/errors/validation_error.rb
203
+ - lib/openphar/exporters.rb
204
+ - lib/openphar/exporters/coverage_validator.rb
205
+ - lib/openphar/exporters/neo4j.rb
206
+ - lib/openphar/exporters/neo4j/model_registry.rb
207
+ - lib/openphar/exporters/neo4j/node_builder.rb
208
+ - lib/openphar/exporters/neo4j/property_mapper.rb
209
+ - lib/openphar/exporters/neo4j/relationship_builder.rb
210
+ - lib/openphar/exporters/neo4j_exporter.rb
211
+ - lib/openphar/linkers.rb
212
+ - lib/openphar/linkers/chp.rb
213
+ - lib/openphar/linkers/chp/cross_edition_linker.rb
214
+ - lib/openphar/linkers/cross_publisher_linker.rb
215
+ - lib/openphar/linkers/herbapedia_linker.rb
216
+ - lib/openphar/migrators.rb
217
+ - lib/openphar/migrators/chp.rb
218
+ - lib/openphar/migrators/chp/classifier.rb
219
+ - lib/openphar/migrators/chp_migrator.rb
220
+ - lib/openphar/migrators/jp_migrator.rb
221
+ - lib/openphar/migrators/phint_migrator.rb
222
+ - lib/openphar/models.rb
223
+ - lib/openphar/models/ahp.rb
224
+ - lib/openphar/models/amino_acid_monograph.rb
225
+ - lib/openphar/models/api.rb
226
+ - lib/openphar/models/assay_specification.rb
227
+ - lib/openphar/models/base_entity.rb
228
+ - lib/openphar/models/biological_substance_monograph.rb
229
+ - lib/openphar/models/chemical_drug_monograph.rb
230
+ - lib/openphar/models/chp.rb
231
+ - lib/openphar/models/chp/biologic.rb
232
+ - lib/openphar/models/chp/chemical_preparation.rb
233
+ - lib/openphar/models/chp/chemical_substance.rb
234
+ - lib/openphar/models/chp/general_chapter.rb
235
+ - lib/openphar/models/chp/monograph.rb
236
+ - lib/openphar/models/chp/section.rb
237
+ - lib/openphar/models/chp/tcm_crude_drug.rb
238
+ - lib/openphar/models/chp/tcm_extract.rb
239
+ - lib/openphar/models/chp/tcm_formulation.rb
240
+ - lib/openphar/models/crude_drug_monograph.rb
241
+ - lib/openphar/models/edition.rb
242
+ - lib/openphar/models/formulation_monograph.rb
243
+ - lib/openphar/models/hkcmms.rb
244
+ - lib/openphar/models/identification_specification.rb
245
+ - lib/openphar/models/jp.rb
246
+ - lib/openphar/models/jp/kampo_formula.rb
247
+ - lib/openphar/models/limit.rb
248
+ - lib/openphar/models/mineral_substance_monograph.rb
249
+ - lib/openphar/models/monograph.rb
250
+ - lib/openphar/models/ph_int.rb
251
+ - lib/openphar/models/ph_int/buffer_solution.rb
252
+ - lib/openphar/models/ph_int/dosage_form_monograph.rb
253
+ - lib/openphar/models/ph_int/radiopharmaceutical_monograph.rb
254
+ - lib/openphar/models/ph_int/reagent.rb
255
+ - lib/openphar/models/ph_int/reference_substance.rb
256
+ - lib/openphar/models/ph_int/test_method.rb
257
+ - lib/openphar/models/ph_int/test_solution.rb
258
+ - lib/openphar/models/ph_int/volumetric_solution.rb
259
+ - lib/openphar/models/physical_specification.rb
260
+ - lib/openphar/models/publisher.rb
261
+ - lib/openphar/models/purity_specification.rb
262
+ - lib/openphar/models/supplement.rb
263
+ - lib/openphar/models/test_specification.rb
264
+ - lib/openphar/models/thp.rb
265
+ - lib/openphar/models/vitamin_monograph.rb
266
+ - lib/openphar/monograph_merger.rb
267
+ - lib/openphar/parsers.rb
268
+ - lib/openphar/parsers/base_monograph_parser.rb
269
+ - lib/openphar/parsers/jp_html_parser.rb
270
+ - lib/openphar/parsers/jp_html_parser_base.rb
271
+ - lib/openphar/parsers/jp_ja_html_parser.rb
272
+ - lib/openphar/parsers/phint_json_parser.rb
273
+ - lib/openphar/registry.rb
274
+ - lib/openphar/registry/publisher_registry.rb
275
+ - lib/openphar/registry/type_registry.rb
276
+ - lib/openphar/repositories.rb
277
+ - lib/openphar/repositories/monograph_repository.rb
278
+ - lib/openphar/transformers.rb
279
+ - lib/openphar/transformers/jsonld_transformer.rb
280
+ - lib/openphar/version.rb
281
+ - ontology/bibliographic/edition.ttl
282
+ - ontology/context/chp.jsonld
283
+ - ontology/context/crude-drugs.jsonld
284
+ - ontology/context/pharmacopoeia.jsonld
285
+ - ontology/core/identification.ttl
286
+ - ontology/core/pharmacopoeia.ttl
287
+ - ontology/core/substance-form.ttl
288
+ - ontology/core/unit.ttl
289
+ - ontology/publisher/chp/extensions.ttl
290
+ - ontology/publisher/phint/extensions.ttl
291
+ - ontology/quality/test-method.ttl
292
+ - shapes/chp/monograph.ttl
293
+ - shapes/edition-shapes.ttl
294
+ - shapes/monograph-shapes.ttl
295
+ homepage: https://github.com/openphar/open-pharmacopoeia
296
+ licenses:
297
+ - MIT
298
+ metadata:
299
+ homepage_uri: https://github.com/openphar/open-pharmacopoeia
300
+ source_code_uri: https://github.com/openphar/open-pharmacopoeia
301
+ changelog_uri: https://github.com/openphar/open-pharmacopoeia/blob/main/CHANGELOG.md
302
+ rdoc_options: []
303
+ require_paths:
304
+ - lib
305
+ required_ruby_version: !ruby/object:Gem::Requirement
306
+ requirements:
307
+ - - ">="
308
+ - !ruby/object:Gem::Version
309
+ version: 3.0.0
310
+ required_rubygems_version: !ruby/object:Gem::Requirement
311
+ requirements:
312
+ - - ">="
313
+ - !ruby/object:Gem::Version
314
+ version: '0'
315
+ requirements: []
316
+ rubygems_version: 4.0.16
317
+ specification_version: 4
318
+ summary: Open Pharmacopoeia ontology tools and utilities
319
+ test_files: []