bolognese 2.2.0 → 2.7.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 (589) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +1 -1
  3. data/.github/workflows/release.yml +2 -2
  4. data/Gemfile +1 -1
  5. data/Gemfile.lock +196 -164
  6. data/README.md +1 -1
  7. data/bolognese.gemspec +30 -37
  8. data/lib/bolognese/author_utils.rb +2 -44
  9. data/lib/bolognese/citeproc_extensions.rb +48 -0
  10. data/lib/bolognese/datacite_utils.rb +17 -7
  11. data/lib/bolognese/doi_utils.rb +4 -3
  12. data/lib/bolognese/metadata.rb +8 -5
  13. data/lib/bolognese/metadata_utils.rb +19 -4
  14. data/lib/bolognese/readers/citeproc_reader.rb +7 -1
  15. data/lib/bolognese/readers/codemeta_reader.rb +1 -1
  16. data/lib/bolognese/readers/crossref_reader.rb +50 -4
  17. data/lib/bolognese/readers/datacite_reader.rb +22 -48
  18. data/lib/bolognese/readers/ris_reader.rb +1 -1
  19. data/lib/bolognese/readers/schema_org_reader.rb +22 -3
  20. data/lib/bolognese/utils.rb +107 -120
  21. data/lib/bolognese/version.rb +1 -1
  22. data/lib/bolognese/writers/csv_writer.rb +3 -5
  23. data/lib/bolognese/writers/jats_writer.rb +3 -2
  24. data/lib/bolognese/writers/schema_org_writer.rb +4 -0
  25. data/lib/bolognese.rb +1 -4
  26. data/resources/kernel-4/include/datacite-contributorType-v4.xsd +3 -1
  27. data/resources/kernel-4/include/datacite-dateType-v4.xsd +3 -1
  28. data/resources/kernel-4/include/datacite-relatedIdentifierType-v4.xsd +7 -2
  29. data/resources/kernel-4/include/datacite-relationType-v4.xsd +9 -3
  30. data/resources/kernel-4/include/datacite-resourceType-v4.xsd +8 -1
  31. data/resources/kernel-4/include/datacite-titleType-v4.xsd +1 -1
  32. data/resources/kernel-4/metadata.xsd +5 -1
  33. data/resources/kernel-4.6/include/datacite-contributorType-v4.xsd +37 -0
  34. data/resources/kernel-4.6/include/datacite-dateType-v4.xsd +27 -0
  35. data/resources/kernel-4.6/include/datacite-descriptionType-v4.xsd +19 -0
  36. data/resources/kernel-4.6/include/datacite-funderIdentifierType-v4.xsd +16 -0
  37. data/resources/kernel-4.6/include/datacite-nameType-v4.xsd +10 -0
  38. data/resources/kernel-4.6/include/datacite-numberType-v4.xsd +12 -0
  39. data/resources/kernel-4.6/include/datacite-relatedIdentifierType-v4.xsd +37 -0
  40. data/resources/kernel-4.6/include/datacite-relationType-v4.xsd +57 -0
  41. data/resources/kernel-4.6/include/datacite-resourceType-v4.xsd +49 -0
  42. data/resources/kernel-4.6/include/datacite-titleType-v4.xsd +14 -0
  43. data/resources/kernel-4.6/include/xml.xsd +286 -0
  44. data/resources/kernel-4.6/metadata.xsd +712 -0
  45. data/resources/kernel-4.7/include/datacite-contributorType-v4.xsd +37 -0
  46. data/resources/kernel-4.7/include/datacite-dateType-v4.xsd +27 -0
  47. data/resources/kernel-4.7/include/datacite-descriptionType-v4.xsd +19 -0
  48. data/resources/kernel-4.7/include/datacite-funderIdentifierType-v4.xsd +16 -0
  49. data/resources/kernel-4.7/include/datacite-nameType-v4.xsd +10 -0
  50. data/resources/kernel-4.7/include/datacite-numberType-v4.xsd +12 -0
  51. data/resources/kernel-4.7/include/datacite-relatedIdentifierType-v4.xsd +39 -0
  52. data/resources/kernel-4.7/include/datacite-relationType-v4.xsd +59 -0
  53. data/resources/kernel-4.7/include/datacite-resourceType-v4.xsd +52 -0
  54. data/resources/kernel-4.7/include/datacite-titleType-v4.xsd +14 -0
  55. data/resources/kernel-4.7/include/xml.xsd +286 -0
  56. data/resources/kernel-4.7/metadata.xsd +715 -0
  57. metadata +141 -724
  58. data/spec/array_spec.rb +0 -22
  59. data/spec/author_utils_spec.rb +0 -259
  60. data/spec/cli_spec.rb +0 -226
  61. data/spec/datacite_utils_spec.rb +0 -207
  62. data/spec/doi_utils_spec.rb +0 -314
  63. data/spec/find_from_format_spec.rb +0 -114
  64. data/spec/fixtures/aida.json +0 -82
  65. data/spec/fixtures/cgimp_package.json +0 -18
  66. data/spec/fixtures/cit_package.json +0 -19
  67. data/spec/fixtures/citeproc-no-author.json +0 -26
  68. data/spec/fixtures/citeproc-no-categories.json +0 -21
  69. data/spec/fixtures/citeproc.json +0 -32
  70. data/spec/fixtures/codemeta.json +0 -86
  71. data/spec/fixtures/codemeta_v2.json +0 -86
  72. data/spec/fixtures/crosscite.json +0 -63
  73. data/spec/fixtures/crossref.bib +0 -14
  74. data/spec/fixtures/crossref.ris +0 -15
  75. data/spec/fixtures/crossref.xml +0 -606
  76. data/spec/fixtures/datacite-empty-sizes.xml +0 -57
  77. data/spec/fixtures/datacite-example-ROR-nameIdentifiers.xml +0 -125
  78. data/spec/fixtures/datacite-example-affiliation.xml +0 -114
  79. data/spec/fixtures/datacite-example-ancientdates-v4.3.xml +0 -29
  80. data/spec/fixtures/datacite-example-complicated-tba.xml +0 -56
  81. data/spec/fixtures/datacite-example-complicated-v3.0.xml +0 -48
  82. data/spec/fixtures/datacite-example-complicated-v4.0.xml +0 -54
  83. data/spec/fixtures/datacite-example-complicated-v4.1.xml +0 -57
  84. data/spec/fixtures/datacite-example-dissertation-v4.4.xml +0 -56
  85. data/spec/fixtures/datacite-example-escaped-text.xml +0 -56
  86. data/spec/fixtures/datacite-example-full-v4.4.xml +0 -114
  87. data/spec/fixtures/datacite-example-full-v4.5.xml +0 -255
  88. data/spec/fixtures/datacite-example-geolocation-2.xml +0 -141
  89. data/spec/fixtures/datacite-example-geolocation.xml +0 -66
  90. data/spec/fixtures/datacite-example-nameIdentifier-with-schemeURI.xml +0 -94
  91. data/spec/fixtures/datacite-example-polygon-v4.1.xml +0 -163
  92. data/spec/fixtures/datacite-example-relateditems-with-attributes.xml +0 -61
  93. data/spec/fixtures/datacite-example-relateditems.xml +0 -61
  94. data/spec/fixtures/datacite-example-xs-string.xml +0 -28
  95. data/spec/fixtures/datacite-formats-with-xs.xml +0 -22
  96. data/spec/fixtures/datacite-funderIdentifier.xml +0 -98
  97. data/spec/fixtures/datacite-geolocation-empty.xml +0 -159
  98. data/spec/fixtures/datacite-geolocationpolygons-multiple.xml +0 -76
  99. data/spec/fixtures/datacite-metadata-sample-complicated-v2.2.xml +0 -52
  100. data/spec/fixtures/datacite-multiple-language.xml +0 -38
  101. data/spec/fixtures/datacite-multiple-rights.xml +0 -59
  102. data/spec/fixtures/datacite-schema-2.2.xml +0 -80
  103. data/spec/fixtures/datacite-seriesinformation.xml +0 -46
  104. data/spec/fixtures/datacite-space-in-sizes.xml +0 -52
  105. data/spec/fixtures/datacite-xml-lang.xml +0 -51
  106. data/spec/fixtures/datacite.json +0 -89
  107. data/spec/fixtures/datacite.xml +0 -40
  108. data/spec/fixtures/datacite_blank_name_identifier.xml +0 -22
  109. data/spec/fixtures/datacite_blank_publisher.xml +0 -18
  110. data/spec/fixtures/datacite_dataset.xml +0 -58
  111. data/spec/fixtures/datacite_journal_article.xml +0 -64
  112. data/spec/fixtures/datacite_malformed_creator.xml +0 -52
  113. data/spec/fixtures/datacite_missing_creator.xml +0 -33
  114. data/spec/fixtures/datacite_schema_3.xml +0 -58
  115. data/spec/fixtures/datacite_software.json +0 -21
  116. data/spec/fixtures/datacite_software_missing_comma.json +0 -18
  117. data/spec/fixtures/datacite_software_overlapping_keys.json +0 -18
  118. data/spec/fixtures/datacite_software_version.json +0 -74
  119. data/spec/fixtures/edam_package.json +0 -12
  120. data/spec/fixtures/funding_reference.xml +0 -53
  121. data/spec/fixtures/gtex.xml +0 -71
  122. data/spec/fixtures/maremma/codemeta.json +0 -36
  123. data/spec/fixtures/nist.xml +0 -35
  124. data/spec/fixtures/ns0.xml +0 -2
  125. data/spec/fixtures/pure.bib +0 -14
  126. data/spec/fixtures/pure.ris +0 -15
  127. data/spec/fixtures/pure.xml +0 -188
  128. data/spec/fixtures/ris_bug.ris +0 -9
  129. data/spec/fixtures/schema_4.0.xml +0 -140
  130. data/spec/fixtures/schema_org.json +0 -50
  131. data/spec/fixtures/schema_org_geolocation.json +0 -82
  132. data/spec/fixtures/schema_org_geoshape.json +0 -550
  133. data/spec/fixtures/schema_org_gtex.json +0 -75
  134. data/spec/fixtures/schema_org_list.json +0 -12623
  135. data/spec/fixtures/schema_org_tdl_iodp_invalid_authors.json +0 -25
  136. data/spec/fixtures/schema_org_topmed.json +0 -53
  137. data/spec/fixtures/schema_org_type_as_array.json +0 -41
  138. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/default.yml +0 -106
  139. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_bibtex.yml +0 -106
  140. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_citation.yml +0 -106
  141. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_crossref.yml +0 -106
  142. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_datacite.yml +0 -106
  143. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_jats.yml +0 -106
  144. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_schema_org.yml +0 -106
  145. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/default.yml +0 -106
  146. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_bibtex.yml +0 -106
  147. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_citation.yml +0 -106
  148. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_datacite.yml +0 -106
  149. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_datacite_json.yml +0 -106
  150. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_jats.yml +0 -106
  151. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_schema_org.yml +0 -106
  152. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/default.yml +0 -117
  153. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_datacite.yml +0 -117
  154. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_schema_org.yml +0 -115
  155. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/crossref.yml +0 -54
  156. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/datacite.yml +0 -54
  157. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/jalc.yml +0 -54
  158. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/kisti.yml +0 -54
  159. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/medra.yml +0 -54
  160. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/op.yml +0 -54
  161. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/author.yml +0 -48
  162. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/no_author.yml +0 -48
  163. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/single_author.yml +0 -48
  164. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/with_organization.yml +0 -48
  165. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_datacite_metadata/change_state.yml +0 -106
  166. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_datacite_metadata/change_title.yml +0 -106
  167. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_description.yml +0 -55
  168. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_identifiers.yml +0 -55
  169. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license.yml +0 -55
  170. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license_name.yml +0 -55
  171. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license_url.yml +0 -55
  172. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_state.yml +0 -55
  173. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/validates_against_schema.yml +0 -55
  174. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/with_data_citation.yml +0 -55
  175. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/doi.yml +0 -48
  176. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/doi_with_protocol.yml +0 -48
  177. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/dx_doi_org_url.yml +0 -48
  178. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/force_test_resolver.yml +0 -48
  179. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/https_url.yml +0 -48
  180. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/test_resolver.yml +0 -48
  181. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/test_resolver_http.yml +0 -48
  182. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/doi.yml +0 -48
  183. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/doi_with_special_characters.yml +0 -48
  184. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/not_a_doi.yml +0 -48
  185. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/sandbox_url.yml +0 -48
  186. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/url.yml +0 -48
  187. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/crossref.yml +0 -99
  188. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/datacite.yml +0 -99
  189. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/jalc.yml +0 -99
  190. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/kisti.yml +0 -99
  191. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/medra.yml +0 -99
  192. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_a_valid_prefix.yml +0 -48
  193. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_found.yml +0 -99
  194. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/op.yml +0 -99
  195. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/doi.yml +0 -48
  196. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/doi_with_protocol.yml +0 -48
  197. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/dx_doi_org_url.yml +0 -48
  198. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/force_stage_resolver.yml +0 -48
  199. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/https_url.yml +0 -48
  200. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/stage_resolver.yml +0 -48
  201. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/stage_resolver_http.yml +0 -48
  202. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref.yml +0 -157
  203. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref_doi_not_url.yml +0 -157
  204. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite.yml +0 -157
  205. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite_doi_http.yml +0 -157
  206. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/github.yml +0 -106
  207. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/orcid.yml +0 -106
  208. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/schema_org.yml +0 -106
  209. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/unknown_DOI_registration_agency.yml +0 -157
  210. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/bibtex.yml +0 -106
  211. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/citeproc.yml +0 -106
  212. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/codemeta.yml +0 -106
  213. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/crosscite.yml +0 -106
  214. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/crossref.yml +0 -106
  215. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite.yml +0 -106
  216. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite_json.yml +0 -106
  217. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/ris.yml +0 -106
  218. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/schema_org.yml +0 -106
  219. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_string/crosscite.yml +0 -106
  220. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/hsh_to_fos_for_match.yml +0 -48
  221. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/hsh_to_fos_for_with_schemeUri_in_hash.yml +0 -48
  222. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/hsh_to_fos_match.yml +0 -48
  223. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/hsh_to_fos_no_match.yml +0 -48
  224. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/name_to_fos_for_match.yml +0 -48
  225. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/name_to_fos_match.yml +0 -48
  226. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/name_to_fos_no_match.yml +0 -48
  227. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/from_schema_org/with_id.yml +0 -48
  228. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/from_schema_org_creators/with_affiliation.yml +0 -48
  229. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/from_schema_org_creators/without_affiliation.yml +0 -48
  230. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/maremma.yml +0 -75
  231. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/metadata_reports.yml +0 -75
  232. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_ORCID_ID.yml +0 -103
  233. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_SICI_DOI.yml +0 -102
  234. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_data_citation.yml +0 -106
  235. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/JaLC.yml +0 -137
  236. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/KISTI.yml +0 -158
  237. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/OP.yml +0 -100
  238. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/affiliation_is_space.yml +0 -101
  239. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/another_book.yml +0 -138
  240. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/another_book_chapter.yml +0 -100
  241. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/article_id_as_page_number.yml +0 -101
  242. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/author_literal.yml +0 -108
  243. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/book.yml +0 -99
  244. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/book_chapter.yml +0 -170
  245. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/book_chapter_with_RDF_for_container.yml +0 -99
  246. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/book_oup.yml +0 -98
  247. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/component.yml +0 -120
  248. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/dataset.yml +0 -130
  249. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/dataset_usda.yml +0 -143
  250. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/date_in_future.yml +0 -101
  251. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/dissertation.yml +0 -129
  252. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/empty_given_name.yml +0 -101
  253. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/invalid_date.yml +0 -101
  254. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article.yml +0 -100
  255. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_original_language_title.yml +0 -99
  256. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with.yml +0 -104
  257. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with_RDF_for_container.yml +0 -99
  258. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with_funding.yml +0 -100
  259. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_issue.yml +0 -127
  260. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/mEDRA.yml +0 -98
  261. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/markup.yml +0 -105
  262. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/missing_creator.yml +0 -100
  263. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/multiple_issn.yml +0 -99
  264. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/multiple_titles.yml +0 -98
  265. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/multiple_titles_with_missing.yml +0 -450
  266. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/not_found_error.yml +0 -97
  267. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/peer_review.yml +0 -103
  268. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/posted_content.yml +0 -99
  269. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/posted_content_copernicus.yml +0 -102
  270. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/report_osti.yml +0 -144
  271. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/vor_with_url.yml +0 -102
  272. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/yet_another_book.yml +0 -99
  273. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/yet_another_book_chapter.yml +0 -99
  274. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_json_metadata/metadata_from_api.yml +0 -106
  275. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/BlogPosting.yml +0 -106
  276. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_staging_system.yml +0 -106
  277. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_staging_system_schema_3.yml +0 -106
  278. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_with_related_id_system.yml +0 -106
  279. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_not_found.yml +0 -102
  280. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Dataset.yml +0 -106
  281. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding.yml +0 -106
  282. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding_empty_awardTitle.yml +0 -106
  283. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding_schema_version_4.yml +0 -106
  284. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Referee_report_in_staging_system.yml +0 -106
  285. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Schema_org_type.yml +0 -106
  286. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_only_full_name.yml +0 -106
  287. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_scheme.yml +0 -106
  288. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_wrong_orcid_scheme.yml +0 -106
  289. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/cc-by_3_0_us.yml +0 -106
  290. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/content_url.yml +0 -106
  291. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/date.yml +0 -106
  292. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/dissertation.yml +0 -106
  293. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/doi_with_sign.yml +0 -106
  294. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/empty_subject.yml +0 -106
  295. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/even_more_subject_scheme_FOR.yml +0 -106
  296. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/funding_references.yml +0 -106
  297. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/funding_schema_version_3.yml +0 -106
  298. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/is_identical_to.yml +0 -106
  299. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/keywords_with_attributes.yml +0 -106
  300. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/leading_and_trailing_whitespace.yml +0 -106
  301. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/more_subject_scheme_FOR.yml +0 -106
  302. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_author_names_in_one_creatorsName.yml +0 -106
  303. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_licenses.yml +0 -106
  304. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/series-information.yml +0 -106
  305. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/subject_scheme.yml +0 -106
  306. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/subject_scheme_FOR.yml +0 -106
  307. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date/publication_date.yml +0 -48
  308. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/date.yml +0 -48
  309. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year-month.yml +0 -48
  310. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year.yml +0 -48
  311. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/date.yml +0 -48
  312. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/year-month.yml +0 -48
  313. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/year.yml +0 -48
  314. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/date.yml +0 -48
  315. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year-month.yml +0 -48
  316. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year.yml +0 -48
  317. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/future.yml +0 -48
  318. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/invalid.yml +0 -48
  319. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/nil.yml +0 -48
  320. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/past.yml +0 -48
  321. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/present.yml +0 -48
  322. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_familyName.yml +0 -55
  323. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_Thai.yml +0 -55
  324. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order.yml +0 -55
  325. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order_with_ORCID.yml +0 -55
  326. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_sort-order.yml +0 -55
  327. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/hyper-authorship.yml +0 -55
  328. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/is_organization.yml +0 -48
  329. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_author_names_in_one_field.yml +0 -55
  330. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_name_identifier.yml +0 -55
  331. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_affiliation.yml +0 -55
  332. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_affiliation_and_country.yml +0 -114
  333. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_role.yml +0 -55
  334. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/only_familyName_and_givenName.yml +0 -57
  335. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting.yml +0 -117
  336. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting_with_new_DOI.yml +0 -117
  337. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/harvard_dataverse.yml +0 -40
  338. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/pangaea.yml +0 -57
  339. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/zenodo.yml +0 -62
  340. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/only_title.yml +0 -48
  341. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_and_pages.yml +0 -48
  342. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_volume_and_pages.yml +0 -48
  343. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_volume_issue_and_pages.yml +0 -48
  344. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_as_codemeta_url.yml +0 -48
  345. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_from_url.yml +0 -48
  346. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_from_url_file.yml +0 -48
  347. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/DOI_RA_not_Crossref_or_DataCite.yml +0 -54
  348. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/unknown_DOI_prefix.yml +0 -54
  349. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_contributors/none.yml +0 -55
  350. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_creators/insert.yml +0 -55
  351. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_dates/insert.yml +0 -55
  352. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_descriptions/insert.yml +0 -55
  353. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_identifier/doi.yml +0 -55
  354. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_language/insert.yml +0 -55
  355. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_person/creator_only_name.yml +0 -55
  356. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publication_year/insert.yml +0 -55
  357. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publisher/insert.yml +0 -55
  358. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/insert.yml +0 -55
  359. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/related_identifier.yml +0 -55
  360. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_items/insert.yml +0 -73
  361. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_resource_type/insert.yml +0 -55
  362. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_rights_list/insert.yml +0 -55
  363. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_sizes/insert.yml +0 -55
  364. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_subjects/insert.yml +0 -73
  365. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_titles/insert.yml +0 -55
  366. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_version/insert.yml +0 -55
  367. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_comma.yml +0 -48
  368. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_family_name.yml +0 -48
  369. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_id.yml +0 -48
  370. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_known_given_name.yml +0 -48
  371. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_no_info.yml +0 -48
  372. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_orcid_id.yml +0 -48
  373. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_type_organization.yml +0 -48
  374. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/missing_comma.yml +0 -106
  375. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/nil.yml +0 -106
  376. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/overlapping_keys.yml +0 -106
  377. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/valid.yml +0 -106
  378. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_cc_url/not_found.yml +0 -48
  379. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_cc_url/with_trailing_slash.yml +0 -48
  380. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_cc_url/with_trailing_slash_and_to_https.yml +0 -48
  381. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/SICI_doi.yml +0 -48
  382. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi.yml +0 -48
  383. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_force_datacite_sandbox.yml +0 -48
  384. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_from_datacite_sandbox.yml +0 -48
  385. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_from_url_without_doi_proxy.yml +0 -48
  386. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_too_long.yml +0 -48
  387. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_with_string.yml +0 -48
  388. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_with_protocol.yml +0 -48
  389. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/dx_doi_org_url.yml +0 -48
  390. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/https_url.yml +0 -48
  391. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/not_valid_doi_prefix.yml +0 -48
  392. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/url_with_one_slash.yml +0 -48
  393. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi.yml +0 -48
  394. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi_as_url.yml +0 -48
  395. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/ftp.yml +0 -48
  396. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/invalid_url.yml +0 -48
  397. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/sandbox_via_options.yml +0 -48
  398. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/sandbox_via_url.yml +0 -48
  399. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/string.yml +0 -48
  400. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url.yml +0 -48
  401. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url_with_utf-8.yml +0 -48
  402. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/doi.yml +0 -48
  403. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/url.yml +0 -48
  404. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_array.yml +0 -48
  405. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_empty_array.yml +0 -48
  406. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_hash.yml +0 -48
  407. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_string.yml +0 -48
  408. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/uri.yml +0 -48
  409. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/with_trailing_slash.yml +0 -48
  410. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/with_trailing_slash_and_to_https.yml +0 -48
  411. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/array.yml +0 -48
  412. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/array_of_strings.yml +0 -48
  413. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/first.yml +0 -48
  414. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/hash.yml +0 -48
  415. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/nil.yml +0 -48
  416. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/string.yml +0 -48
  417. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_only_keep_specific_tags.yml +0 -48
  418. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_remove_a_tags.yml +0 -48
  419. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/hsh_to_spdx_id.yml +0 -48
  420. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/hsh_to_spdx_not_found.yml +0 -48
  421. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/hsh_to_spdx_url.yml +0 -48
  422. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/name_to_spdx_exists.yml +0 -48
  423. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/name_to_spdx_id.yml +0 -48
  424. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org/with_id.yml +0 -48
  425. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org_identifiers/with_identifiers.yml +0 -48
  426. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_doi/doi.yml +0 -48
  427. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_10.yml +0 -48
  428. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_11.yml +0 -48
  429. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_12.yml +0 -48
  430. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_13.yml +0 -48
  431. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_14.yml +0 -48
  432. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_4.yml +0 -48
  433. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_5.yml +0 -48
  434. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_6.yml +0 -48
  435. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_7.yml +0 -48
  436. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_8.yml +0 -48
  437. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_9.yml +0 -48
  438. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/funder_doi.yml +0 -48
  439. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/funder_doi_without_prefix.yml +0 -48
  440. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/non-funder_doi.yml +0 -48
  441. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid.yml +0 -48
  442. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_https.yml +0 -48
  443. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_id.yml +0 -48
  444. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_sandbox.yml +0 -65
  445. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_sandbox_https.yml +0 -65
  446. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_with_spaces.yml +0 -48
  447. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_wrong_id.yml +0 -48
  448. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_www.yml +0 -48
  449. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme.yml +0 -48
  450. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_https.yml +0 -48
  451. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_trailing_slash.yml +0 -48
  452. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_www.yml +0 -48
  453. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi.yml +0 -48
  454. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi_as_url.yml +0 -48
  455. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi_with_protocol.yml +0 -48
  456. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/only_prefix.yml +0 -48
  457. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/DOI.yml +0 -48
  458. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/ISSN.yml +0 -48
  459. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/URL.yml +0 -48
  460. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/string.yml +0 -48
  461. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/BlogPosting.yml +0 -55
  462. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/Dataset.yml +0 -55
  463. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/authors_with_affiliations.yml +0 -114
  464. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/climate_data.yml +0 -55
  465. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/from_schema_org.yml +0 -115
  466. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/keywords_subject_scheme.yml +0 -55
  467. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/maremma.yml +0 -75
  468. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/text.yml +0 -55
  469. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_data_citation.yml +0 -55
  470. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_pages.yml +0 -52
  471. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Dataset.yml +0 -55
  472. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Journal_article.yml +0 -55
  473. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Journal_article_vancouver_style.yml +0 -55
  474. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Missing_author.yml +0 -49
  475. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/interactive_resource_without_dates.yml +0 -55
  476. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/software_w/version.yml +0 -55
  477. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/Another_dataset.yml +0 -55
  478. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting.yml +0 -55
  479. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting_schema_org.yml +0 -115
  480. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/Dataset.yml +0 -55
  481. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/container_title.yml +0 -55
  482. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/interactive_resource_without_dates.yml +0 -55
  483. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/journal_article.yml +0 -55
  484. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/keywords_subject_scheme.yml +0 -55
  485. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/maremma.yml +0 -75
  486. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/missing_creator.yml +0 -49
  487. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/multiple_abstracts.yml +0 -55
  488. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/organization_author.yml +0 -52
  489. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/software.yml +0 -55
  490. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/software_w/version.yml +0 -55
  491. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_only_first_page.yml +0 -50
  492. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_pages.yml +0 -52
  493. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite.yml +0 -55
  494. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite_check_codemeta_v2.yml +0 -55
  495. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/datacite_database_attributes.yml +0 -55
  496. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/maremma.yml +0 -75
  497. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_ORCID_ID.yml +0 -52
  498. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation.yml +0 -55
  499. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation_schema_org.yml +0 -117
  500. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crossref/from_DataCite.yml +0 -55
  501. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/climate_data.yml +0 -55
  502. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/maremma.yml +0 -75
  503. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/text.yml +0 -55
  504. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/with_data_citation.yml +0 -55
  505. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/with_pages.yml +0 -52
  506. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/maremma.yml +0 -75
  507. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_ORCID_ID.yml +0 -52
  508. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_data_citation.yml +0 -55
  509. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_data_citation_schema_org.yml +0 -117
  510. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/DOI_not_found.yml +0 -51
  511. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Dataset_in_schema_4_0.yml +0 -55
  512. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Text_pass-thru.yml +0 -55
  513. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Text_pass-thru_with_doi_in_options.yml +0 -55
  514. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/maremma.yml +0 -75
  515. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_ORCID_ID.yml +0 -52
  516. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation.yml +0 -55
  517. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation_schema_org.yml +0 -115
  518. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_editor.yml +0 -49
  519. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_version.yml +0 -55
  520. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/Dataset_in_schema_4_0.yml +0 -55
  521. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/Text_pass-thru.yml +0 -55
  522. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/book_chapter.yml +0 -88
  523. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/interactive_resource_without_dates.yml +0 -55
  524. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/maremma.yml +0 -75
  525. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_ORCID_ID.yml +0 -52
  526. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_data_citation.yml +0 -55
  527. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_data_citation_schema_org.yml +0 -117
  528. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_editor.yml +0 -49
  529. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/BlogPosting.yml +0 -55
  530. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/BlogPosting_schema_org.yml +0 -117
  531. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/journal_article.yml +0 -55
  532. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/maremma.yml +0 -75
  533. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/with_pages.yml +0 -52
  534. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting.yml +0 -55
  535. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting_schema_org.yml +0 -117
  536. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/Dataset.yml +0 -55
  537. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/alternate_name.yml +0 -55
  538. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/journal_article.yml +0 -55
  539. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/keywords_with_subject_scheme.yml +0 -55
  540. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/maremma.yml +0 -75
  541. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/with_pages.yml +0 -52
  542. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Funding.yml +0 -106
  543. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Funding_OpenAIRE.yml +0 -106
  544. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON.yml +0 -55
  545. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_Cyark.yml +0 -106
  546. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_IsSupplementTo.yml +0 -106
  547. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_isReferencedBy.yml +0 -55
  548. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/alternate_identifiers.yml +0 -55
  549. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/data_catalog.yml +0 -55
  550. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/geo_location_box.yml +0 -55
  551. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/interactive_resource_without_dates.yml +0 -55
  552. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/journal_article.yml +0 -55
  553. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/maremma_schema_org_JSON.yml +0 -75
  554. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/series_information.yml +0 -55
  555. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/subject_scheme.yml +0 -55
  556. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/subject_scheme_multiple_keywords.yml +0 -55
  557. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/BlogPosting.yml +0 -55
  558. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/BlogPosting_schema_org.yml +0 -117
  559. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/Dataset.yml +0 -55
  560. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/journal_article.yml +0 -55
  561. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/with_pages.yml +0 -52
  562. data/spec/fixtures/vivli.xml +0 -1
  563. data/spec/metadata_spec.rb +0 -165
  564. data/spec/readers/bibtex_reader_spec.rb +0 -65
  565. data/spec/readers/citeproc_reader_spec.rb +0 -64
  566. data/spec/readers/codemeta_reader_spec.rb +0 -138
  567. data/spec/readers/crosscite_reader_spec.rb +0 -43
  568. data/spec/readers/crossref_reader_spec.rb +0 -1102
  569. data/spec/readers/datacite_json_reader_spec.rb +0 -82
  570. data/spec/readers/datacite_reader_spec.rb +0 -1812
  571. data/spec/readers/npm_reader_spec.rb +0 -68
  572. data/spec/readers/ris_reader_spec.rb +0 -78
  573. data/spec/readers/schema_org_reader_spec.rb +0 -344
  574. data/spec/spec_helper.rb +0 -95
  575. data/spec/utils_spec.rb +0 -666
  576. data/spec/writers/bibtex_writer_spec.rb +0 -195
  577. data/spec/writers/citation_writer_spec.rb +0 -61
  578. data/spec/writers/citeproc_writer_spec.rb +0 -290
  579. data/spec/writers/codemeta_writer_spec.rb +0 -45
  580. data/spec/writers/crosscite_writer_spec.rb +0 -129
  581. data/spec/writers/crossref_writer_spec.rb +0 -21
  582. data/spec/writers/csv_writer_spec.rb +0 -94
  583. data/spec/writers/datacite_json_writer_spec.rb +0 -112
  584. data/spec/writers/datacite_writer_spec.rb +0 -507
  585. data/spec/writers/jats_writer_spec.rb +0 -208
  586. data/spec/writers/rdf_xml_writer_spec.rb +0 -93
  587. data/spec/writers/ris_writer_spec.rb +0 -207
  588. data/spec/writers/schema_org_writer_spec.rb +0 -382
  589. data/spec/writers/turtle_writer_spec.rb +0 -102
