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.
- checksums.yaml +7 -0
- data/README.adoc +221 -0
- data/lib/openphar/cli/main.rb +137 -0
- data/lib/openphar/cli.rb +11 -0
- data/lib/openphar/core/slug_generator.rb +107 -0
- data/lib/openphar/core.rb +11 -0
- data/lib/openphar/errors/configuration_error.rb +8 -0
- data/lib/openphar/errors/monograph_not_found_error.rb +15 -0
- data/lib/openphar/errors/parse_error.rb +18 -0
- data/lib/openphar/errors/unknown_format_error.rb +8 -0
- data/lib/openphar/errors/unknown_publisher_error.rb +8 -0
- data/lib/openphar/errors/unknown_type_error.rb +8 -0
- data/lib/openphar/errors/validation_error.rb +15 -0
- data/lib/openphar/errors.rb +17 -0
- data/lib/openphar/exporters/coverage_validator.rb +265 -0
- data/lib/openphar/exporters/neo4j/model_registry.rb +130 -0
- data/lib/openphar/exporters/neo4j/node_builder.rb +84 -0
- data/lib/openphar/exporters/neo4j/property_mapper.rb +154 -0
- data/lib/openphar/exporters/neo4j/relationship_builder.rb +87 -0
- data/lib/openphar/exporters/neo4j.rb +16 -0
- data/lib/openphar/exporters/neo4j_exporter.rb +199 -0
- data/lib/openphar/exporters.rb +15 -0
- data/lib/openphar/linkers/chp/cross_edition_linker.rb +101 -0
- data/lib/openphar/linkers/chp.rb +11 -0
- data/lib/openphar/linkers/cross_publisher_linker.rb +295 -0
- data/lib/openphar/linkers/herbapedia_linker.rb +125 -0
- data/lib/openphar/linkers.rb +13 -0
- data/lib/openphar/migrators/chp/classifier.rb +86 -0
- data/lib/openphar/migrators/chp.rb +15 -0
- data/lib/openphar/migrators/chp_migrator.rb +130 -0
- data/lib/openphar/migrators/jp_migrator.rb +345 -0
- data/lib/openphar/migrators/phint_migrator.rb +426 -0
- data/lib/openphar/migrators.rb +15 -0
- data/lib/openphar/models/ahp.rb +25 -0
- data/lib/openphar/models/amino_acid_monograph.rb +28 -0
- data/lib/openphar/models/api.rb +29 -0
- data/lib/openphar/models/assay_specification.rb +19 -0
- data/lib/openphar/models/base_entity.rb +221 -0
- data/lib/openphar/models/biological_substance_monograph.rb +31 -0
- data/lib/openphar/models/chemical_drug_monograph.rb +39 -0
- data/lib/openphar/models/chp/biologic.rb +28 -0
- data/lib/openphar/models/chp/chemical_preparation.rb +28 -0
- data/lib/openphar/models/chp/chemical_substance.rb +28 -0
- data/lib/openphar/models/chp/general_chapter.rb +30 -0
- data/lib/openphar/models/chp/monograph.rb +116 -0
- data/lib/openphar/models/chp/section.rb +37 -0
- data/lib/openphar/models/chp/tcm_crude_drug.rb +28 -0
- data/lib/openphar/models/chp/tcm_extract.rb +29 -0
- data/lib/openphar/models/chp/tcm_formulation.rb +28 -0
- data/lib/openphar/models/chp.rb +33 -0
- data/lib/openphar/models/crude_drug_monograph.rb +31 -0
- data/lib/openphar/models/edition.rb +41 -0
- data/lib/openphar/models/formulation_monograph.rb +31 -0
- data/lib/openphar/models/hkcmms.rb +26 -0
- data/lib/openphar/models/identification_specification.rb +19 -0
- data/lib/openphar/models/jp/kampo_formula.rb +94 -0
- data/lib/openphar/models/jp.rb +21 -0
- data/lib/openphar/models/limit.rb +54 -0
- data/lib/openphar/models/mineral_substance_monograph.rb +28 -0
- data/lib/openphar/models/monograph.rb +58 -0
- data/lib/openphar/models/ph_int/buffer_solution.rb +38 -0
- data/lib/openphar/models/ph_int/dosage_form_monograph.rb +43 -0
- data/lib/openphar/models/ph_int/radiopharmaceutical_monograph.rb +52 -0
- data/lib/openphar/models/ph_int/reagent.rb +50 -0
- data/lib/openphar/models/ph_int/reference_substance.rb +50 -0
- data/lib/openphar/models/ph_int/test_method.rb +50 -0
- data/lib/openphar/models/ph_int/test_solution.rb +39 -0
- data/lib/openphar/models/ph_int/volumetric_solution.rb +38 -0
- data/lib/openphar/models/ph_int.rb +37 -0
- data/lib/openphar/models/physical_specification.rb +17 -0
- data/lib/openphar/models/publisher.rb +98 -0
- data/lib/openphar/models/purity_specification.rb +16 -0
- data/lib/openphar/models/supplement.rb +31 -0
- data/lib/openphar/models/test_specification.rb +29 -0
- data/lib/openphar/models/thp.rb +24 -0
- data/lib/openphar/models/vitamin_monograph.rb +28 -0
- data/lib/openphar/models.rb +58 -0
- data/lib/openphar/monograph_merger.rb +374 -0
- data/lib/openphar/parsers/base_monograph_parser.rb +108 -0
- data/lib/openphar/parsers/jp_html_parser.rb +92 -0
- data/lib/openphar/parsers/jp_html_parser_base.rb +113 -0
- data/lib/openphar/parsers/jp_ja_html_parser.rb +220 -0
- data/lib/openphar/parsers/phint_json_parser.rb +332 -0
- data/lib/openphar/parsers.rb +21 -0
- data/lib/openphar/registry/publisher_registry.rb +46 -0
- data/lib/openphar/registry/type_registry.rb +147 -0
- data/lib/openphar/registry.rb +24 -0
- data/lib/openphar/repositories/monograph_repository.rb +350 -0
- data/lib/openphar/repositories.rb +11 -0
- data/lib/openphar/transformers/jsonld_transformer.rb +106 -0
- data/lib/openphar/transformers.rb +11 -0
- data/lib/openphar/version.rb +5 -0
- data/lib/openphar.rb +119 -0
- data/ontology/bibliographic/edition.ttl +267 -0
- data/ontology/context/chp.jsonld +69 -0
- data/ontology/context/crude-drugs.jsonld +56 -0
- data/ontology/context/pharmacopoeia.jsonld +631 -0
- data/ontology/core/identification.ttl +456 -0
- data/ontology/core/pharmacopoeia.ttl +3427 -0
- data/ontology/core/substance-form.ttl +302 -0
- data/ontology/core/unit.ttl +493 -0
- data/ontology/publisher/chp/extensions.ttl +186 -0
- data/ontology/publisher/phint/extensions.ttl +327 -0
- data/ontology/quality/test-method.ttl +610 -0
- data/shapes/chp/monograph.ttl +153 -0
- data/shapes/edition-shapes.ttl +230 -0
- data/shapes/monograph-shapes.ttl +1324 -0
- metadata +319 -0
|
@@ -0,0 +1,493 @@
|
|
|
1
|
+
# Open Pharmacopoeia - Units of Measurement
|
|
2
|
+
#
|
|
3
|
+
# Complete enumeration of units used in pharmacopoeia specifications.
|
|
4
|
+
# MECE (Mutually Exclusive, Collectively Exhaustive) organization.
|
|
5
|
+
|
|
6
|
+
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
|
7
|
+
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
|
8
|
+
@prefix owl: <http://www.w3.org/2002/07/owl#> .
|
|
9
|
+
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
|
10
|
+
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
|
|
11
|
+
@prefix op: <https://www.openphar.org/ontology/core/> .
|
|
12
|
+
@prefix unit: <https://www.openphar.org/ontology/core/unit/> .
|
|
13
|
+
|
|
14
|
+
<https://www.openphar.org/ontology/core/unit>
|
|
15
|
+
a owl:Ontology ;
|
|
16
|
+
rdfs:label "Open Pharmacopoeia Units Ontology"@en ;
|
|
17
|
+
rdfs:comment "Complete enumeration of measurement units used in pharmacopoeia specifications."@en ;
|
|
18
|
+
owl:imports <https://www.openphar.org/ontology/core> .
|
|
19
|
+
|
|
20
|
+
# =============================================================================
|
|
21
|
+
# UNIT CATEGORIES (MECE)
|
|
22
|
+
# =============================================================================
|
|
23
|
+
|
|
24
|
+
unit:ConcentrationUnit
|
|
25
|
+
a owl:Class ;
|
|
26
|
+
rdfs:label "Concentration Unit"@en ;
|
|
27
|
+
rdfs:subClassOf op:Unit ;
|
|
28
|
+
rdfs:comment "Units for expressing concentration of substances."@en .
|
|
29
|
+
|
|
30
|
+
unit:MassUnit
|
|
31
|
+
a owl:Class ;
|
|
32
|
+
rdfs:label "Mass Unit"@en ;
|
|
33
|
+
rdfs:subClassOf op:Unit ;
|
|
34
|
+
rdfs:comment "Units for expressing mass or weight."@en .
|
|
35
|
+
|
|
36
|
+
unit:VolumeUnit
|
|
37
|
+
a owl:Class ;
|
|
38
|
+
rdfs:label "Volume Unit"@en ;
|
|
39
|
+
rdfs:subClassOf op:Unit ;
|
|
40
|
+
rdfs:comment "Units for expressing volume."@en .
|
|
41
|
+
|
|
42
|
+
unit:TemperatureUnit
|
|
43
|
+
a owl:Class ;
|
|
44
|
+
rdfs:label "Temperature Unit"@en ;
|
|
45
|
+
rdfs:subClassOf op:Unit ;
|
|
46
|
+
rdfs:comment "Units for expressing temperature."@en .
|
|
47
|
+
|
|
48
|
+
unit:LengthUnit
|
|
49
|
+
a owl:Class ;
|
|
50
|
+
rdfs:label "Length Unit"@en ;
|
|
51
|
+
rdfs:subClassOf op:Unit ;
|
|
52
|
+
rdfs:comment "Units for expressing length or distance."@en .
|
|
53
|
+
|
|
54
|
+
unit:TimeUnit
|
|
55
|
+
a owl:Class ;
|
|
56
|
+
rdfs:label "Time Unit"@en ;
|
|
57
|
+
rdfs:subClassOf op:Unit ;
|
|
58
|
+
rdfs:comment "Units for expressing time."@en .
|
|
59
|
+
|
|
60
|
+
unit:DimensionlessUnit
|
|
61
|
+
a owl:Class ;
|
|
62
|
+
rdfs:label "Dimensionless Unit"@en ;
|
|
63
|
+
rdfs:subClassOf op:Unit ;
|
|
64
|
+
rdfs:comment "Units for dimensionless quantities."@en .
|
|
65
|
+
|
|
66
|
+
unit:WavelengthUnit
|
|
67
|
+
a owl:Class ;
|
|
68
|
+
rdfs:label "Wavelength Unit"@en ;
|
|
69
|
+
rdfs:subClassOf op:Unit ;
|
|
70
|
+
rdfs:comment "Units for expressing wavelength."@en .
|
|
71
|
+
|
|
72
|
+
unit:WaveNumberUnit
|
|
73
|
+
a owl:Class ;
|
|
74
|
+
rdfs:label "Wave Number Unit"@en ;
|
|
75
|
+
rdfs:subClassOf op:Unit ;
|
|
76
|
+
rdfs:comment "Units for expressing wave number (IR spectroscopy)."@en .
|
|
77
|
+
|
|
78
|
+
unit:PressureUnit
|
|
79
|
+
a owl:Class ;
|
|
80
|
+
rdfs:label "Pressure Unit"@en ;
|
|
81
|
+
rdfs:subClassOf op:Unit ;
|
|
82
|
+
rdfs:comment "Units for expressing pressure."@en .
|
|
83
|
+
|
|
84
|
+
unit:RotationalUnit
|
|
85
|
+
a owl:Class ;
|
|
86
|
+
rdfs:label "Rotational Unit"@en ;
|
|
87
|
+
rdfs:subClassOf op:Unit ;
|
|
88
|
+
rdfs:comment "Units for expressing optical rotation."@en .
|
|
89
|
+
|
|
90
|
+
unit:ViscosityUnit
|
|
91
|
+
a owl:Class ;
|
|
92
|
+
rdfs:label "Viscosity Unit"@en ;
|
|
93
|
+
rdfs:subClassOf op:Unit ;
|
|
94
|
+
rdfs:comment "Units for expressing viscosity."@en .
|
|
95
|
+
|
|
96
|
+
# =============================================================================
|
|
97
|
+
# PROPERTIES
|
|
98
|
+
# =============================================================================
|
|
99
|
+
|
|
100
|
+
unit:symbol
|
|
101
|
+
a owl:DatatypeProperty ;
|
|
102
|
+
rdfs:label "symbol"@en ;
|
|
103
|
+
rdfs:comment "The symbol used to represent this unit."@en ;
|
|
104
|
+
rdfs:domain op:Unit ;
|
|
105
|
+
rdfs:range xsd:string .
|
|
106
|
+
|
|
107
|
+
unit:siEquivalent
|
|
108
|
+
a owl:DatatypeProperty ;
|
|
109
|
+
rdfs:label "SI equivalent"@en ;
|
|
110
|
+
rdfs:comment "The equivalent value in SI base units."@en ;
|
|
111
|
+
rdfs:domain op:Unit ;
|
|
112
|
+
rdfs:range xsd:string .
|
|
113
|
+
|
|
114
|
+
# =============================================================================
|
|
115
|
+
# CONCENTRATION UNITS
|
|
116
|
+
# =============================================================================
|
|
117
|
+
|
|
118
|
+
unit:percent
|
|
119
|
+
a unit:ConcentrationUnit ;
|
|
120
|
+
rdfs:label "Percent"@en ;
|
|
121
|
+
skos:altLabel "Percentage"@en ;
|
|
122
|
+
unit:symbol "%" ;
|
|
123
|
+
rdfs:comment "Parts per hundred (w/w, w/v, or v/v as specified)."@en .
|
|
124
|
+
|
|
125
|
+
unit:percent_w_w
|
|
126
|
+
a unit:ConcentrationUnit ;
|
|
127
|
+
rdfs:label "Percent Weight/Weight"@en ;
|
|
128
|
+
unit:symbol "% w/w" ;
|
|
129
|
+
rdfs:comment "Grams of solute per 100 grams of solution."@en .
|
|
130
|
+
|
|
131
|
+
unit:percent_w_v
|
|
132
|
+
a unit:ConcentrationUnit ;
|
|
133
|
+
rdfs:label "Percent Weight/Volume"@en ;
|
|
134
|
+
unit:symbol "% w/v" ;
|
|
135
|
+
rdfs:comment "Grams of solute per 100 milliliters of solution."@en .
|
|
136
|
+
|
|
137
|
+
unit:percent_v_v
|
|
138
|
+
a unit:ConcentrationUnit ;
|
|
139
|
+
rdfs:label "Percent Volume/Volume"@en ;
|
|
140
|
+
unit:symbol "% v/v" ;
|
|
141
|
+
rdfs:comment "Milliliters of solute per 100 milliliters of solution."@en .
|
|
142
|
+
|
|
143
|
+
unit:ppm
|
|
144
|
+
a unit:ConcentrationUnit ;
|
|
145
|
+
rdfs:label "Parts Per Million"@en ;
|
|
146
|
+
unit:symbol "ppm" ;
|
|
147
|
+
rdfs:comment "Parts per million (μg/g or mg/kg)."@en .
|
|
148
|
+
|
|
149
|
+
unit:ppb
|
|
150
|
+
a unit:ConcentrationUnit ;
|
|
151
|
+
rdfs:label "Parts Per Billion"@en ;
|
|
152
|
+
unit:symbol "ppb" ;
|
|
153
|
+
rdfs:comment "Parts per billion (ng/g or μg/kg)."@en .
|
|
154
|
+
|
|
155
|
+
unit:mg_per_g
|
|
156
|
+
a unit:ConcentrationUnit ;
|
|
157
|
+
rdfs:label "Milligrams per Gram"@en ;
|
|
158
|
+
unit:symbol "mg/g" ;
|
|
159
|
+
rdfs:comment "Milligrams of substance per gram of sample."@en .
|
|
160
|
+
|
|
161
|
+
unit:mg_per_mL
|
|
162
|
+
a unit:ConcentrationUnit ;
|
|
163
|
+
rdfs:label "Milligrams per Milliliter"@en ;
|
|
164
|
+
unit:symbol "mg/mL" ;
|
|
165
|
+
rdfs:comment "Milligrams of substance per milliliter of solution."@en .
|
|
166
|
+
|
|
167
|
+
unit:μg_per_g
|
|
168
|
+
a unit:ConcentrationUnit ;
|
|
169
|
+
rdfs:label "Micrograms per Gram"@en ;
|
|
170
|
+
unit:symbol "μg/g" ;
|
|
171
|
+
rdfs:comment "Micrograms of substance per gram of sample."@en .
|
|
172
|
+
|
|
173
|
+
unit:μg_per_mL
|
|
174
|
+
a unit:ConcentrationUnit ;
|
|
175
|
+
rdfs:label "Micrograms per Milliliter"@en ;
|
|
176
|
+
unit:symbol "μg/mL" ;
|
|
177
|
+
rdfs:comment "Micrograms of substance per milliliter of solution."@en .
|
|
178
|
+
|
|
179
|
+
unit:mol_per_L
|
|
180
|
+
a unit:ConcentrationUnit ;
|
|
181
|
+
rdfs:label "Moles per Liter"@en ;
|
|
182
|
+
skos:altLabel "Molar"@en ;
|
|
183
|
+
unit:symbol "mol/L" ;
|
|
184
|
+
unit:symbol "M" ;
|
|
185
|
+
rdfs:comment "Molar concentration."@en .
|
|
186
|
+
|
|
187
|
+
unit:mmol_per_L
|
|
188
|
+
a unit:ConcentrationUnit ;
|
|
189
|
+
rdfs:label "Millimoles per Liter"@en ;
|
|
190
|
+
skos:altLabel "Millimolar"@en ;
|
|
191
|
+
unit:symbol "mmol/L" ;
|
|
192
|
+
unit:symbol "mM" ;
|
|
193
|
+
rdfs:comment "Millimolar concentration."@en .
|
|
194
|
+
|
|
195
|
+
# =============================================================================
|
|
196
|
+
# MASS UNITS
|
|
197
|
+
# =============================================================================
|
|
198
|
+
|
|
199
|
+
unit:ng
|
|
200
|
+
a unit:MassUnit ;
|
|
201
|
+
rdfs:label "Nanogram"@en ;
|
|
202
|
+
unit:symbol "ng" ;
|
|
203
|
+
unit:siEquivalent "1e-12 kg" ;
|
|
204
|
+
rdfs:comment "One billionth of a gram."@en .
|
|
205
|
+
|
|
206
|
+
unit:μg
|
|
207
|
+
a unit:MassUnit ;
|
|
208
|
+
rdfs:label "Microgram"@en ;
|
|
209
|
+
unit:symbol "μg" ;
|
|
210
|
+
unit:symbol "mcg" ;
|
|
211
|
+
unit:siEquivalent "1e-9 kg" ;
|
|
212
|
+
rdfs:comment "One millionth of a gram."@en .
|
|
213
|
+
|
|
214
|
+
unit:mg
|
|
215
|
+
a unit:MassUnit ;
|
|
216
|
+
rdfs:label "Milligram"@en ;
|
|
217
|
+
unit:symbol "mg" ;
|
|
218
|
+
unit:siEquivalent "1e-6 kg" ;
|
|
219
|
+
rdfs:comment "One thousandth of a gram."@en .
|
|
220
|
+
|
|
221
|
+
unit:g
|
|
222
|
+
a unit:MassUnit ;
|
|
223
|
+
rdfs:label "Gram"@en ;
|
|
224
|
+
unit:symbol "g" ;
|
|
225
|
+
unit:siEquivalent "1e-3 kg" ;
|
|
226
|
+
rdfs:comment "Base metric unit of mass."@en .
|
|
227
|
+
|
|
228
|
+
unit:kg
|
|
229
|
+
a unit:MassUnit ;
|
|
230
|
+
rdfs:label "Kilogram"@en ;
|
|
231
|
+
unit:symbol "kg" ;
|
|
232
|
+
unit:siEquivalent "1 kg" ;
|
|
233
|
+
rdfs:comment "SI base unit of mass."@en .
|
|
234
|
+
|
|
235
|
+
# =============================================================================
|
|
236
|
+
# VOLUME UNITS
|
|
237
|
+
# =============================================================================
|
|
238
|
+
|
|
239
|
+
unit:μL
|
|
240
|
+
a unit:VolumeUnit ;
|
|
241
|
+
rdfs:label "Microliter"@en ;
|
|
242
|
+
unit:symbol "μL" ;
|
|
243
|
+
unit:symbol "μl" ;
|
|
244
|
+
unit:siEquivalent "1e-9 m³" ;
|
|
245
|
+
rdfs:comment "One millionth of a liter."@en .
|
|
246
|
+
|
|
247
|
+
unit:mL
|
|
248
|
+
a unit:VolumeUnit ;
|
|
249
|
+
rdfs:label "Milliliter"@en ;
|
|
250
|
+
unit:symbol "mL" ;
|
|
251
|
+
unit:symbol "ml" ;
|
|
252
|
+
unit:siEquivalent "1e-6 m³" ;
|
|
253
|
+
rdfs:comment "One thousandth of a liter."@en .
|
|
254
|
+
|
|
255
|
+
unit:L
|
|
256
|
+
a unit:VolumeUnit ;
|
|
257
|
+
rdfs:label "Liter"@en ;
|
|
258
|
+
unit:symbol "L" ;
|
|
259
|
+
unit:symbol "l" ;
|
|
260
|
+
unit:siEquivalent "1e-3 m³" ;
|
|
261
|
+
rdfs:comment "Base metric unit of volume."@en .
|
|
262
|
+
|
|
263
|
+
unit:μL_per_injection
|
|
264
|
+
a unit:VolumeUnit ;
|
|
265
|
+
rdfs:label "Microliters per Injection"@en ;
|
|
266
|
+
unit:symbol "μL/injection" ;
|
|
267
|
+
rdfs:comment "Injection volume in chromatography."@en .
|
|
268
|
+
|
|
269
|
+
# =============================================================================
|
|
270
|
+
# TEMPERATURE UNITS
|
|
271
|
+
# =============================================================================
|
|
272
|
+
|
|
273
|
+
unit:degC
|
|
274
|
+
a unit:TemperatureUnit ;
|
|
275
|
+
rdfs:label "Degree Celsius"@en ;
|
|
276
|
+
unit:symbol "°C" ;
|
|
277
|
+
rdfs:comment "Celsius temperature scale."@en .
|
|
278
|
+
|
|
279
|
+
unit:degF
|
|
280
|
+
a unit:TemperatureUnit ;
|
|
281
|
+
rdfs:label "Degree Fahrenheit"@en ;
|
|
282
|
+
unit:symbol "°F" ;
|
|
283
|
+
rdfs:comment "Fahrenheit temperature scale."@en .
|
|
284
|
+
|
|
285
|
+
unit:K
|
|
286
|
+
a unit:TemperatureUnit ;
|
|
287
|
+
rdfs:label "Kelvin"@en ;
|
|
288
|
+
unit:symbol "K" ;
|
|
289
|
+
rdfs:comment "SI base unit of thermodynamic temperature."@en .
|
|
290
|
+
|
|
291
|
+
# =============================================================================
|
|
292
|
+
# LENGTH UNITS
|
|
293
|
+
# =============================================================================
|
|
294
|
+
|
|
295
|
+
unit:nm
|
|
296
|
+
a unit:LengthUnit ;
|
|
297
|
+
rdfs:label "Nanometer"@en ;
|
|
298
|
+
unit:symbol "nm" ;
|
|
299
|
+
unit:siEquivalent "1e-9 m" ;
|
|
300
|
+
rdfs:comment "One billionth of a meter."@en .
|
|
301
|
+
|
|
302
|
+
unit:μm_length
|
|
303
|
+
a unit:LengthUnit ;
|
|
304
|
+
rdfs:label "Micrometer"@en ;
|
|
305
|
+
unit:symbol "μm" ;
|
|
306
|
+
unit:siEquivalent "1e-6 m" ;
|
|
307
|
+
rdfs:comment "One millionth of a meter."@en .
|
|
308
|
+
|
|
309
|
+
unit:mm
|
|
310
|
+
a unit:LengthUnit ;
|
|
311
|
+
rdfs:label "Millimeter"@en ;
|
|
312
|
+
unit:symbol "mm" ;
|
|
313
|
+
unit:siEquivalent "1e-3 m" ;
|
|
314
|
+
rdfs:comment "One thousandth of a meter."@en .
|
|
315
|
+
|
|
316
|
+
unit:cm
|
|
317
|
+
a unit:LengthUnit ;
|
|
318
|
+
rdfs:label "Centimeter"@en ;
|
|
319
|
+
unit:symbol "cm" ;
|
|
320
|
+
unit:siEquivalent "1e-2 m" ;
|
|
321
|
+
rdfs:comment "One hundredth of a meter."@en .
|
|
322
|
+
|
|
323
|
+
# =============================================================================
|
|
324
|
+
# TIME UNITS
|
|
325
|
+
# =============================================================================
|
|
326
|
+
|
|
327
|
+
unit:s
|
|
328
|
+
a unit:TimeUnit ;
|
|
329
|
+
rdfs:label "Second"@en ;
|
|
330
|
+
unit:symbol "s" ;
|
|
331
|
+
unit:symbol "sec" ;
|
|
332
|
+
rdfs:comment "SI base unit of time."@en .
|
|
333
|
+
|
|
334
|
+
unit:min
|
|
335
|
+
a unit:TimeUnit ;
|
|
336
|
+
rdfs:label "Minute"@en ;
|
|
337
|
+
unit:symbol "min" ;
|
|
338
|
+
unit:siEquivalent "60 s" ;
|
|
339
|
+
rdfs:comment "60 seconds."@en .
|
|
340
|
+
|
|
341
|
+
unit:h
|
|
342
|
+
a unit:TimeUnit ;
|
|
343
|
+
rdfs:label "Hour"@en ;
|
|
344
|
+
unit:symbol "h" ;
|
|
345
|
+
unit:symbol "hr" ;
|
|
346
|
+
unit:siEquivalent "3600 s" ;
|
|
347
|
+
rdfs:comment "60 minutes."@en .
|
|
348
|
+
|
|
349
|
+
# =============================================================================
|
|
350
|
+
# DIMENSIONLESS UNITS
|
|
351
|
+
# =============================================================================
|
|
352
|
+
|
|
353
|
+
unit:pH
|
|
354
|
+
a unit:DimensionlessUnit ;
|
|
355
|
+
rdfs:label "pH"@en ;
|
|
356
|
+
unit:symbol "pH" ;
|
|
357
|
+
rdfs:comment "Measure of acidity/alkalinity."@en .
|
|
358
|
+
|
|
359
|
+
unit:index
|
|
360
|
+
a unit:DimensionlessUnit ;
|
|
361
|
+
rdfs:label "Index"@en ;
|
|
362
|
+
unit:symbol "" ;
|
|
363
|
+
rdfs:comment "Dimensionless index value."@en .
|
|
364
|
+
|
|
365
|
+
unit:ratio
|
|
366
|
+
a unit:DimensionlessUnit ;
|
|
367
|
+
rdfs:label "Ratio"@en ;
|
|
368
|
+
unit:symbol ":" ;
|
|
369
|
+
rdfs:comment "Ratio of two quantities."@en .
|
|
370
|
+
|
|
371
|
+
unit:refractive_index
|
|
372
|
+
a unit:DimensionlessUnit ;
|
|
373
|
+
rdfs:label "Refractive Index"@en ;
|
|
374
|
+
unit:symbol "nD" ;
|
|
375
|
+
rdfs:comment "Refractive index (dimensionless)."@en .
|
|
376
|
+
|
|
377
|
+
unit:specific_gravity
|
|
378
|
+
a unit:DimensionlessUnit ;
|
|
379
|
+
rdfs:label "Specific Gravity"@en ;
|
|
380
|
+
unit:symbol "" ;
|
|
381
|
+
rdfs:comment "Ratio of density to water (dimensionless)."@en .
|
|
382
|
+
|
|
383
|
+
# =============================================================================
|
|
384
|
+
# WAVELENGTH UNITS (for UV-Vis spectroscopy)
|
|
385
|
+
# =============================================================================
|
|
386
|
+
|
|
387
|
+
unit:nm_wavelength
|
|
388
|
+
a unit:WavelengthUnit ;
|
|
389
|
+
rdfs:label "Nanometer Wavelength"@en ;
|
|
390
|
+
unit:symbol "nm" ;
|
|
391
|
+
rdfs:comment "Wavelength in nanometers (UV-Vis spectroscopy)."@en .
|
|
392
|
+
|
|
393
|
+
unit:μm_wavelength
|
|
394
|
+
a unit:WavelengthUnit ;
|
|
395
|
+
rdfs:label "Micrometer Wavelength"@en ;
|
|
396
|
+
unit:symbol "μm" ;
|
|
397
|
+
rdfs:comment "Wavelength in micrometers (IR spectroscopy)."@en .
|
|
398
|
+
|
|
399
|
+
# =============================================================================
|
|
400
|
+
# WAVE NUMBER UNITS (for IR spectroscopy)
|
|
401
|
+
# =============================================================================
|
|
402
|
+
|
|
403
|
+
unit:cm_minus_1
|
|
404
|
+
a unit:WaveNumberUnit ;
|
|
405
|
+
rdfs:label "Reciprocal Centimeter"@en ;
|
|
406
|
+
unit:symbol "cm⁻¹" ;
|
|
407
|
+
unit:symbol "cm-1" ;
|
|
408
|
+
rdfs:comment "Wave number in reciprocal centimeters (IR spectroscopy)."@en .
|
|
409
|
+
|
|
410
|
+
# =============================================================================
|
|
411
|
+
# PRESSURE UNITS
|
|
412
|
+
# =============================================================================
|
|
413
|
+
|
|
414
|
+
unit:kPa
|
|
415
|
+
a unit:PressureUnit ;
|
|
416
|
+
rdfs:label "Kilopascal"@en ;
|
|
417
|
+
unit:symbol "kPa" ;
|
|
418
|
+
unit:siEquivalent "1000 Pa" ;
|
|
419
|
+
rdfs:comment "Pressure in kilopascals."@en .
|
|
420
|
+
|
|
421
|
+
unit:MPa
|
|
422
|
+
a unit:PressureUnit ;
|
|
423
|
+
rdfs:label "Megapascal"@en ;
|
|
424
|
+
unit:symbol "MPa" ;
|
|
425
|
+
unit:siEquivalent "1e6 Pa" ;
|
|
426
|
+
rdfs:comment "Pressure in megapascals."@en .
|
|
427
|
+
|
|
428
|
+
unit:bar
|
|
429
|
+
a unit:PressureUnit ;
|
|
430
|
+
rdfs:label "Bar"@en ;
|
|
431
|
+
unit:symbol "bar" ;
|
|
432
|
+
unit:siEquivalent "100 kPa" ;
|
|
433
|
+
rdfs:comment "Pressure in bars."@en .
|
|
434
|
+
|
|
435
|
+
unit:psi
|
|
436
|
+
a unit:PressureUnit ;
|
|
437
|
+
rdfs:label "Pounds per Square Inch"@en ;
|
|
438
|
+
unit:symbol "psi" ;
|
|
439
|
+
unit:siEquivalent "6.895 kPa" ;
|
|
440
|
+
rdfs:comment "Pressure in pounds per square inch."@en .
|
|
441
|
+
|
|
442
|
+
unit:mmHg
|
|
443
|
+
a unit:PressureUnit ;
|
|
444
|
+
rdfs:label "Millimeters of Mercury"@en ;
|
|
445
|
+
unit:symbol "mmHg" ;
|
|
446
|
+
rdfs:comment "Pressure in millimeters of mercury (torr)."@en .
|
|
447
|
+
|
|
448
|
+
# =============================================================================
|
|
449
|
+
# ROTATIONAL UNITS (optical rotation)
|
|
450
|
+
# =============================================================================
|
|
451
|
+
|
|
452
|
+
unit:deg_rotation
|
|
453
|
+
a unit:RotationalUnit ;
|
|
454
|
+
rdfs:label "Degree of Rotation"@en ;
|
|
455
|
+
unit:symbol "°" ;
|
|
456
|
+
rdfs:comment "Angular degrees for optical rotation."@en .
|
|
457
|
+
|
|
458
|
+
unit:deg_per_dm_per_g_per_mL
|
|
459
|
+
a unit:RotationalUnit ;
|
|
460
|
+
rdfs:label "Specific Rotation"@en ;
|
|
461
|
+
unit:symbol "[α]D" ;
|
|
462
|
+
rdfs:comment "Specific optical rotation (degrees per decimeter per g/mL)."@en .
|
|
463
|
+
|
|
464
|
+
# =============================================================================
|
|
465
|
+
# VISCOSITY UNITS
|
|
466
|
+
# =============================================================================
|
|
467
|
+
|
|
468
|
+
unit:mPa_s
|
|
469
|
+
a unit:ViscosityUnit ;
|
|
470
|
+
rdfs:label "Millipascal-Second"@en ;
|
|
471
|
+
unit:symbol "mPa·s" ;
|
|
472
|
+
unit:siEquivalent "1e-3 Pa·s" ;
|
|
473
|
+
rdfs:comment "Dynamic viscosity in millipascal-seconds."@en .
|
|
474
|
+
|
|
475
|
+
unit:cP
|
|
476
|
+
a unit:ViscosityUnit ;
|
|
477
|
+
rdfs:label "Centipoise"@en ;
|
|
478
|
+
unit:symbol "cP" ;
|
|
479
|
+
unit:siEquivalent "1 mPa·s" ;
|
|
480
|
+
rdfs:comment "Dynamic viscosity in centipoise."@en .
|
|
481
|
+
|
|
482
|
+
unit:mm2_per_s
|
|
483
|
+
a unit:ViscosityUnit ;
|
|
484
|
+
rdfs:label "Square Millimeter per Second"@en ;
|
|
485
|
+
unit:symbol "mm²/s" ;
|
|
486
|
+
rdfs:comment "Kinematic viscosity."@en .
|
|
487
|
+
|
|
488
|
+
unit:cSt
|
|
489
|
+
a unit:ViscosityUnit ;
|
|
490
|
+
rdfs:label "Centistoke"@en ;
|
|
491
|
+
unit:symbol "cSt" ;
|
|
492
|
+
unit:siEquivalent "1 mm²/s" ;
|
|
493
|
+
rdfs:comment "Kinematic viscosity in centistokes."@en .
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
# Open Pharmacopoeia - Chinese Pharmacopoeia (ChP) Extensions
|
|
2
|
+
#
|
|
3
|
+
# Defines extensions specific to the Chinese Pharmacopoeia, including
|
|
4
|
+
# publisher identity, type-specific monograph subclasses, and properties
|
|
5
|
+
# for ChP network-edition API fields.
|
|
6
|
+
#
|
|
7
|
+
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
|
8
|
+
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
|
9
|
+
@prefix owl: <http://www.w3.org/2002/07/owl#> .
|
|
10
|
+
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
|
11
|
+
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
|
|
12
|
+
@prefix op: <https://www.openphar.org/ontology/core/> .
|
|
13
|
+
@prefix chp: <https://www.openphar.org/ontology/publisher/chp/> .
|
|
14
|
+
|
|
15
|
+
<https://www.openphar.org/ontology/publisher/chp/>
|
|
16
|
+
a owl:Ontology ;
|
|
17
|
+
rdfs:label "Chinese Pharmacopoeia Extensions"@en ;
|
|
18
|
+
rdfs:comment "Ontology extensions specific to the Chinese Pharmacopoeia (ChP), 2020 and 2025 network editions."@en ;
|
|
19
|
+
owl:imports <https://www.openphar.org/ontology/core/> .
|
|
20
|
+
|
|
21
|
+
# =============================================================================
|
|
22
|
+
# PUBLISHER
|
|
23
|
+
# =============================================================================
|
|
24
|
+
|
|
25
|
+
<https://www.openphar.org/data/publisher/chp>
|
|
26
|
+
a op:Publisher ;
|
|
27
|
+
op:publisherCode "ChP" ;
|
|
28
|
+
rdfs:label "Chinese Pharmacopoeia Commission"@en,
|
|
29
|
+
"国家药典委员会"@zh ;
|
|
30
|
+
rdfs:seeAlso <https://www.chp.org.cn/> .
|
|
31
|
+
|
|
32
|
+
# =============================================================================
|
|
33
|
+
# CHP-SPECIFIC MONOGRAPH CLASSES
|
|
34
|
+
# Each subclasses the appropriate harmonized type so SPARQL consumers can
|
|
35
|
+
# query by either the ChP-specific or the harmonized type.
|
|
36
|
+
# =============================================================================
|
|
37
|
+
|
|
38
|
+
chp:Monograph
|
|
39
|
+
a owl:Class ;
|
|
40
|
+
rdfs:label "ChP Monograph (base)"@en ;
|
|
41
|
+
rdfs:comment "Base class for all Chinese Pharmacopoeia monographs. Carries ChP-specific identity (entryId, bookId, pageNum, etc.)."@en ;
|
|
42
|
+
rdfs:subClassOf op:Monograph .
|
|
43
|
+
|
|
44
|
+
chp:TcmCrudeDrug
|
|
45
|
+
a owl:Class ;
|
|
46
|
+
rdfs:label "ChP TCM Crude Drug"@en ;
|
|
47
|
+
rdfs:comment "TCM crude drug or decoction piece (药材和饮片), Vol I."@en ;
|
|
48
|
+
rdfs:subClassOf chp:Monograph, op:CrudeDrugMonograph .
|
|
49
|
+
|
|
50
|
+
chp:TcmExtract
|
|
51
|
+
a owl:Class ;
|
|
52
|
+
rdfs:label "ChP TCM Extract"@en ;
|
|
53
|
+
rdfs:comment "Processed plant extract or fixed oil (植物油脂和提取物), Vol I."@en ;
|
|
54
|
+
rdfs:subClassOf chp:Monograph, op:CrudeDrugMonograph .
|
|
55
|
+
|
|
56
|
+
chp:TcmFormulation
|
|
57
|
+
a owl:Class ;
|
|
58
|
+
rdfs:label "ChP TCM Formulation"@en ;
|
|
59
|
+
rdfs:comment "Classical TCM formula or single-herb preparation (成方制剂和单味制剂), Vol I."@en ;
|
|
60
|
+
rdfs:subClassOf chp:Monograph, op:FormulationMonograph .
|
|
61
|
+
|
|
62
|
+
chp:ChemicalSubstance
|
|
63
|
+
a owl:Class ;
|
|
64
|
+
rdfs:label "ChP Chemical Substance"@en ;
|
|
65
|
+
rdfs:comment "Chemical drug substance (品种正文 第一部分), Vol II."@en ;
|
|
66
|
+
rdfs:subClassOf chp:Monograph, op:ChemicalDrugMonograph .
|
|
67
|
+
|
|
68
|
+
chp:ChemicalPreparation
|
|
69
|
+
a owl:Class ;
|
|
70
|
+
rdfs:label "ChP Chemical Preparation"@en ;
|
|
71
|
+
rdfs:comment "Finished chemical drug product (品种正文 第二部分), Vol II."@en ;
|
|
72
|
+
rdfs:subClassOf chp:Monograph, op:FormulationMonograph .
|
|
73
|
+
|
|
74
|
+
chp:Biologic
|
|
75
|
+
a owl:Class ;
|
|
76
|
+
rdfs:label "ChP Biologic"@en ;
|
|
77
|
+
rdfs:comment "Biological product (生物制品), Vol III."@en ;
|
|
78
|
+
rdfs:subClassOf chp:Monograph, op:BiologicalSubstanceMonograph .
|
|
79
|
+
|
|
80
|
+
chp:GeneralChapter
|
|
81
|
+
a owl:Class ;
|
|
82
|
+
rdfs:label "ChP General Chapter"@en ;
|
|
83
|
+
rdfs:comment "General notice, general chapter, or guiding principle (通则 / 制剂通则 / 凡例 / 指导原则), Vol IV."@en ;
|
|
84
|
+
rdfs:subClassOf chp:Monograph .
|
|
85
|
+
|
|
86
|
+
# =============================================================================
|
|
87
|
+
# CHP-SPECIFIC DATATYPE PROPERTIES
|
|
88
|
+
# =============================================================================
|
|
89
|
+
|
|
90
|
+
chp:entryId
|
|
91
|
+
a owl:DatatypeProperty ;
|
|
92
|
+
rdfs:label "ChP entry ID"@en ;
|
|
93
|
+
rdfs:comment "Sequential identifier of the entry in the ChP network-edition API."@en ;
|
|
94
|
+
rdfs:domain chp:Monograph ;
|
|
95
|
+
rdfs:range xsd:integer .
|
|
96
|
+
|
|
97
|
+
chp:bookId
|
|
98
|
+
a owl:DatatypeProperty ;
|
|
99
|
+
rdfs:label "ChP book ID"@en ;
|
|
100
|
+
rdfs:comment "ChP volume number (1..4: 一部 / 二部 / 三部 / 四部)."@en ;
|
|
101
|
+
rdfs:domain chp:Monograph ;
|
|
102
|
+
rdfs:range xsd:integer .
|
|
103
|
+
|
|
104
|
+
chp:bookName
|
|
105
|
+
a owl:DatatypeProperty ;
|
|
106
|
+
rdfs:label "ChP book name"@en ;
|
|
107
|
+
rdfs:comment "Display name of the ChP volume."@en ;
|
|
108
|
+
rdfs:domain chp:Monograph ;
|
|
109
|
+
rdfs:range xsd:string .
|
|
110
|
+
|
|
111
|
+
chp:directoryId
|
|
112
|
+
a owl:DatatypeProperty ;
|
|
113
|
+
rdfs:label "ChP directory ID"@en ;
|
|
114
|
+
rdfs:comment "Identifier of the parent TOC node in the ChP network-edition API."@en ;
|
|
115
|
+
rdfs:domain chp:Monograph ;
|
|
116
|
+
rdfs:range xsd:integer .
|
|
117
|
+
|
|
118
|
+
chp:directoryTitle
|
|
119
|
+
a owl:DatatypeProperty ;
|
|
120
|
+
rdfs:label "ChP directory title"@en ;
|
|
121
|
+
rdfs:comment "Display name of the parent TOC section (e.g., 药材和饮片)."@en ;
|
|
122
|
+
rdfs:domain chp:Monograph ;
|
|
123
|
+
rdfs:range xsd:string .
|
|
124
|
+
|
|
125
|
+
chp:pinyinTitle
|
|
126
|
+
a owl:DatatypeProperty ;
|
|
127
|
+
rdfs:label "ChP pinyin title"@en ;
|
|
128
|
+
rdfs:comment "Pinyin rendering of the Chinese title."@en ;
|
|
129
|
+
rdfs:domain chp:Monograph ;
|
|
130
|
+
rdfs:range xsd:string .
|
|
131
|
+
|
|
132
|
+
chp:eTitle
|
|
133
|
+
a owl:DatatypeProperty ;
|
|
134
|
+
rdfs:label "ChP Latin/English title"@en ;
|
|
135
|
+
rdfs:comment "Latin botanical/zoological name (Vol I) or English name (Vol II–IV)."@en ;
|
|
136
|
+
rdfs:domain chp:Monograph ;
|
|
137
|
+
rdfs:range xsd:string .
|
|
138
|
+
|
|
139
|
+
chp:pageNum
|
|
140
|
+
a owl:DatatypeProperty ;
|
|
141
|
+
rdfs:label "ChP printed-edition page number"@en ;
|
|
142
|
+
rdfs:comment "Page reference in the corresponding printed ChP edition."@en ;
|
|
143
|
+
rdfs:domain chp:Monograph ;
|
|
144
|
+
rdfs:range xsd:integer .
|
|
145
|
+
|
|
146
|
+
chp:htmlContent
|
|
147
|
+
a owl:DatatypeProperty ;
|
|
148
|
+
rdfs:label "ChP HTML content"@en ;
|
|
149
|
+
rdfs:comment "Raw HTML body of the monograph as served by the network-edition API."@en ;
|
|
150
|
+
rdfs:domain chp:Monograph ;
|
|
151
|
+
rdfs:range xsd:string .
|
|
152
|
+
|
|
153
|
+
chp:partTitle
|
|
154
|
+
a owl:DatatypeProperty ;
|
|
155
|
+
rdfs:label "ChP part titles"@en ;
|
|
156
|
+
rdfs:comment "Ordered list of section names (e.g., 性状, 鉴别, 检查)."@en ;
|
|
157
|
+
rdfs:domain chp:Monograph ;
|
|
158
|
+
rdfs:range xsd:string .
|
|
159
|
+
|
|
160
|
+
chp:visitCount
|
|
161
|
+
a owl:DatatypeProperty ;
|
|
162
|
+
rdfs:label "ChP visit count"@en ;
|
|
163
|
+
rdfs:comment "Page-view counter from the network-edition API."@en ;
|
|
164
|
+
rdfs:domain chp:Monograph ;
|
|
165
|
+
rdfs:range xsd:integer .
|
|
166
|
+
|
|
167
|
+
# =============================================================================
|
|
168
|
+
# CHP EDITIONS
|
|
169
|
+
# =============================================================================
|
|
170
|
+
|
|
171
|
+
<https://www.openphar.org/data/edition/chp-2025>
|
|
172
|
+
a op:Edition ;
|
|
173
|
+
op:publisherCode "ChP" ;
|
|
174
|
+
op:editionNumber "2025" ;
|
|
175
|
+
op:editionLabel "Chinese Pharmacopoeia 2025 edition (12th)"@en,
|
|
176
|
+
"中华人民共和国药典 2025年版"@zh ;
|
|
177
|
+
op:effectiveDate "2025-10-01"^^xsd:date ;
|
|
178
|
+
rdfs:seeAlso <https://2025.chp.org.cn/> .
|
|
179
|
+
|
|
180
|
+
<https://www.openphar.org/data/edition/chp-2020>
|
|
181
|
+
a op:Edition ;
|
|
182
|
+
op:publisherCode "ChP" ;
|
|
183
|
+
op:editionNumber "2020" ;
|
|
184
|
+
op:editionLabel "Chinese Pharmacopoeia 2020 edition (11th)"@en,
|
|
185
|
+
"中华人民共和国药典 2020年版"@zh ;
|
|
186
|
+
rdfs:seeAlso <https://ydz.chp.org.cn/> .
|