cocina-models 0.75.0 → 0.78.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (142) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +40 -12
  3. data/.rubocop_todo.yml +71 -2
  4. data/README.md +41 -5
  5. data/cocina-models.gemspec +2 -0
  6. data/description_types.yml +167 -38
  7. data/docs/description_types.md +471 -216
  8. data/lib/cocina/generator/generator.rb +7 -12
  9. data/lib/cocina/generator/schema.rb +1 -3
  10. data/lib/cocina/generator/schema_base.rb +0 -8
  11. data/lib/cocina/generator/schema_ref.rb +1 -1
  12. data/lib/cocina/generator/schema_value.rb +14 -4
  13. data/lib/cocina/models/access.rb +4 -4
  14. data/lib/cocina/models/admin_policy.rb +1 -1
  15. data/lib/cocina/models/admin_policy_access_template.rb +7 -7
  16. data/lib/cocina/models/admin_policy_administrative.rb +1 -1
  17. data/lib/cocina/models/admin_policy_with_metadata.rb +3 -3
  18. data/lib/cocina/models/builders/name_title_group_builder.rb +0 -4
  19. data/lib/cocina/models/builders/title_builder.rb +0 -2
  20. data/lib/cocina/models/citation_only_access.rb +2 -2
  21. data/lib/cocina/models/collection_access.rb +4 -4
  22. data/lib/cocina/models/collection_identification.rb +1 -1
  23. data/lib/cocina/models/collection_with_metadata.rb +2 -2
  24. data/lib/cocina/models/contributor.rb +4 -4
  25. data/lib/cocina/models/controlled_digital_lending_access.rb +2 -2
  26. data/lib/cocina/models/dark_access.rb +4 -4
  27. data/lib/cocina/models/description.rb +3 -3
  28. data/lib/cocina/models/descriptive_basic_value.rb +13 -13
  29. data/lib/cocina/models/descriptive_parallel_contributor.rb +5 -5
  30. data/lib/cocina/models/descriptive_parallel_event.rb +3 -3
  31. data/lib/cocina/models/descriptive_value.rb +13 -13
  32. data/lib/cocina/models/descriptive_value_language.rb +6 -6
  33. data/lib/cocina/models/dro.rb +1 -1
  34. data/lib/cocina/models/dro_access.rb +8 -8
  35. data/lib/cocina/models/dro_with_metadata.rb +3 -3
  36. data/lib/cocina/models/embargo.rb +5 -5
  37. data/lib/cocina/models/event.rb +3 -3
  38. data/lib/cocina/models/file.rb +4 -4
  39. data/lib/cocina/models/file_access.rb +4 -4
  40. data/lib/cocina/models/identification.rb +2 -2
  41. data/lib/cocina/models/language.rb +12 -12
  42. data/lib/cocina/models/location_based_access.rb +1 -1
  43. data/lib/cocina/models/location_based_download_access.rb +1 -1
  44. data/lib/cocina/models/mapping/error_notifier.rb +36 -0
  45. data/lib/cocina/models/mapping/from_mods/access.rb +177 -0
  46. data/lib/cocina/models/mapping/from_mods/admin_metadata.rb +217 -0
  47. data/lib/cocina/models/mapping/from_mods/alt_rep_group.rb +26 -0
  48. data/lib/cocina/models/mapping/from_mods/authority.rb +51 -0
  49. data/lib/cocina/models/mapping/from_mods/contributor.rb +161 -0
  50. data/lib/cocina/models/mapping/from_mods/description.rb +98 -0
  51. data/lib/cocina/models/mapping/from_mods/description_builder.rb +61 -0
  52. data/lib/cocina/models/mapping/from_mods/event.rb +543 -0
  53. data/lib/cocina/models/mapping/from_mods/form.rb +381 -0
  54. data/lib/cocina/models/mapping/from_mods/geographic.rb +219 -0
  55. data/lib/cocina/models/mapping/from_mods/hydrus_default_title_builder.rb +28 -0
  56. data/lib/cocina/models/mapping/from_mods/identifier.rb +51 -0
  57. data/lib/cocina/models/mapping/from_mods/identifier_builder.rb +71 -0
  58. data/lib/cocina/models/mapping/from_mods/identifier_type.rb +292 -0
  59. data/lib/cocina/models/mapping/from_mods/language.rb +36 -0
  60. data/lib/cocina/models/mapping/from_mods/language_script.rb +30 -0
  61. data/lib/cocina/models/mapping/from_mods/language_term.rb +106 -0
  62. data/lib/cocina/models/mapping/from_mods/name_builder.rb +307 -0
  63. data/lib/cocina/models/mapping/from_mods/note.rb +162 -0
  64. data/lib/cocina/models/mapping/from_mods/part_builder.rb +147 -0
  65. data/lib/cocina/models/mapping/from_mods/primary.rb +27 -0
  66. data/lib/cocina/models/mapping/from_mods/purl.rb +53 -0
  67. data/lib/cocina/models/mapping/from_mods/related_resource.rb +105 -0
  68. data/lib/cocina/models/mapping/from_mods/subject.rb +413 -0
  69. data/lib/cocina/models/mapping/from_mods/subject_authority_codes.rb +794 -0
  70. data/lib/cocina/models/mapping/from_mods/title.rb +160 -0
  71. data/lib/cocina/models/mapping/from_mods/title_builder.rb +106 -0
  72. data/lib/cocina/models/mapping/from_mods/title_builder_strategy.rb +19 -0
  73. data/lib/cocina/models/mapping/from_mods/value_uri.rb +25 -0
  74. data/lib/cocina/models/mapping/normalizers/base.rb +16 -0
  75. data/lib/cocina/models/mapping/normalizers/mods/geo_extension_normalizer.rb +69 -0
  76. data/lib/cocina/models/mapping/normalizers/mods/name_normalizer.rb +191 -0
  77. data/lib/cocina/models/mapping/normalizers/mods/origin_info_normalizer.rb +157 -0
  78. data/lib/cocina/models/mapping/normalizers/mods/subject_normalizer.rb +296 -0
  79. data/lib/cocina/models/mapping/normalizers/mods/title_normalizer.rb +91 -0
  80. data/lib/cocina/models/mapping/normalizers/mods_normalizer.rb +409 -0
  81. data/lib/cocina/models/mapping/purl.rb +27 -0
  82. data/lib/cocina/models/mapping/to_mods/access.rb +155 -0
  83. data/lib/cocina/models/mapping/to_mods/admin_metadata.rb +129 -0
  84. data/lib/cocina/models/mapping/to_mods/contributor.rb +49 -0
  85. data/lib/cocina/models/mapping/to_mods/description.rb +63 -0
  86. data/lib/cocina/models/mapping/to_mods/event.rb +200 -0
  87. data/lib/cocina/models/mapping/to_mods/form.rb +292 -0
  88. data/lib/cocina/models/mapping/to_mods/geographic.rb +151 -0
  89. data/lib/cocina/models/mapping/to_mods/id_generator.rb +25 -0
  90. data/lib/cocina/models/mapping/to_mods/identifier.rb +57 -0
  91. data/lib/cocina/models/mapping/to_mods/language.rb +82 -0
  92. data/lib/cocina/models/mapping/to_mods/mods_writer.rb +38 -0
  93. data/lib/cocina/models/mapping/to_mods/name_title_group.rb +29 -0
  94. data/lib/cocina/models/mapping/to_mods/name_writer.rb +228 -0
  95. data/lib/cocina/models/mapping/to_mods/note.rb +105 -0
  96. data/lib/cocina/models/mapping/to_mods/part_writer.rb +115 -0
  97. data/lib/cocina/models/mapping/to_mods/related_resource.rb +108 -0
  98. data/lib/cocina/models/mapping/to_mods/role_writer.rb +50 -0
  99. data/lib/cocina/models/mapping/to_mods/subject.rb +486 -0
  100. data/lib/cocina/models/mapping/to_mods/title.rb +260 -0
  101. data/lib/cocina/models/object_metadata.rb +2 -2
  102. data/lib/cocina/models/presentation.rb +2 -2
  103. data/lib/cocina/models/related_resource.rb +9 -9
  104. data/lib/cocina/models/release_tag.rb +4 -4
  105. data/lib/cocina/models/request_admin_policy.rb +1 -1
  106. data/lib/cocina/models/request_administrative.rb +1 -1
  107. data/lib/cocina/models/request_collection.rb +2 -2
  108. data/lib/cocina/models/request_description.rb +3 -3
  109. data/lib/cocina/models/request_dro.rb +4 -4
  110. data/lib/cocina/models/request_file.rb +5 -5
  111. data/lib/cocina/models/request_identification.rb +1 -1
  112. data/lib/cocina/models/sequence.rb +1 -1
  113. data/lib/cocina/models/source.rb +4 -4
  114. data/lib/cocina/models/standard.rb +5 -5
  115. data/lib/cocina/models/stanford_access.rb +2 -2
  116. data/lib/cocina/models/title.rb +13 -13
  117. data/lib/cocina/models/validators/dark_validator.rb +4 -2
  118. data/lib/cocina/models/validators/description_values_validator.rb +77 -0
  119. data/lib/cocina/models/validators/open_api_validator.rb +0 -4
  120. data/lib/cocina/models/validators/validator.rb +2 -1
  121. data/lib/cocina/models/version.rb +1 -1
  122. data/lib/cocina/models/world_access.rb +2 -2
  123. data/lib/cocina/models.rb +4 -0
  124. data/lib/cocina/rspec/factories.rb +205 -0
  125. data/lib/cocina/rspec.rb +2 -0
  126. data/openapi.yml +5 -5
  127. metadata +89 -17
  128. data/docs/_config.yml +0 -1
  129. data/docs/maps/Agent.json +0 -18
  130. data/docs/maps/Collection.json +0 -240
  131. data/docs/maps/DRO.json +0 -316
  132. data/docs/maps/Description.json +0 -17
  133. data/docs/maps/File.json +0 -196
  134. data/docs/maps/Fileset.json +0 -143
  135. data/docs/maps/README.md +0 -7
  136. data/docs/maps/ReleaseTag.json +0 -39
  137. data/docs/maps/Sequence.json +0 -46
  138. data/docs/maps/Title.json +0 -18
  139. data/docs/sampleETD/foxml-export.xml +0 -935
  140. data/docs/sampleETD/foxml.xml +0 -3475
  141. data/docs/sampleETD/xn109qc9773_bibframe.ttl +0 -95
  142. data/docs/sampleETD/xn109qc9773_taco.json +0 -158
@@ -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