@@ -32,7 +32,7 @@ module Bolognese
32
32
  "https://creativecommons.org/licenses/by-nd/2.0" => "https://creativecommons.org/licenses/by-nd/2.0/legalcode",
33
33
  "https://creativecommons.org/licenses/by-nd/2.5" => "https://creativecommons.org/licenses/by-nd/2.5/legalcode",
34
34
  "https://creativecommons.org/licenses/by-nd/3.0" => "https://creativecommons.org/licenses/by-nd/3.0/legalcode",
35
- "https://creativecommons.org/licenses/by-nd/4.0" => "https://creativecommons.org/licenses/by-nd/2.0/legalcode",
35
+ "https://creativecommons.org/licenses/by-nd/4.0" => "https://creativecommons.org/licenses/by-nd/4.0/legalcode",
36
36
  "https://creativecommons.org/licenses/by-sa/1.0" => "https://creativecommons.org/licenses/by-sa/1.0/legalcode",
37
37
  "https://creativecommons.org/licenses/by-sa/2.0" => "https://creativecommons.org/licenses/by-sa/2.0/legalcode",
38
38
  "https://creativecommons.org/licenses/by-sa/2.5" => "https://creativecommons.org/licenses/by-sa/2.5/legalcode",
@@ -67,7 +67,9 @@ module Bolognese
67
67
  "OutputManagementPlan" => nil,
