cocina-models 0.75.0 → 0.76.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +40 -12
- data/.rubocop_todo.yml +71 -2
- data/README.md +10 -3
- data/cocina-models.gemspec +2 -0
- data/description_types.yml +165 -38
- data/docs/description_types.md +469 -216
- data/lib/cocina/generator/generator.rb +7 -12
- data/lib/cocina/generator/schema.rb +1 -3
- data/lib/cocina/generator/schema_base.rb +0 -8
- data/lib/cocina/generator/schema_ref.rb +1 -1
- data/lib/cocina/generator/schema_value.rb +14 -4
- data/lib/cocina/models/access.rb +4 -4
- data/lib/cocina/models/admin_policy.rb +1 -1
- data/lib/cocina/models/admin_policy_access_template.rb +7 -7
- data/lib/cocina/models/admin_policy_administrative.rb +1 -1
- data/lib/cocina/models/admin_policy_with_metadata.rb +3 -3
- data/lib/cocina/models/builders/name_title_group_builder.rb +0 -4
- data/lib/cocina/models/builders/title_builder.rb +0 -2
- data/lib/cocina/models/citation_only_access.rb +2 -2
- data/lib/cocina/models/collection_access.rb +4 -4
- data/lib/cocina/models/collection_identification.rb +1 -1
- data/lib/cocina/models/collection_with_metadata.rb +2 -2
- data/lib/cocina/models/contributor.rb +4 -4
- data/lib/cocina/models/controlled_digital_lending_access.rb +2 -2
- data/lib/cocina/models/dark_access.rb +4 -4
- data/lib/cocina/models/description.rb +3 -3
- data/lib/cocina/models/descriptive_basic_value.rb +13 -13
- data/lib/cocina/models/descriptive_parallel_contributor.rb +5 -5
- data/lib/cocina/models/descriptive_parallel_event.rb +3 -3
- data/lib/cocina/models/descriptive_value.rb +13 -13
- data/lib/cocina/models/descriptive_value_language.rb +6 -6
- data/lib/cocina/models/dro.rb +1 -1
- data/lib/cocina/models/dro_access.rb +8 -8
- data/lib/cocina/models/dro_with_metadata.rb +3 -3
- data/lib/cocina/models/embargo.rb +5 -5
- data/lib/cocina/models/event.rb +3 -3
- data/lib/cocina/models/file.rb +4 -4
- data/lib/cocina/models/file_access.rb +4 -4
- data/lib/cocina/models/identification.rb +2 -2
- data/lib/cocina/models/language.rb +12 -12
- data/lib/cocina/models/location_based_access.rb +1 -1
- data/lib/cocina/models/location_based_download_access.rb +1 -1
- data/lib/cocina/models/mapping/error_notifier.rb +36 -0
- data/lib/cocina/models/mapping/from_mods/access.rb +177 -0
- data/lib/cocina/models/mapping/from_mods/admin_metadata.rb +217 -0
- data/lib/cocina/models/mapping/from_mods/alt_rep_group.rb +26 -0
- data/lib/cocina/models/mapping/from_mods/authority.rb +51 -0
- data/lib/cocina/models/mapping/from_mods/contributor.rb +161 -0
- data/lib/cocina/models/mapping/from_mods/description.rb +99 -0
- data/lib/cocina/models/mapping/from_mods/description_builder.rb +61 -0
- data/lib/cocina/models/mapping/from_mods/event.rb +543 -0
- data/lib/cocina/models/mapping/from_mods/form.rb +381 -0
- data/lib/cocina/models/mapping/from_mods/geographic.rb +219 -0
- data/lib/cocina/models/mapping/from_mods/hydrus_default_title_builder.rb +28 -0
- data/lib/cocina/models/mapping/from_mods/identifier.rb +51 -0
- data/lib/cocina/models/mapping/from_mods/identifier_builder.rb +71 -0
- data/lib/cocina/models/mapping/from_mods/identifier_type.rb +292 -0
- data/lib/cocina/models/mapping/from_mods/language.rb +36 -0
- data/lib/cocina/models/mapping/from_mods/language_script.rb +30 -0
- data/lib/cocina/models/mapping/from_mods/language_term.rb +106 -0
- data/lib/cocina/models/mapping/from_mods/name_builder.rb +307 -0
- data/lib/cocina/models/mapping/from_mods/note.rb +162 -0
- data/lib/cocina/models/mapping/from_mods/part_builder.rb +147 -0
- data/lib/cocina/models/mapping/from_mods/primary.rb +27 -0
- data/lib/cocina/models/mapping/from_mods/purl.rb +53 -0
- data/lib/cocina/models/mapping/from_mods/related_resource.rb +105 -0
- data/lib/cocina/models/mapping/from_mods/subject.rb +413 -0
- data/lib/cocina/models/mapping/from_mods/subject_authority_codes.rb +794 -0
- data/lib/cocina/models/mapping/from_mods/title.rb +160 -0
- data/lib/cocina/models/mapping/from_mods/title_builder.rb +106 -0
- data/lib/cocina/models/mapping/from_mods/title_builder_strategy.rb +19 -0
- data/lib/cocina/models/mapping/from_mods/value_uri.rb +25 -0
- data/lib/cocina/models/mapping/normalizers/base.rb +16 -0
- data/lib/cocina/models/mapping/normalizers/mods/geo_extension_normalizer.rb +69 -0
- data/lib/cocina/models/mapping/normalizers/mods/name_normalizer.rb +191 -0
- data/lib/cocina/models/mapping/normalizers/mods/origin_info_normalizer.rb +157 -0
- data/lib/cocina/models/mapping/normalizers/mods/subject_normalizer.rb +296 -0
- data/lib/cocina/models/mapping/normalizers/mods/title_normalizer.rb +91 -0
- data/lib/cocina/models/mapping/normalizers/mods_normalizer.rb +409 -0
- data/lib/cocina/models/mapping/purl.rb +28 -0
- data/lib/cocina/models/mapping/to_mods/access.rb +155 -0
- data/lib/cocina/models/mapping/to_mods/admin_metadata.rb +129 -0
- data/lib/cocina/models/mapping/to_mods/contributor.rb +49 -0
- data/lib/cocina/models/mapping/to_mods/description.rb +63 -0
- data/lib/cocina/models/mapping/to_mods/event.rb +200 -0
- data/lib/cocina/models/mapping/to_mods/form.rb +292 -0
- data/lib/cocina/models/mapping/to_mods/geographic.rb +151 -0
- data/lib/cocina/models/mapping/to_mods/id_generator.rb +25 -0
- data/lib/cocina/models/mapping/to_mods/identifier.rb +57 -0
- data/lib/cocina/models/mapping/to_mods/language.rb +82 -0
- data/lib/cocina/models/mapping/to_mods/mods_writer.rb +38 -0
- data/lib/cocina/models/mapping/to_mods/name_title_group.rb +29 -0
- data/lib/cocina/models/mapping/to_mods/name_writer.rb +228 -0
- data/lib/cocina/models/mapping/to_mods/note.rb +105 -0
- data/lib/cocina/models/mapping/to_mods/part_writer.rb +115 -0
- data/lib/cocina/models/mapping/to_mods/related_resource.rb +108 -0
- data/lib/cocina/models/mapping/to_mods/role_writer.rb +50 -0
- data/lib/cocina/models/mapping/to_mods/subject.rb +486 -0
- data/lib/cocina/models/mapping/to_mods/title.rb +260 -0
- data/lib/cocina/models/object_metadata.rb +2 -2
- data/lib/cocina/models/presentation.rb +2 -2
- data/lib/cocina/models/related_resource.rb +9 -9
- data/lib/cocina/models/release_tag.rb +4 -4
- data/lib/cocina/models/request_admin_policy.rb +1 -1
- data/lib/cocina/models/request_administrative.rb +1 -1
- data/lib/cocina/models/request_collection.rb +2 -2
- data/lib/cocina/models/request_description.rb +3 -3
- data/lib/cocina/models/request_dro.rb +4 -4
- data/lib/cocina/models/request_file.rb +5 -5
- data/lib/cocina/models/request_identification.rb +1 -1
- data/lib/cocina/models/sequence.rb +1 -1
- data/lib/cocina/models/source.rb +4 -4
- data/lib/cocina/models/standard.rb +5 -5
- data/lib/cocina/models/stanford_access.rb +2 -2
- data/lib/cocina/models/title.rb +13 -13
- data/lib/cocina/models/validators/dark_validator.rb +4 -2
- data/lib/cocina/models/validators/open_api_validator.rb +0 -4
- data/lib/cocina/models/version.rb +1 -1
- data/lib/cocina/models/world_access.rb +2 -2
- data/lib/cocina/models.rb +4 -0
- data/lib/cocina/rspec/factories.rb +157 -0
- data/lib/cocina/rspec.rb +2 -0
- data/openapi.yml +4 -4
- metadata +88 -3
- data/docs/_config.yml +0 -1
@@ -0,0 +1,794 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# rubocop:disable Metrics/ClassLength
|
4
|
+
module Cocina
|
5
|
+
module Models
|
6
|
+
module Mapping
|
7
|
+
module FromMods
|
8
|
+
# Helper class - provides subject authority codes
|
9
|
+
class SubjectAuthorityCodes
|
10
|
+
# Subject codes: https://id.loc.gov/vocabulary/subjectSchemes.html
|
11
|
+
# curl https://id.loc.gov/vocabulary/subjectSchemes.madsrdf.json | jq '[.[0]."http://www.loc.gov/mads/rdf/v1#hasMADSSchemeMember"[]."@id"[44:]]'
|
12
|
+
SUBJECT_CODES = %w[
|
13
|
+
quiding
|
14
|
+
trt
|
15
|
+
dissao
|
16
|
+
kaunokki
|
17
|
+
mpirdes
|
18
|
+
erfemn
|
19
|
+
mech
|
20
|
+
gtt
|
21
|
+
msc
|
22
|
+
sbiao
|
23
|
+
tero
|
24
|
+
noraf
|
25
|
+
shsples
|
26
|
+
trtsa
|
27
|
+
aiatsisp
|
28
|
+
cstud
|
29
|
+
ica
|
30
|
+
lcsh
|
31
|
+
local
|
32
|
+
mero
|
33
|
+
dbn
|
34
|
+
ilpt
|
35
|
+
nalnaf
|
36
|
+
tips
|
37
|
+
kassu
|
38
|
+
bella
|
39
|
+
aktp
|
40
|
+
dcs
|
41
|
+
noubomn
|
42
|
+
unescot
|
43
|
+
muzeukc
|
44
|
+
czenas
|
45
|
+
cht
|
46
|
+
biccbmc
|
47
|
+
csalsct
|
48
|
+
blnpn
|
49
|
+
fnhl
|
50
|
+
galestne
|
51
|
+
odlt
|
52
|
+
dtict
|
53
|
+
blmlsh
|
54
|
+
lemb
|
55
|
+
dltlt
|
56
|
+
idszbzna
|
57
|
+
lcac
|
58
|
+
msh
|
59
|
+
muzeukn
|
60
|
+
ntissc
|
61
|
+
shbe
|
62
|
+
kaa
|
63
|
+
she
|
64
|
+
nznb
|
65
|
+
apaist
|
66
|
+
socio
|
67
|
+
fast
|
68
|
+
ipat
|
69
|
+
qrma
|
70
|
+
rugeo
|
71
|
+
stw
|
72
|
+
pmcsg
|
73
|
+
bib1814
|
74
|
+
rma
|
75
|
+
kubikat
|
76
|
+
rswk
|
77
|
+
jlabsh
|
78
|
+
unescot
|
79
|
+
inspect
|
80
|
+
kupu
|
81
|
+
aass
|
82
|
+
drama
|
83
|
+
lnmmbr
|
84
|
+
isis
|
85
|
+
ogst
|
86
|
+
eurovocsl
|
87
|
+
vmj
|
88
|
+
nicem
|
89
|
+
bhammf
|
90
|
+
henn
|
91
|
+
abne
|
92
|
+
nlgaf
|
93
|
+
afo
|
94
|
+
tekord
|
95
|
+
cilla
|
96
|
+
pleiades
|
97
|
+
czmesh
|
98
|
+
sgce
|
99
|
+
watrest
|
100
|
+
ated
|
101
|
+
csht
|
102
|
+
gnis
|
103
|
+
netc
|
104
|
+
gcipplatform
|
105
|
+
wot
|
106
|
+
ibsen
|
107
|
+
tucua
|
108
|
+
ukslc
|
109
|
+
ashlnl
|
110
|
+
swemesh
|
111
|
+
emnmus
|
112
|
+
lua
|
113
|
+
ept
|
114
|
+
no-ubo-mr
|
115
|
+
reo
|
116
|
+
nbiemnfag
|
117
|
+
pkk
|
118
|
+
scgdst
|
119
|
+
homoit
|
120
|
+
sthus
|
121
|
+
hamsun
|
122
|
+
juho
|
123
|
+
kulo
|
124
|
+
kupu
|
125
|
+
samisk
|
126
|
+
ulan
|
127
|
+
sears
|
128
|
+
poliscit
|
129
|
+
atg
|
130
|
+
itglit
|
131
|
+
aucsh
|
132
|
+
cct
|
133
|
+
bicssc
|
134
|
+
icpsr
|
135
|
+
tbjvp
|
136
|
+
norbok
|
137
|
+
nimacsc
|
138
|
+
asft
|
139
|
+
kta
|
140
|
+
mtirdes
|
141
|
+
rpe
|
142
|
+
taxhs
|
143
|
+
taika
|
144
|
+
collett
|
145
|
+
tlsh
|
146
|
+
tha
|
147
|
+
hlasstg
|
148
|
+
sbt
|
149
|
+
hoidokki
|
150
|
+
bisacrt
|
151
|
+
unescot
|
152
|
+
asth
|
153
|
+
solstad
|
154
|
+
csh
|
155
|
+
noubojur
|
156
|
+
bt
|
157
|
+
francis
|
158
|
+
asrcrfcd
|
159
|
+
lapponica
|
160
|
+
rerovoc
|
161
|
+
unbisn
|
162
|
+
barn
|
163
|
+
hapi
|
164
|
+
iest
|
165
|
+
kssbar
|
166
|
+
musa
|
167
|
+
rurkp
|
168
|
+
spines
|
169
|
+
renib
|
170
|
+
aucsh
|
171
|
+
iescs
|
172
|
+
tisa
|
173
|
+
idszbzes
|
174
|
+
popinte
|
175
|
+
pmbok
|
176
|
+
usaidt
|
177
|
+
finmesh
|
178
|
+
gccst
|
179
|
+
csahssa
|
180
|
+
kdm
|
181
|
+
jupo
|
182
|
+
gem
|
183
|
+
sk
|
184
|
+
eet
|
185
|
+
agrifors
|
186
|
+
cash
|
187
|
+
kkts
|
188
|
+
liito
|
189
|
+
cctf
|
190
|
+
eum
|
191
|
+
rero
|
192
|
+
skon
|
193
|
+
tsr
|
194
|
+
eurovocfr
|
195
|
+
mipfesd
|
196
|
+
koko
|
197
|
+
lcdgt
|
198
|
+
muso
|
199
|
+
fire
|
200
|
+
cabt
|
201
|
+
georeft
|
202
|
+
sgc
|
203
|
+
dcs
|
204
|
+
fmesh
|
205
|
+
smda
|
206
|
+
ndlsh
|
207
|
+
ttka
|
208
|
+
afset
|
209
|
+
ttll
|
210
|
+
mmm
|
211
|
+
scisshl
|
212
|
+
ddcri
|
213
|
+
ericd
|
214
|
+
idszbz
|
215
|
+
umitrist
|
216
|
+
ddcut
|
217
|
+
ceeus
|
218
|
+
czenas
|
219
|
+
embne
|
220
|
+
hrvmesh
|
221
|
+
kauno
|
222
|
+
samisk
|
223
|
+
itrt
|
224
|
+
aat
|
225
|
+
kao
|
226
|
+
maaq
|
227
|
+
rswkaf
|
228
|
+
slem
|
229
|
+
bhb
|
230
|
+
bokbas
|
231
|
+
aiatsisl
|
232
|
+
gst
|
233
|
+
idszbzzg
|
234
|
+
maotao
|
235
|
+
nsbncf
|
236
|
+
francis
|
237
|
+
ntcpsc
|
238
|
+
ltcsh
|
239
|
+
reo
|
240
|
+
test
|
241
|
+
tho
|
242
|
+
huc
|
243
|
+
waqaf
|
244
|
+
hkcan
|
245
|
+
asrctoa
|
246
|
+
ept
|
247
|
+
ddcrit
|
248
|
+
nasat
|
249
|
+
lacnaf
|
250
|
+
conorsi
|
251
|
+
idas
|
252
|
+
nbdbt
|
253
|
+
swd
|
254
|
+
asrcseo
|
255
|
+
opms
|
256
|
+
muzvukci
|
257
|
+
cct
|
258
|
+
udc
|
259
|
+
peri
|
260
|
+
idszbzzh
|
261
|
+
chirosh
|
262
|
+
liv
|
263
|
+
rpe
|
264
|
+
sipri
|
265
|
+
geonet
|
266
|
+
bjornson
|
267
|
+
tgn
|
268
|
+
bidex
|
269
|
+
allars
|
270
|
+
eclas
|
271
|
+
eflch
|
272
|
+
idszbzzk
|
273
|
+
dit
|
274
|
+
lcstt
|
275
|
+
mar
|
276
|
+
masa
|
277
|
+
pascal
|
278
|
+
jlabsh
|
279
|
+
kito
|
280
|
+
lctgm
|
281
|
+
ccte
|
282
|
+
bisacmt
|
283
|
+
pepp
|
284
|
+
eurovocen
|
285
|
+
gnd
|
286
|
+
agrovocf
|
287
|
+
pmont
|
288
|
+
pmt
|
289
|
+
psychit
|
290
|
+
qlsp
|
291
|
+
ram
|
292
|
+
scbi
|
293
|
+
ntids
|
294
|
+
ebfem
|
295
|
+
lemac
|
296
|
+
sgc
|
297
|
+
snt
|
298
|
+
ccsa
|
299
|
+
bet
|
300
|
+
unbist
|
301
|
+
dcs
|
302
|
+
puho
|
303
|
+
ktpt
|
304
|
+
sao
|
305
|
+
swemesh
|
306
|
+
dbn
|
307
|
+
fes
|
308
|
+
vcaadu
|
309
|
+
ndlsh
|
310
|
+
tsht
|
311
|
+
ntcsd
|
312
|
+
jhpk
|
313
|
+
wgst
|
314
|
+
tlka
|
315
|
+
jurivoc
|
316
|
+
nlgkk
|
317
|
+
inist
|
318
|
+
rvmgd
|
319
|
+
bhashe
|
320
|
+
yso
|
321
|
+
naf
|
322
|
+
nzggn
|
323
|
+
sfit
|
324
|
+
thub
|
325
|
+
atla
|
326
|
+
tesa
|
327
|
+
dltt
|
328
|
+
gcipmedia
|
329
|
+
larpcal
|
330
|
+
lcshac
|
331
|
+
ncjt
|
332
|
+
kitu
|
333
|
+
ssg
|
334
|
+
nal
|
335
|
+
ktta
|
336
|
+
thesoz
|
337
|
+
wpicsh
|
338
|
+
ordnok
|
339
|
+
est
|
340
|
+
bisacsh
|
341
|
+
csapa
|
342
|
+
kto
|
343
|
+
ciesiniv
|
344
|
+
precis
|
345
|
+
sanb
|
346
|
+
vffyl
|
347
|
+
eks
|
348
|
+
aiatsiss
|
349
|
+
kula
|
350
|
+
rvm
|
351
|
+
tasmas
|
352
|
+
pha
|
353
|
+
humord
|
354
|
+
qtglit
|
355
|
+
idsbb
|
356
|
+
rasuqam
|
357
|
+
scot
|
358
|
+
cdcng
|
359
|
+
sigle
|
360
|
+
sosa
|
361
|
+
nskps
|
362
|
+
stw
|
363
|
+
aedoml
|
364
|
+
jhpb
|
365
|
+
noram
|
366
|
+
agrovocs
|
367
|
+
ysa
|
368
|
+
fssh
|
369
|
+
agrovoc
|
370
|
+
qrmak
|
371
|
+
blcpss
|
372
|
+
mesh
|
373
|
+
albt
|
374
|
+
khib
|
375
|
+
nlgsh
|
376
|
+
pascal
|
377
|
+
prvt
|
378
|
+
qrma
|
379
|
+
nlmnaf
|
380
|
+
ipsp
|
381
|
+
helecon
|
382
|
+
bibalex
|
383
|
+
valo
|
384
|
+
].freeze
|
385
|
+
|
386
|
+
# Classification codes: https://id.loc.gov/vocabulary/classSchemes.html
|
387
|
+
# curl https://id.loc.gov/vocabulary/classSchemes.madsrdf.json | jq '[.[0]."http://www.loc.gov/mads/rdf/v1#hasMADSSchemeMember"[]."@id"[42:]]'
|
388
|
+
CLASSIFICATION_CODES = [
|
389
|
+
'cadocs',
|
390
|
+
'bliss',
|
391
|
+
'nlm',
|
392
|
+
'msdocs',
|
393
|
+
'ddc9',
|
394
|
+
'rubbkm',
|
395
|
+
'no-ujur-cnip',
|
396
|
+
'ddc14',
|
397
|
+
'codocs',
|
398
|
+
'ddc17',
|
399
|
+
'mpilcs',
|
400
|
+
'rubbk',
|
401
|
+
'rugasnti',
|
402
|
+
'skb',
|
403
|
+
'sswd',
|
404
|
+
'stub',
|
405
|
+
'cstud',
|
406
|
+
'undocs',
|
407
|
+
'zdbs',
|
408
|
+
'fldocs',
|
409
|
+
'cutterec',
|
410
|
+
'iadocs',
|
411
|
+
'ddc11',
|
412
|
+
'cslj',
|
413
|
+
'loovs',
|
414
|
+
'veera',
|
415
|
+
'ardocs',
|
416
|
+
'acmccs',
|
417
|
+
'ddc6',
|
418
|
+
'vsiso',
|
419
|
+
'ohdocs',
|
420
|
+
'rich',
|
421
|
+
'ddc22',
|
422
|
+
'ladocs',
|
423
|
+
'blsrissc',
|
424
|
+
'ddc3',
|
425
|
+
'sudocs',
|
426
|
+
'mpkkl',
|
427
|
+
'ykl',
|
428
|
+
'swank',
|
429
|
+
'rilm',
|
430
|
+
'celex',
|
431
|
+
'rpb',
|
432
|
+
'dopaed',
|
433
|
+
'cacodoc',
|
434
|
+
'fiaf',
|
435
|
+
'kktb',
|
436
|
+
'kuvacs',
|
437
|
+
'nydocs',
|
438
|
+
'txdocs',
|
439
|
+
'utklklass',
|
440
|
+
'no-ujur-cmr',
|
441
|
+
'ddc7',
|
442
|
+
'rubbknp',
|
443
|
+
'inspec',
|
444
|
+
'ridocs',
|
445
|
+
'udc',
|
446
|
+
'nicem',
|
447
|
+
'kfmod',
|
448
|
+
'frtav',
|
449
|
+
'ddc4',
|
450
|
+
'no-ureal-cb',
|
451
|
+
'rswk',
|
452
|
+
'usgslcs',
|
453
|
+
'ddc23',
|
454
|
+
'teatkl',
|
455
|
+
'nwbib',
|
456
|
+
'bar',
|
457
|
+
'accs',
|
458
|
+
'farl',
|
459
|
+
'rubbks',
|
460
|
+
'widocs',
|
461
|
+
'ddc1',
|
462
|
+
'lcc',
|
463
|
+
'rubbkk',
|
464
|
+
'suaslc',
|
465
|
+
'ddc20',
|
466
|
+
'midocs',
|
467
|
+
'azdocs',
|
468
|
+
'ncdocs',
|
469
|
+
'cddir',
|
470
|
+
'msc',
|
471
|
+
'niv',
|
472
|
+
'agrissc',
|
473
|
+
'fcps',
|
474
|
+
'nvdocs',
|
475
|
+
'z',
|
476
|
+
'okdocs',
|
477
|
+
'utk',
|
478
|
+
'agricola',
|
479
|
+
'ddc2',
|
480
|
+
'ddc21',
|
481
|
+
'ifzs',
|
482
|
+
'sbb',
|
483
|
+
'upsylon',
|
484
|
+
'utdocs',
|
485
|
+
'ipc',
|
486
|
+
'uef',
|
487
|
+
'chfbn',
|
488
|
+
'tykoma',
|
489
|
+
'jelc',
|
490
|
+
'anscr',
|
491
|
+
'rubbkmv',
|
492
|
+
'clutscny',
|
493
|
+
'ddc',
|
494
|
+
'rubbkd',
|
495
|
+
'nasasscg',
|
496
|
+
'nhcp',
|
497
|
+
'bcmc',
|
498
|
+
'ddc18',
|
499
|
+
'bcl',
|
500
|
+
'oosk',
|
501
|
+
'gfdc',
|
502
|
+
'kssb',
|
503
|
+
'no-ureal-cg',
|
504
|
+
'laclaw',
|
505
|
+
'siso',
|
506
|
+
'rubbkn',
|
507
|
+
'rueskl',
|
508
|
+
'gadocs',
|
509
|
+
'ddc12',
|
510
|
+
'bkl',
|
511
|
+
'ccpgq',
|
512
|
+
'finagri',
|
513
|
+
'no-ureal-ca',
|
514
|
+
'ordocs',
|
515
|
+
'ddc15',
|
516
|
+
'rvk',
|
517
|
+
'egedeklass',
|
518
|
+
'ncsclt',
|
519
|
+
'methepp',
|
520
|
+
'sfb',
|
521
|
+
'noterlyd',
|
522
|
+
'pssppbkj',
|
523
|
+
'ssd',
|
524
|
+
'bisacsh',
|
525
|
+
'taykl',
|
526
|
+
'kab',
|
527
|
+
'misklass',
|
528
|
+
'flarch',
|
529
|
+
'mmlcc',
|
530
|
+
'nmdocs',
|
531
|
+
'wydocs',
|
532
|
+
'pim',
|
533
|
+
'farma',
|
534
|
+
'nbdocs',
|
535
|
+
'ddc16',
|
536
|
+
'blissc',
|
537
|
+
'sddocs',
|
538
|
+
'modocs',
|
539
|
+
'rubbko',
|
540
|
+
'scdocs',
|
541
|
+
'asb',
|
542
|
+
'smm',
|
543
|
+
'ssgn',
|
544
|
+
'utklklassex',
|
545
|
+
'naics',
|
546
|
+
'knt',
|
547
|
+
'ekl',
|
548
|
+
'siblcs',
|
549
|
+
'ddc13',
|
550
|
+
'clc',
|
551
|
+
'taikclas',
|
552
|
+
'ddc8',
|
553
|
+
'njb',
|
554
|
+
'sdnb',
|
555
|
+
'ksdocs',
|
556
|
+
'ghbs',
|
557
|
+
'fid',
|
558
|
+
'padocs',
|
559
|
+
'mu',
|
560
|
+
'wadocs',
|
561
|
+
'moys',
|
562
|
+
'ddc19',
|
563
|
+
'mf-klass',
|
564
|
+
'ivdcc',
|
565
|
+
'ddc5',
|
566
|
+
'ics',
|
567
|
+
'ddc10',
|
568
|
+
'ubtkl/2'
|
569
|
+
].freeze
|
570
|
+
|
571
|
+
# Genre codes: https://id.loc.gov/vocabulary/genreFormSchemes.html
|
572
|
+
# curl https://id.loc.gov/vocabulary/genreFormSchemes.madsrdf.json | jq '[.[0]."http://www.loc.gov/mads/rdf/v1#hasMADSSchemeMember"[]."@id"[46:]]'
|
573
|
+
GENRE_CODES = %w[
|
574
|
+
bgtchm
|
575
|
+
rbpub
|
576
|
+
ftamc
|
577
|
+
tgfbne
|
578
|
+
rbpap
|
579
|
+
saogf
|
580
|
+
rvmgf
|
581
|
+
rbgenr
|
582
|
+
rdacontent
|
583
|
+
gnd-content
|
584
|
+
estc
|
585
|
+
rbprov
|
586
|
+
sgp
|
587
|
+
radfg
|
588
|
+
alett
|
589
|
+
nimafc
|
590
|
+
lobt
|
591
|
+
rbmscv
|
592
|
+
barngf
|
593
|
+
gnd-music
|
594
|
+
nmc
|
595
|
+
cjh
|
596
|
+
fgtpcm
|
597
|
+
fbg
|
598
|
+
gnd-carrier
|
599
|
+
reveal
|
600
|
+
nbdbgf
|
601
|
+
marcgt
|
602
|
+
gsafd
|
603
|
+
nzcoh
|
604
|
+
gmd
|
605
|
+
isbdcontent
|
606
|
+
gmgpc
|
607
|
+
amg
|
608
|
+
marcform
|
609
|
+
ngl
|
610
|
+
rbbin
|
611
|
+
gtlm
|
612
|
+
marccategory
|
613
|
+
marcsmd
|
614
|
+
dct
|
615
|
+
proysen
|
616
|
+
rbpri
|
617
|
+
gatbeg
|
618
|
+
rdamedia
|
619
|
+
mim
|
620
|
+
rbtyp
|
621
|
+
muzeukv
|
622
|
+
isbdmedia
|
623
|
+
gnd
|
624
|
+
lcgft
|
625
|
+
rdacarrier
|
626
|
+
migfg
|
627
|
+
].freeze
|
628
|
+
|
629
|
+
# Name-title codes: https://id.loc.gov/vocabulary/nameTitleSchemes.html
|
630
|
+
# curl https://id.loc.gov/vocabulary/nameTitleSchemes.madsrdf.json | jq '[.[0]."http://www.loc.gov/mads/rdf/v1#hasMADSSchemeMember"[]."@id"[46:]]'
|
631
|
+
NAME_TITLE_CODES = %w[
|
632
|
+
hkcan
|
633
|
+
nliaf
|
634
|
+
bnfaf
|
635
|
+
conorsi
|
636
|
+
gnd
|
637
|
+
sanb
|
638
|
+
hapi
|
639
|
+
gkd
|
640
|
+
unbisn
|
641
|
+
ckhw
|
642
|
+
lacnaf
|
643
|
+
nznb
|
644
|
+
banqa
|
645
|
+
iconauth
|
646
|
+
cantic
|
647
|
+
nta
|
648
|
+
naf
|
649
|
+
cerit
|
650
|
+
bibalex
|
651
|
+
ccucaut
|
652
|
+
abne
|
653
|
+
bibbi
|
654
|
+
nalnaf
|
655
|
+
ulan
|
656
|
+
sucnsaf
|
657
|
+
fautor
|
658
|
+
nlmnaf
|
659
|
+
finaf
|
660
|
+
].freeze
|
661
|
+
|
662
|
+
# Cartographic codes: http://www.loc.gov/standards/sourcelist/cartographic-data.html
|
663
|
+
CARTOGRAPHIC_CODES = %w[
|
664
|
+
aadcg
|
665
|
+
acgms
|
666
|
+
ahcb
|
667
|
+
bcgnis
|
668
|
+
bnlq
|
669
|
+
bound
|
670
|
+
cbf
|
671
|
+
cga
|
672
|
+
cgndb
|
673
|
+
cgotw
|
674
|
+
csa
|
675
|
+
cwg
|
676
|
+
darome
|
677
|
+
dkcaw
|
678
|
+
edm
|
679
|
+
erpn
|
680
|
+
esriarc
|
681
|
+
fnib
|
682
|
+
gbos
|
683
|
+
geoapn
|
684
|
+
geobase
|
685
|
+
geogndb
|
686
|
+
geonames
|
687
|
+
geonet
|
688
|
+
gettytgn
|
689
|
+
ghpn
|
690
|
+
glogaz
|
691
|
+
gnis
|
692
|
+
gnrnsw
|
693
|
+
gnt
|
694
|
+
goj
|
695
|
+
gooearth
|
696
|
+
gpn
|
697
|
+
gufn
|
698
|
+
inmun
|
699
|
+
knab
|
700
|
+
lwip
|
701
|
+
mapland
|
702
|
+
margaz
|
703
|
+
mwgd
|
704
|
+
natmap
|
705
|
+
nlaci
|
706
|
+
nsgn
|
707
|
+
ntpnr
|
708
|
+
nws
|
709
|
+
nzggn
|
710
|
+
nzpnd
|
711
|
+
other
|
712
|
+
peakbag
|
713
|
+
pnosa
|
714
|
+
pleiades
|
715
|
+
pwme
|
716
|
+
qpns
|
717
|
+
rsd
|
718
|
+
sagns
|
719
|
+
taw
|
720
|
+
usdp
|
721
|
+
volwrld
|
722
|
+
vow
|
723
|
+
wdpa
|
724
|
+
wfbcia
|
725
|
+
whl
|
726
|
+
wikiped
|
727
|
+
wld
|
728
|
+
wpntpl
|
729
|
+
].freeze
|
730
|
+
|
731
|
+
# Occupation codes: http://www.loc.gov/standards/sourcelist/occupation.html
|
732
|
+
OCCUPATION_CODES = %w[
|
733
|
+
dot
|
734
|
+
iaat
|
735
|
+
ilot
|
736
|
+
itoamc
|
737
|
+
lcdgt
|
738
|
+
onet
|
739
|
+
ooh
|
740
|
+
oscroc
|
741
|
+
raam
|
742
|
+
rvmgd
|
743
|
+
tbit
|
744
|
+
toit
|
745
|
+
trot
|
746
|
+
].freeze
|
747
|
+
|
748
|
+
# Country codes: http://www.loc.gov/standards/sourcelist/country.html
|
749
|
+
COUNTRY_CODES = %w[
|
750
|
+
marccountry
|
751
|
+
iso3166
|
752
|
+
iso3166-1
|
753
|
+
iso3166-2
|
754
|
+
].freeze
|
755
|
+
|
756
|
+
# Geographic codes: http://www.loc.gov/standards/sourcelist/geographic-area.html
|
757
|
+
GEOGRAPHIC_CODES = %w[
|
758
|
+
cagraq
|
759
|
+
ccga
|
760
|
+
marcgac
|
761
|
+
].freeze
|
762
|
+
|
763
|
+
ISO_CODES = %w[
|
764
|
+
ISO19115TopicCategory
|
765
|
+
iso639-2b
|
766
|
+
iso639-3
|
767
|
+
].freeze
|
768
|
+
|
769
|
+
MARC_CODES = %w[
|
770
|
+
marcfrequency
|
771
|
+
marcorg
|
772
|
+
marcrelator
|
773
|
+
marctarget
|
774
|
+
].freeze
|
775
|
+
|
776
|
+
PARKER = %w[
|
777
|
+
Corpus Christi College
|
778
|
+
James Catalog
|
779
|
+
].freeze
|
780
|
+
|
781
|
+
OTHER_CODES = %w[
|
782
|
+
wikidata
|
783
|
+
EPSG
|
784
|
+
].freeze
|
785
|
+
|
786
|
+
SUBJECT_AUTHORITY_CODES = SUBJECT_CODES + CLASSIFICATION_CODES + GENRE_CODES + NAME_TITLE_CODES \
|
787
|
+
+ CARTOGRAPHIC_CODES + OCCUPATION_CODES + COUNTRY_CODES + GEOGRAPHIC_CODES \
|
788
|
+
+ ISO_CODES + MARC_CODES + PARKER + OTHER_CODES
|
789
|
+
end
|
790
|
+
end
|
791
|
+
end
|
792
|
+
end
|
793
|
+
end
|
794
|
+
# rubocop:enable Metrics/ClassLength
|