68
68
  "PeerReview" => "Review",
69
69
  "PhysicalObject" => nil,
70
+ "Poster" => "Poster",
70
71
  "Preprint" => nil,
72
+ "Presentation" => "PresentationDigitalDocument",
71
73
  "Report" => "Report",
72
74
  "Service" => "Service",
73
75
  "Software" => "SoftwareSourceCode",
@@ -78,7 +80,9 @@ module Bolognese
78
80
  "Other" => "CreativeWork",
79
81
  # not part of DataCite schema, but used internally
80
82
  "Periodical" => "Periodical",
81
- "DataCatalog" => "DataCatalog"
83
+ "DataCatalog" => "DataCatalog",
84
+ "Award" => "Grant",
85
+ "Project" => "Project"
82
86
  }
83
87
 
84
88
  DC_TO_CP_TRANSLATIONS = {
@@ -101,7 +105,9 @@ module Bolognese
101
105
  "OutputManagementPlan" => nil,
102
106
  "PeerReview" => "review",
103
107
  "PhysicalObject" => nil,
108
+ "Poster" => "document",
104
109
  "Preprint" => nil,
110
+ "Presentation" => "presentation",
105
111
  "Report" => "report",
106
112
  "Service" => nil,
107
113
  "Sound" => "song",
@@ -278,6 +284,8 @@ module Bolognese
278
284
  "Event" => "Event",
279
285
  "ImageObject" => "Image",
280
286
  "Movie" => "Audiovisual",
287
+ "Poster" => "Poster",
288
+ "PresentationDigitalDocument" => "Presentation",
281
289
  "PublicationIssue" => "Text",
282
290
  "Report" => "Report",
283
291
  "ScholarlyArticle" => "Text",
@@ -324,6 +332,8 @@ module Bolognese
324
332
  "Event" => nil,
325
333
  "ImageObject" => "graphic",
326
334
  "Movie" => "motion_picture",
335
+ "Poster" => "document",
336
+ "PresentationDigitalDocument" => "presentation",
327
337
  "PublicationIssue" => nil,
328
338
  "Report" => "report",
329
339
  "ScholarlyArticle" => "article-journal",
@@ -346,8 +356,10 @@ module Bolognese
346
356
  "Event" => nil,
347
357
  "ImageObject" => "FIGURE",
348
358
  "Movie" => "MPCT",
349
- "Report" => "RPRT",
359
+ "Poster" => "GEN",
360
+ "PresentationDigitalDocument" => "SLIDE",
350
361
  "PublicationIssue" => nil,
362
+ "Report" => "RPRT",
351
363
  "ScholarlyArticle" => "JOUR",
352
364
  "Service" => nil,
353
365
  "SoftwareSourceCode" => "COMP",
@@ -404,7 +416,9 @@ module Bolognese
404
416
  "OutputManagementPlan" => nil,
405
417
  "PeerReview" => nil,
406
418
  "PhysicalObject" => nil,
419
+ "Poster" => "GEN",
407
420
  "Preprint" => nil,
421
+ "Presentation" => "SLIDE",
408
422
  "Report" => "RRPT",
409
423
  "Service" => nil,
410
424
  "Software" => "COMP",
@@ -417,7 +431,7 @@ module Bolognese
417
431
 
418
432
  RIS_TO_DC_TRANSLATIONS = {
419
433
  "BLOG" => "Text",
420
- "GEN" => "Text",
434
+ "GEN" => "Poster",
421
435
  "CTLG" => "Collection",
422
436
  "DATA" => "Dataset",
423
437
  "FIGURE" => "Image",
@@ -426,7 +440,8 @@ module Bolognese
426
440
  "JOUR" => "JournalArticle",
427
441
  "COMP" => "Software",
428
442
  "VIDEO" => "Audiovisual",
429
- "ELEC" => "Text"
443
+ "ELEC" => "Text",
444
+ "SLIDE" => "Presentation"
430
445
  }
431
446
 
432
447
  BIB_TO_DC_TRANSLATIONS = {
@@ -450,7 +465,9 @@ module Bolognese
450
465
  "motion_picture" => "Audiovisual",
451
466
  "article-journal" => "JournalArticle",
452
467
  "broadcast" => "Audiovisual",
453
- "webpage" => "Text"
468
+ "webpage" => "Text",
469
+ "document" => "Poster",
470
+ "presentation" => "Presentation"
454
471
  }
455
472
 
456
473
  SO_TO_BIB_TRANSLATIONS = {
@@ -466,6 +483,8 @@ module Bolognese
466
483
  "Event" => "misc",
467
484
  "ImageObject" => "misc",
468
485
  "Movie" => "misc",
486
+ "Poster" => "misc",
487
+ "PresentationDigitalDocument" => "misc",
469
488
  "PublicationIssue" => "misc",
470
489
  "ScholarlyArticle" => "article",
471
490
  "Service" => "misc",
@@ -649,7 +668,7 @@ module Bolognese
649
668
  return nil unless uri && uri.host && %w(http https).include?(uri.scheme)
650
669
 
651
670
  # clean up URL
652
- PostRank::URI.clean(id)
671
+ normalize_uri_with_path_cleanup(uri)
653
672
  rescue Addressable::URI::InvalidURIError
654
673
  nil
655
674
  end
@@ -669,9 +688,7 @@ module Bolognese
669
688
  uri.scheme = "https" if options[:https]
670
689
 
671
690
  # clean up URL
672
- uri.path = PostRank::URI.clean(uri.path)
673
-
674
- uri.to_s
691
+ normalize_uri_with_path_cleanup(uri)
675
692
  rescue Addressable::URI::InvalidURIError
676
693
  nil
677
694
  end
@@ -682,19 +699,19 @@ module Bolognese
682
699
  end
683
700
 
684
701
  def normalize_orcid(orcid)
685
- orcid = validate_orcid(orcid)
686
- return nil unless orcid.present?
702
+ validated = validate_orcid(orcid)
703
+ return orcid unless validated.present?
687
704
 
688
705
  # turn ORCID ID into URL
689
- "https://orcid.org/" + Addressable::URI.encode(orcid)
706
+ "https://orcid.org/" + Addressable::URI.encode(validated)
690
707
  end
691
708
 
692
709
  def normalize_ror(ror)
693
- ror = validate_ror(ror)
694
- return nil unless ror.present?
710
+ validated = validate_ror(ror)
711
+ return ror unless validated.present?
695
712
 
696
713
  # turn ROR into URL
697
- "https://ror.org/" + Addressable::URI.encode(ror)
714
+ "https://ror.org/" + Addressable::URI.encode(validated)
698
715
  end
699
716
 
700
717
  def normalize_ids(ids: nil, relation_type: nil)
@@ -825,7 +842,8 @@ module Bolognese
825
842
 
826
843
  def to_schema_org_contributors(element)
827
844
  element = Array.wrap(element).map do |c|
828
- c["affiliation"] = Array.wrap(c["affiliation"]).map do |a|
845
+ transformed_c = c.dup
846
+ transformed_c["affiliation"] = Array.wrap(c["affiliation"]).map do |a|
829
847
  if a.is_a?(String)
830
848
  name = a
831
849
  affiliation_identifier = nil
@@ -839,10 +857,10 @@ module Bolognese
839
857
  "@id" => affiliation_identifier,
840
858
  "name" => name }.compact
841
859
  end.unwrap
842
- c["@type"] = c["nameType"].present? ? c["nameType"][0..-3] : nil
843
- c["@id"] = Array.wrap(c["nameIdentifiers"]).first.to_h.fetch("nameIdentifier", nil)
844
- c["name"] = c["familyName"].present? ? [c["givenName"], c["familyName"]].join(" ") : c["name"]
845
- c.except("nameIdentifiers", "nameType").compact
860
+ transformed_c["@type"] = c["nameType"].present? ? c["nameType"][0..-3] : nil
861
+ transformed_c["@id"] = Array.wrap(c["nameIdentifiers"]).first.to_h.fetch("nameIdentifier", nil)
862
+ transformed_c["name"] = c["familyName"].present? ? [c["givenName"], c["familyName"]].join(" ") : c["name"]
863
+ transformed_c.except("nameIdentifiers", "nameType").compact
846
864
  end.unwrap
847
865
  end
848
866
 
@@ -929,8 +947,10 @@ module Bolognese
929
947
  "address" => gl["geoLocationPlace"],
930
948
  "polygon" => Array.wrap(gl.dig("geoLocationPolygon")).map do |glp|
931
949
  Array.wrap(glp).map do |glpp|
932
- [glpp.dig("polygonPoint", "pointLongitude"), glpp.dig("polygonPoint", "pointLatitude")].compact
933
- end.compact
950
+ if glpp.dig("polygonPoint")
951
+ [glpp.dig("polygonPoint", "pointLongitude"), glpp.dig("polygonPoint", "pointLatitude")].compact
952
+ end
953
+ end.compact.presence
934
954
  end.compact.presence,
935
955
  }
936
956
  }
@@ -1234,7 +1254,9 @@ module Bolognese
1234
1254
  "urn" => "URN",
1235
1255
  "md5" => "md5",
1236
1256
  "minid" => "minid",
1237
- "dataguid" => "dataguid"
1257
+ "dataguid" => "dataguid",
1258
+ "cstr" => "CSTR",
1259
+ "rrid" => "RRID"
1238
1260
  }
1239
1261
 
1240
1262
  identifierTypes[identifier_type.downcase] || identifier_type
@@ -1309,103 +1331,18 @@ module Bolognese
1309
1331
  end
1310
1332
  end
1311
1333
 
1312
- def name_to_fos(name)
1313
- # first find subject in Fields of Science (OECD)
1314
- fos = resource_json(:fos).fetch("fosFields")
1315
-
1316
- subject = fos.find { |l| l["fosLabel"] == name || "FOS: " + l["fosLabel"] == name }
1317
-
1318
- if subject
1319
- return [{
1320
- "subject" => sanitize(name) },
1321
- {
1322
- "subject" => "FOS: " + subject["fosLabel"],
1323
- "subjectScheme" => "Fields of Science and Technology (FOS)",
1324
- "schemeUri" => "http://www.oecd.org/science/inno/38235147.pdf"
1325
- }]
1326
- end
1327
-
1328
- # if not found, look in Fields of Research (Australian and New Zealand Standard Research Classification)
1329
- # and map to Fields of Science. Add an extra entry for the latter
1330
- fores = resource_json(:for)
1331
- for_fields = fores.fetch("forFields")
1332
- for_disciplines = fores.fetch("forDisciplines")
1333
-
1334
- subject = for_fields.find { |l| l["forLabel"] == name } ||
1335
- for_disciplines.find { |l| l["forLabel"] == name }
1336
-
1337
- if subject
1338
- [{
1339
- "subject" => sanitize(name) },
1340
- {
1341
- "subject" => "FOS: " + subject["fosLabel"],
1342
- "subjectScheme" => "Fields of Science and Technology (FOS)",
1343
- "schemeUri" => "http://www.oecd.org/science/inno/38235147.pdf"
1344
- }]
1345
- else
1346
- [{ "subject" => sanitize(name) }]
1347
- end
1334
+ def name_to_subject(name)
1335
+ [{ "subject" => sanitize(name) }]
1348
1336
  end
1349
1337
 
1350
- def hsh_to_fos(hsh)
1351
- # first find subject in Fields of Science (OECD)
1352
- fos = resource_json(:fos).fetch("fosFields")
1353
- subject = fos.find { |l| l["fosLabel"] == hsh["__content__"] || "FOS: " + l["fosLabel"] == hsh["__content__"] || l["fosLabel"] == hsh["subject"]}
1354
-
1355
- if subject
1356
- return [{
1357
- "subject" => sanitize(hsh["__content__"] || hsh["subject"]),
1358
- "subjectScheme" => hsh["subjectScheme"],
1359
- "schemeUri" => hsh["schemeURI"] || hsh["schemeUri"],
1360
- "valueUri" => hsh["valueURI"] || hsh["valueUri"],
1361
- "classificationCode" => hsh["classificationCode"],
1362
- "lang" => hsh["lang"] }.compact,
1363
- {
1364
- "subject" => "FOS: " + subject["fosLabel"],
1365
- "subjectScheme" => "Fields of Science and Technology (FOS)",
1366
- "schemeUri" => "http://www.oecd.org/science/inno/38235147.pdf" }.compact]
1367
- end
1368
-
1369
- # if not found, look in Fields of Research (Australian and New Zealand Standard Research Classification)
1370
- # and map to Fields of Science. Add an extra entry for the latter
1371
- fores = resource_json(:for)
1372
- for_fields = fores.fetch("forFields")
1373
- for_disciplines = fores.fetch("forDisciplines")
1374
-
1375
- # try to extract forId
1376
- if hsh["subjectScheme"] == "FOR"
1377
- for_id = hsh["__content__"].to_s.split(" ").first || hsh["subject"].to_s.split(" ").first
1378
- for_id = for_id.rjust(6, "0")
1379
-
1380
- subject = for_fields.find { |l| l["forId"] == for_id } ||
1381
- for_disciplines.find { |l| l["forId"] == for_id[0..3] }
1382
- else
1383
- subject = for_fields.find { |l| l["forLabel"] == hsh["__content__"] || l["forLabel"] == hsh["subject"] } ||
1384
- for_disciplines.find { |l| l["forLabel"] == hsh["__content__"] || l["forLabel"] == hsh["subject"] }
1385
- end
1386
-
1387
- if subject
1388
- [{
1389
- "subject" => sanitize(hsh["__content__"] || hsh["subject"]),
1390
- "subjectScheme" => hsh["subjectScheme"],
1391
- "classificationCode" => hsh["classificationCode"],
1392
- "schemeUri" => hsh["schemeURI"] || hsh["schemeUri"],
1393
- "valueUri" => hsh["valueURI"] || hsh["valueUri"],
1394
- "lang" => hsh["lang"] }.compact,
1395
- {
1396
- "subject" => "FOS: " + subject["fosLabel"],
1397
- "subjectScheme" => "Fields of Science and Technology (FOS)",
1398
- "schemeUri" => "http://www.oecd.org/science/inno/38235147.pdf"
1399
- }]
1400
- else
1401
- [{
1402
- "subject" => sanitize(hsh["__content__"] || hsh["subject"]),
1403
- "subjectScheme" => hsh["subjectScheme"],
1404
- "classificationCode" => hsh["classificationCode"],
1405
- "schemeUri" => hsh["schemeURI"] || hsh["schemeUri"],
1406
- "valueUri" => hsh["valueURI"] || hsh["valueUri"],
1407
- "lang" => hsh["lang"] }.compact]
1408
- end
1338
+ def hsh_to_subject(hsh)
1339
+ [{
1340
+ "subject" => sanitize(hsh["__content__"] || hsh["subject"]),
1341
+ "subjectScheme" => hsh["subjectScheme"],
1342
+ "classificationCode" => hsh["classificationCode"],
1343
+ "schemeUri" => hsh["schemeURI"] || hsh["schemeUri"],
1344
+ "valueUri" => hsh["valueURI"] || hsh["valueUri"],
1345
+ "lang" => hsh["lang"] }.compact]
1409
1346
  end
1410
1347
 
1411
1348
  def dfg_ids_to_fos(dfg_ids)
@@ -1425,7 +1362,57 @@ module Bolognese
1425
1362
 
1426
1363
  def abstract_description
1427
1364
  # Fetch the first description with descriptionType "Abstract"
1428
- descriptions&.find { |d| d["descriptionType"] == "Abstract" }
1365
+ Array.wrap(descriptions)&.find { |d| d["descriptionType"] == "Abstract" }
1366
+ end
1367
+
1368
+ def generate_container(types, related_items, related_identifiers, descriptions)
1369
+ container_type = (types.respond_to?(:dig) && types&.dig("resourceTypeGeneral")) == "Dataset" ? "DataRepository" : "Series"
1370
+
1371
+ # relatedItem container
1372
+ related_item = Array.wrap(related_items).find { |ri| ri["relationType"] == "IsPublishedIn" }.to_h
1373
+
1374
+ if related_item.present?
1375
+ return {
1376
+ "type" => container_type,
1377
+ "identifier" => related_item.dig("relatedItemIdentifier", "relatedItemIdentifier"),
1378
+ "identifierType" => related_item.dig("relatedItemIdentifier", "relatedItemIdentifierType"),
1379
+ "title" => related_item.dig("titles", 0).then { |t| t ? parse_attributes(t, content: "title", first: true) : nil },
1380
+ "volume" => related_item["volume"],
1381
+ "issue" => related_item["issue"],
1382
+ "edition" => related_item["edition"],
1383
+ "number" => related_item["number"],
1384
+ "chapterNumber" => related_item["numberType"] == "Chapter" ? related_item["number"] : nil,
1385
+ "firstPage" => related_item["firstPage"],
1386
+ "lastPage" => related_item["lastPage"]
1387
+ }.compact
1388
+ end
1389
+
1390
+ # Legacy SeriesInformation/relatedIdentifier container fallback
1391
+ series_information = Array.wrap(descriptions).find { |r| r["descriptionType"] == "SeriesInformation" }.to_h.fetch("description", nil)
1392
+ si = get_series_information(series_information)
1393
+
1394
+ is_part_of = Array.wrap(related_identifiers).find { |ri| ri["relationType"] == "IsPartOf" }.to_h
1395
+
1396
+ if si["title"].present?
1397
+ return {
1398
+ "type" => container_type,
1399
+ "identifier" => is_part_of["relatedIdentifier"],
1400
+ "identifierType" => is_part_of["relatedIdentifierType"],
1401
+ "title" => si["title"],
1402
+ "volume" => si["volume"],
1403
+ "issue" => si["issue"],
1404
+ "firstPage" => si["firstPage"],
1405
+ "lastPage" => si["lastPage"]
1406
+ }.compact
1407
+ end
1408
+ end
1409
+
1410
+ private
1411
+
1412
+ def normalize_uri_with_path_cleanup(uri)
1413
+ normalized_uri = uri.normalize
1414
+ normalized_uri.path = normalized_uri.path.sub(%r{/\z}, "") if normalized_uri.path.present?
1415
+ normalized_uri.to_s
1429
1416
  end
1430
1417
  end
1431
1418
  end
@@ -1,3 +1,3 @@
1
1
  module Bolognese
2
- VERSION = "2.2.0"
2
+ VERSION = "2.7.0"
3
3
  end
@@ -4,18 +4,16 @@ module Bolognese
4
4
  require "csv"
5
5
 
6
6
  def csv
7
- return nil unless valid?
8
-
9
7
  bib = {
10
8
  doi: doi,
11
9
  url: url,
12
10
  registered: get_iso8601_date(date_registered),
13
11
  state: state,
14
- resource_type_general: types["resourceTypeGeneral"],
15
- resource_type: types["resourceType"],
12
+ resource_type_general: types.respond_to?(:to_h) ? types.to_h["resourceTypeGeneral"] : nil,
13
+ resource_type: types.respond_to?(:to_h) ? types.to_h["resourceType"] : nil,
16
14
  title: parse_attributes(titles, content: "title", first: true),
17
15
  author: authors_as_string(creators),
18
- publisher: publisher["name"],
16
+ publisher: publisher.respond_to?(:to_h) ? publisher.to_h["name"] : nil,
19
17
  publication_year: publication_year
20
18
  }.values
21
19
 
@@ -93,9 +93,10 @@ module Bolognese
93
93
  end
94
94
 
95
95
  def insert_publication_date(xml)
96
- year, month, day = get_date_parts(get_date(dates, "Issued")).to_h.fetch("date-parts", []).first
96
+ date = get_date(dates, "Issued") || publication_year
97
+ year, month, day = get_date_parts(date).to_h.fetch("date-parts", []).first
97
98
 
98
- xml.year(year, "iso-8601-date" => get_date(dates, "Issued"))
99
+ xml.year(year, "iso-8601-date" => date)
99
100
  xml.month(month.to_s.rjust(2, '0')) if month.present?
100
101
  xml.day(day.to_s.rjust(2, '0')) if day.present?
101
102
  end
@@ -13,6 +13,7 @@ module Bolognese
13
13
  "name" => parse_attributes(titles, content: "title", first: true),
14
14
  "author" => to_schema_org_creators(creators),
15
15
  "editor" => to_schema_org_contributors(contributors),
16
+ "translator" => contributors ? to_schema_org_contributors(contributors.select { |c| c["contributorType"] == "Translator" }) : nil,
16
17
  "description" => parse_attributes(abstract_description, content: "description", first: true),
17
18
  "license" => Array.wrap(rights_list).map { |l| l["rightsUri"] }.compact.unwrap,
18
19
  "version" => version_info,
@@ -23,6 +24,7 @@ module Bolognese
23
24
  "dateCreated" => get_date(dates, "Created"),
24
25
  "datePublished" => get_date(dates, "Issued") || publication_year,
25
26
  "dateModified" => get_date(dates, "Updated"),
27
+ "temporalCoverage" => get_date(dates, "Coverage"),
26
28
  "pageStart" => container.to_h["firstPage"],
27
29
  "pageEnd" => container.to_h["lastPage"],
28
30
  "spatialCoverage" => to_schema_org_spatial_coverage(geo_locations),
@@ -32,6 +34,8 @@ module Bolognese
32
34
  "predecessor_of" => to_schema_org_relation(related_identifiers: related_identifiers, relation_type: "IsPreviousVersionOf"),
33
35
  "successor_of" => to_schema_org_relation(related_identifiers: related_identifiers, relation_type: "IsNewVersionOf"),
34
36
  "citation" => to_schema_org_relation(related_identifiers: related_identifiers, relation_type: "References"),
37
+ "workTranslation" => to_schema_org_relation(related_identifiers: related_identifiers, relation_type: "HasTranslation"),
38
+ "translationOfWork" => to_schema_org_relation(related_identifiers: related_identifiers, relation_type: "IsTranslationOf"),
35
39
  "@reverse" => reverse.presence,
36
40
  "contentUrl" => Array.wrap(content_url).unwrap,
37
41
  "schemaVersion" => schema_version,
data/lib/bolognese.rb CHANGED
@@ -3,9 +3,7 @@
3
3
  require 'active_support/all'
4
4
  require 'nokogiri'
5
5
  require 'maremma'
6
- require 'postrank-uri'
7
6
  require 'bibtex'
8
- require 'colorize'
9
7
  require 'loofah'
10
8
  require 'json/ld'
11
9
  require 'rdf/turtle'
@@ -13,13 +11,12 @@ require 'rdf/rdfxml'
13
11
  require 'logger'
14
12
  require 'iso8601'
15
13
  require 'jsonlint'
16
- require 'benchmark_methods'
17
14
  require 'gender_detector'
18
- require 'citeproc/ruby'
19
15
  require 'citeproc'
20
16
  require 'csl/styles'
21
17
  require 'edtf'
22
18
 
19
+ require "bolognese/citeproc_extensions"
23
20
  require "bolognese/version"
24
21
  require "bolognese/metadata"
25
22
  require "bolognese/cli"
@@ -2,7 +2,8 @@
2
2
  <!-- Version 1.0 - Created 2011-01-13 - FZ, TIB, Germany
3
3
  2013-05 v3.0: Addition of ID to simpleType element, added values "ResearchGroup" & "Other"
4
4
  2014-08-20 v3.1: Addition of value "DataCurator"
5
- 2015-05-14 v4.0 dropped value "Funder", use new "funderReference" -->
5
+ 2015-05-14 v4.0 dropped value "Funder", use new "funderReference"
6
+ 2024-12-05 v4.6: Addition of value "Translator" -->
6
7
  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://datacite.org/schema/kernel-4" targetNamespace="http://datacite.org/schema/kernel-4" elementFormDefault="qualified">
7
8
  <xs:simpleType name="contributorType" id="contributorType">
8
9
  <xs:annotation>
@@ -29,6 +30,7 @@
29
30
  <xs:enumeration value="Researcher" />
30
31
  <xs:enumeration value="Sponsor" />
31
32
  <xs:enumeration value="Supervisor" />
33
+ <xs:enumeration value="Translator" />
32
34
  <xs:enumeration value="WorkPackageLeader" />
33
35
  </xs:restriction>
34
36
  </xs:simpleType>
@@ -2,7 +2,8 @@
2
2
  <!-- Version 1.0 - Created 2011-01-13 - FZ, TIB, Germany
3
3
  2013-05 v3.0: Addition of ID to simpleType element; addition of value "Collected"; deleted "StartDate" & "EndDate"
4
4
  2017-10-23 v4.1: Addition of value "Other"
5
- 2019-02-14 v4.2: Addition of value "Withdrawn"-->
5
+ 2019-02-14 v4.2: Addition of value "Withdrawn"
6
+ 2024-12-05 v4.6: Addition of value "Coverage"-->
6
7
  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://datacite.org/schema/kernel-4" targetNamespace="http://datacite.org/schema/kernel-4" elementFormDefault="qualified">
7
8
  <xs:simpleType name="dateType" id="dateType">
8
9
  <xs:annotation>
@@ -13,6 +14,7 @@
13
14
  <xs:enumeration value="Available" />
14
15
  <xs:enumeration value="Collected" />
15
16
  <xs:enumeration value="Copyrighted" />
17
+ <xs:enumeration value="Coverage" />
16
18
  <xs:enumeration value="Created" />
17
19
  <xs:enumeration value="Issued" />
18
20
  <xs:enumeration value="Other" />
@@ -2,8 +2,9 @@
2
2
  <!-- Version 1.0 - Created 2011-01-13 - FZ, TIB, Germany
3
3
  2013-05 v3.0: Addition of ID to simpleType element; addition of value "PMID"
4
4
  2014-08-20 v3.1: Addition of values "arxiv" and "bibcode"
5
- 2015-02-12 v4.0 Addition of value "IGSN"
6
- 2019-02-14 v4.2 Addition of value "w3id" -->
5
+ 2015-02-12 v4.0: Addition of value "IGSN"
6
+ 2019-02-14 v4.2: Addition of value "w3id"
7
+ 2024-12-05 v4.5: Addition of values "CSTR", "RRID" -->
7
8
  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://datacite.org/schema/kernel-4" targetNamespace="http://datacite.org/schema/kernel-4" elementFormDefault="qualified">
8
9
  <xs:simpleType name="relatedIdentifierType" id="relatedIdentifierType">
9
10
  <xs:annotation>
@@ -13,6 +14,7 @@
13
14
  <xs:enumeration value="ARK" />
14
15
  <xs:enumeration value="arXiv" />
15
16
  <xs:enumeration value="bibcode" />
17
+ <xs:enumeration value="CSTR" />
16
18
  <xs:enumeration value="DOI" />
17
19
  <xs:enumeration value="EAN13" />
18
20
  <xs:enumeration value="EISSN" />
@@ -25,6 +27,9 @@
25
27
  <xs:enumeration value="LSID" />
26
28
  <xs:enumeration value="PMID" />
27
29
  <xs:enumeration value="PURL" />
30
+ <xs:enumeration value="RAiD" />
31
+ <xs:enumeration value="RRID" />
32
+ <xs:enumeration value="SWHID" />
28
33
  <xs:enumeration value="UPC" />
29
34
  <xs:enumeration value="URL" />
30
35
  <xs:enumeration value="URN" />
@@ -3,9 +3,12 @@
3
3
  2011-01-13 v1.0 - FZ, TIB, Germany
4
4
  2013-05 v3.0: Addition of ID to simpleType element, addition of values "IsIdenticalTo", "HasMetadata" & "IsMetadataFor"
5
5
  2014-08-20 v3.1: Addition of values "Reviews" & "IsReviewedBy" and "IsDerivedFrom" & "IsSourceOf"
6
- 2017-10-23 v.4.1: Addition of values "Describes", "IsDescribedBy", "HasVersion", "IsVersionOf", "Requires", "IsRequiredBy"
7
- 2019-02-14 v.4.2: Addition of values "Obsoletes", "IsObsoletedBy"
8
- 2021-03-05 v.4.4: Addition of value "IsPublishedIn" -->
6
+ 2017-10-23 v4.1: Addition of values "Describes", "IsDescribedBy", "HasVersion", "IsVersionOf", "Requires", "IsRequiredBy"
7
+ 2019-02-14 v4.2: Addition of values "Obsoletes", "IsObsoletedBy"
8
+ 2021-03-05 v4.4: Addition of value "IsPublishedIn"
9
+ 2024-01-22 v4.5: Addition of values "Collects, "IsCollectedBy"
10
+ 2024-12-05 v4.6: Addition of values "HasTranslation", "IsTranslationOf"
11
+ 2026-03-31 v4.7: Addition of value "Other"-->
9
12
  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://datacite.org/schema/kernel-4" targetNamespace="http://datacite.org/schema/kernel-4" elementFormDefault="qualified">
10
13
  <xs:simpleType name="relationType" id="relationType">
11
14
  <xs:annotation>
@@ -48,6 +51,9 @@
48
51
  <xs:enumeration value="IsObsoletedBy" />
49
52
  <xs:enumeration value="Collects" />
50
53
  <xs:enumeration value="IsCollectedBy" />
54
+ <xs:enumeration value="HasTranslation" />
55
+ <xs:enumeration value="IsTranslationOf" />
56
+ <xs:enumeration value="Other" />
51
57
  </xs:restriction>
52
58
  </xs:simpleType>
53
59
  </xs:schema>
@@ -3,7 +3,10 @@
3
3
  2013-05 v3.0: Addition of ID to simpleType element; added values "Audiovisual", "Workflow" & "Other"; deleted value "Film"
4
4
  2017-10-23 v4.1: Addition of value "DataPaper"
5
5
  2020-01-14 v4.4: Addition of values "Book", "Book Chapter", "ComputationalNotebook", "ConferencePaper", "ConferenceProceeding".
6
- "Dissertation", "Journal", "JournalArticle", "OutputManagementPlan", "PeerReview", "Preprint", "Report" -->
6
+ "Dissertation", "Journal", "JournalArticle", "OutputManagementPlan", "PeerReview", "Preprint", "Report"
7
+ 2024-01-22 v4.5: Addition of values "Instrument", "StudyRegistration"
8
+ 2024-12-05 v4.6: Addition of values "Award", "Project"
9
+ 2026-03-31 v4.7: Addition of values "Poster", "Presentation"-->
7
10
  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://datacite.org/schema/kernel-4" targetNamespace="http://datacite.org/schema/kernel-4" elementFormDefault="qualified">
8
11
  <xs:simpleType name="resourceType" id="resourceType">
9
12
  <xs:annotation>
@@ -11,6 +14,7 @@
11
14
  </xs:annotation>
12
15
  <xs:restriction base="xs:string">
13
16
  <xs:enumeration value="Audiovisual" />
17
+ <xs:enumeration value="Award" />
14
18
  <xs:enumeration value="Book" />
15
19
  <xs:enumeration value="BookChapter" />
16
20
  <xs:enumeration value="Collection" />
@@ -30,7 +34,10 @@
30
34
  <xs:enumeration value="OutputManagementPlan" />
31
35
  <xs:enumeration value="PeerReview" />
32
36
  <xs:enumeration value="PhysicalObject" />
37
+ <xs:enumeration value="Poster" />
33
38
  <xs:enumeration value="Preprint" />
39
+ <xs:enumeration value="Presentation" />
40
+ <xs:enumeration value="Project" />
34
41
  <xs:enumeration value="Report" />
35
42
  <xs:enumeration value="Service" />
36
43
  <xs:enumeration value="Software" />
@@ -1,7 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <!-- Version 1.0 - Created 2011-01-13 - FZ, TIB, Germany
3
3
  2013-05 v3.0: Addition of ID to simpleType element
4
- 2015-02-12 v4.0 Added value "Other" -->
4
+ 2015-02-12 v4.0: Added value "Other" -->
5
5
  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://datacite.org/schema/kernel-4" targetNamespace="http://datacite.org/schema/kernel-4" elementFormDefault="qualified">
6
6
  <xs:simpleType name="titleType" id="titleType">
7
7
  <xs:restriction base="xs:string">
@@ -13,7 +13,9 @@
13
13
  2019-02-14 v4.2: Addition of dateType value "Withdrawn", relationType values "Obsoletes", "isObsoletedBy", addition of new subproperties for Rights: rightsIdentifier, rightsIdentifierScheme, schemeURI, addition of the XML language attribute to the properties Creator, Contributor and Publisher for organizational names, don't check format of DOI
14
14
  2019-07-13 v4.3: Addition of new subproperties for Affiliation: "affiliationIdentifier", "affiliationIdentifierScheme", "schemeURI", addition of new sub-property for funderIdentifier: "schemeURI", addition of new funderIdentifierScheme: "ROR", added documentation for nameIdentifier
15
15
  2021-03-08 v4.4: Addition of new property relatedItem, relationType value "isPublishedIn", subject subproperty "classificationCode", controlled list "numberType", additional 13 properties for controlled list "resourceType"
16
- 2023-??-?? v4.5: Addition of new subproperties for publisher: "publisherIdentifier", "publisherIdentifierScheme", and "schemeURI"; addition of new resourceTypeGeneral values "Instrument" and "StudyRegistration"; addition of new relationType values "Collects" and "IsCollectedBy".-->
16
+ 2024-01-22 v4.5: Addition of new subproperties for publisher: "publisherIdentifier", "publisherIdentifierScheme", and "schemeURI"; addition of new resourceTypeGeneral values "Instrument" and "StudyRegistration"; addition of new relationType values "Collects" and "IsCollectedBy".
17
+ 2024-12-05 v4.6: Addition of new resourceTypeGeneral values "Award" and "Project"; addition of new relatedIdentifierType values "CSTR" and "RRID"; addition of new contributorType "Translator"; addition of new relationTypes "HasTranslation" and "IsTranslationOf"; addition of new dateType "Coverage".
18
+ 2026-03-31 v4.7: Addition of new resourceTypeGeneral values "Poster" and "Presentation"; addition of new relatedIdentifierType values "RAiD" and "SWHID"; addition of new relationType value "Other"; addition of new sub-property "relationTypeInformation" for RelatedIdentifier and RelatedItem.-->
17
19
  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://datacite.org/schema/kernel-4" targetNamespace="http://datacite.org/schema/kernel-4" elementFormDefault="qualified" xml:lang="EN">
18
20
  <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="include/xml.xsd" />
19
21
  <xs:include schemaLocation="include/datacite-titleType-v4.xsd" />
@@ -250,6 +252,7 @@
250
252
  <xs:attribute name="relatedMetadataScheme" use="optional" />
251
253
  <xs:attribute name="schemeURI" type="xs:anyURI" use="optional" />
252
254
  <xs:attribute name="schemeType" use="optional" />
255
+ <xs:attribute name="relationTypeInformation" use="optional" />
253
256
  </xs:extension>
254
257
  </xs:simpleContent>
255
258
  </xs:complexType>
@@ -603,6 +606,7 @@ Use the complete title of a license and include version information if applicabl
603
606
  <xs:documentation>Description of the relationship of the resource being registered (A) and the related resource (B).</xs:documentation>
604
607
  </xs:annotation>
605
608
  </xs:attribute>
609
+ <xs:attribute name="relationTypeInformation" use="optional" />
606
610
  </xs:complexType>
607
611
  </xs:element>
608
612
  </xs:sequence>