bolognese 2.3.7 → 2.3.9

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 (552) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +1 -1
  4. data/bolognese.gemspec +1 -2
  5. data/lib/bolognese/datacite_utils.rb +10 -3
  6. data/lib/bolognese/readers/datacite_reader.rb +5 -9
  7. data/lib/bolognese/utils.rb +4 -2
  8. data/lib/bolognese/version.rb +1 -1
  9. metadata +2 -545
  10. data/spec/array_spec.rb +0 -22
  11. data/spec/author_utils_spec.rb +0 -259
  12. data/spec/cli_spec.rb +0 -226
  13. data/spec/datacite_utils_spec.rb +0 -357
  14. data/spec/doi_utils_spec.rb +0 -314
  15. data/spec/find_from_format_spec.rb +0 -114
  16. data/spec/fixtures/aida.json +0 -82
  17. data/spec/fixtures/cgimp_package.json +0 -18
  18. data/spec/fixtures/cit_package.json +0 -19
  19. data/spec/fixtures/citeproc-no-author.json +0 -26
  20. data/spec/fixtures/citeproc-no-categories.json +0 -21
  21. data/spec/fixtures/citeproc.json +0 -36
  22. data/spec/fixtures/codemeta.json +0 -86
  23. data/spec/fixtures/codemeta_v2.json +0 -86
  24. data/spec/fixtures/crosscite.json +0 -63
  25. data/spec/fixtures/crossref.bib +0 -14
  26. data/spec/fixtures/crossref.ris +0 -15
  27. data/spec/fixtures/crossref.xml +0 -606
  28. data/spec/fixtures/crossref_schema_4.6_values.xml +0 -183
  29. data/spec/fixtures/datacite-by-nd-4.0.xml +0 -51
  30. data/spec/fixtures/datacite-empty-sizes.xml +0 -57
  31. data/spec/fixtures/datacite-example-ROR-nameIdentifiers.xml +0 -125
  32. data/spec/fixtures/datacite-example-affiliation.xml +0 -114
  33. data/spec/fixtures/datacite-example-ancientdates-v4.3.xml +0 -29
  34. data/spec/fixtures/datacite-example-complicated-tba.xml +0 -56
  35. data/spec/fixtures/datacite-example-complicated-v3.0.xml +0 -48
  36. data/spec/fixtures/datacite-example-complicated-v4.0.xml +0 -54
  37. data/spec/fixtures/datacite-example-complicated-v4.1.xml +0 -57
  38. data/spec/fixtures/datacite-example-dissertation-v4.4.xml +0 -56
  39. data/spec/fixtures/datacite-example-escaped-text.xml +0 -56
  40. data/spec/fixtures/datacite-example-full-v4.4.xml +0 -114
  41. data/spec/fixtures/datacite-example-full-v4.5.xml +0 -255
  42. data/spec/fixtures/datacite-example-full-v4.6.xml +0 -114
  43. data/spec/fixtures/datacite-example-geolocation-2.xml +0 -141
  44. data/spec/fixtures/datacite-example-geolocation.xml +0 -66
  45. data/spec/fixtures/datacite-example-nameIdentifier-with-schemeURI.xml +0 -94
  46. data/spec/fixtures/datacite-example-polygon-v4.1.xml +0 -163
  47. data/spec/fixtures/datacite-example-relateditems-with-attributes.xml +0 -61
  48. data/spec/fixtures/datacite-example-relateditems.xml +0 -61
  49. data/spec/fixtures/datacite-example-xs-string.xml +0 -28
  50. data/spec/fixtures/datacite-formats-with-xs.xml +0 -22
  51. data/spec/fixtures/datacite-funderIdentifier.xml +0 -98
  52. data/spec/fixtures/datacite-geolocation-empty.xml +0 -159
  53. data/spec/fixtures/datacite-geolocationpolygons-multiple.xml +0 -76
  54. data/spec/fixtures/datacite-metadata-sample-complicated-v2.2.xml +0 -52
  55. data/spec/fixtures/datacite-multiple-language.xml +0 -38
  56. data/spec/fixtures/datacite-multiple-rights.xml +0 -59
  57. data/spec/fixtures/datacite-schema-2.2.xml +0 -80
  58. data/spec/fixtures/datacite-seriesinformation.xml +0 -46
  59. data/spec/fixtures/datacite-space-in-sizes.xml +0 -52
  60. data/spec/fixtures/datacite-xml-lang.xml +0 -51
  61. data/spec/fixtures/datacite.json +0 -89
  62. data/spec/fixtures/datacite.xml +0 -40
  63. data/spec/fixtures/datacite_blank_name_identifier.xml +0 -22
  64. data/spec/fixtures/datacite_blank_publisher.xml +0 -18
  65. data/spec/fixtures/datacite_dataset.xml +0 -58
  66. data/spec/fixtures/datacite_journal_article.xml +0 -64
  67. data/spec/fixtures/datacite_malformed_creator.xml +0 -52
  68. data/spec/fixtures/datacite_missing_creator.xml +0 -33
  69. data/spec/fixtures/datacite_schema_3.xml +0 -58
  70. data/spec/fixtures/datacite_software.json +0 -21
  71. data/spec/fixtures/datacite_software_missing_comma.json +0 -18
  72. data/spec/fixtures/datacite_software_overlapping_keys.json +0 -18
  73. data/spec/fixtures/datacite_software_version.json +0 -74
  74. data/spec/fixtures/edam_package.json +0 -12
  75. data/spec/fixtures/funding_reference.xml +0 -53
  76. data/spec/fixtures/gtex.xml +0 -71
  77. data/spec/fixtures/maremma/codemeta.json +0 -36
  78. data/spec/fixtures/nist.xml +0 -35
  79. data/spec/fixtures/ns0.xml +0 -2
  80. data/spec/fixtures/pure.bib +0 -14
  81. data/spec/fixtures/pure.ris +0 -15
  82. data/spec/fixtures/pure.xml +0 -188
  83. data/spec/fixtures/ris_bug.ris +0 -9
  84. data/spec/fixtures/schema_4.0.xml +0 -140
  85. data/spec/fixtures/schema_org.json +0 -50
  86. data/spec/fixtures/schema_org_4.6_attributes.json +0 -108
  87. data/spec/fixtures/schema_org_geolocation.json +0 -82
  88. data/spec/fixtures/schema_org_geoshape.json +0 -550
  89. data/spec/fixtures/schema_org_gtex.json +0 -75
  90. data/spec/fixtures/schema_org_list.json +0 -12623
  91. data/spec/fixtures/schema_org_tdl_iodp_invalid_authors.json +0 -25
  92. data/spec/fixtures/schema_org_topmed.json +0 -53
  93. data/spec/fixtures/schema_org_type_as_array.json +0 -41
  94. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/default.yml +0 -106
  95. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_bibtex.yml +0 -106
  96. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_citation.yml +0 -106
  97. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_crossref.yml +0 -106
  98. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_datacite.yml +0 -106
  99. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_jats.yml +0 -106
  100. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_schema_org.yml +0 -106
  101. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/default.yml +0 -106
  102. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_bibtex.yml +0 -106
  103. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_citation.yml +0 -106
  104. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_datacite.yml +0 -106
  105. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_datacite_json.yml +0 -106
  106. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_jats.yml +0 -106
  107. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_schema_org.yml +0 -106
  108. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/default.yml +0 -117
  109. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_datacite.yml +0 -117
  110. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_schema_org.yml +0 -115
  111. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/crossref.yml +0 -54
  112. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/datacite.yml +0 -54
  113. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/jalc.yml +0 -54
  114. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/kisti.yml +0 -54
  115. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/medra.yml +0 -54
  116. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/op.yml +0 -54
  117. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/author.yml +0 -48
  118. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/no_author.yml +0 -48
  119. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/single_author.yml +0 -48
  120. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/with_organization.yml +0 -48
  121. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_datacite_metadata/change_state.yml +0 -106
  122. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_datacite_metadata/change_title.yml +0 -106
  123. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_description.yml +0 -55
  124. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_identifiers.yml +0 -55
  125. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license.yml +0 -55
  126. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license_name.yml +0 -55
  127. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license_url.yml +0 -55
  128. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_state.yml +0 -55
  129. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/validates_against_schema.yml +0 -55
  130. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/with_data_citation.yml +0 -55
  131. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/doi.yml +0 -48
  132. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/doi_with_protocol.yml +0 -48
  133. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/dx_doi_org_url.yml +0 -48
  134. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/force_test_resolver.yml +0 -48
  135. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/https_url.yml +0 -48
  136. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/test_resolver.yml +0 -48
  137. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/test_resolver_http.yml +0 -48
  138. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/doi.yml +0 -48
  139. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/doi_with_special_characters.yml +0 -48
  140. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/not_a_doi.yml +0 -48
  141. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/sandbox_url.yml +0 -48
  142. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/url.yml +0 -48
  143. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/crossref.yml +0 -99
  144. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/datacite.yml +0 -99
  145. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/jalc.yml +0 -99
  146. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/kisti.yml +0 -99
  147. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/medra.yml +0 -99
  148. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_a_valid_prefix.yml +0 -48
  149. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_found.yml +0 -99
  150. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/op.yml +0 -99
  151. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/doi.yml +0 -48
  152. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/doi_with_protocol.yml +0 -48
  153. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/dx_doi_org_url.yml +0 -48
  154. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/force_stage_resolver.yml +0 -48
  155. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/https_url.yml +0 -48
  156. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/stage_resolver.yml +0 -48
  157. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/stage_resolver_http.yml +0 -48
  158. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref.yml +0 -157
  159. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref_doi_not_url.yml +0 -157
  160. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite.yml +0 -157
  161. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite_doi_http.yml +0 -157
  162. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/github.yml +0 -106
  163. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/orcid.yml +0 -106
  164. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/schema_org.yml +0 -106
  165. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/unknown_DOI_registration_agency.yml +0 -157
  166. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/bibtex.yml +0 -106
  167. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/citeproc.yml +0 -106
  168. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/codemeta.yml +0 -106
  169. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/crosscite.yml +0 -106
  170. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/crossref.yml +0 -106
  171. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite.yml +0 -106
  172. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite_json.yml +0 -106
  173. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/ris.yml +0 -106
  174. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/schema_org.yml +0 -106
  175. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_string/crosscite.yml +0 -106
  176. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/hsh_to_fos_for_match.yml +0 -48
  177. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/hsh_to_fos_for_with_schemeUri_in_hash.yml +0 -48
  178. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/hsh_to_fos_match.yml +0 -48
  179. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/hsh_to_fos_no_match.yml +0 -48
  180. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/name_to_fos_for_match.yml +0 -48
  181. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/name_to_fos_match.yml +0 -48
  182. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/name_to_fos_no_match.yml +0 -48
  183. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/from_schema_org/with_id.yml +0 -48
  184. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/from_schema_org_creators/with_affiliation.yml +0 -48
  185. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/from_schema_org_creators/without_affiliation.yml +0 -48
  186. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/maremma.yml +0 -75
  187. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/metadata_reports.yml +0 -75
  188. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_ORCID_ID.yml +0 -103
  189. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_SICI_DOI.yml +0 -102
  190. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_data_citation.yml +0 -106
  191. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/JaLC.yml +0 -137
  192. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/KISTI.yml +0 -158
  193. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/OP.yml +0 -100
  194. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/affiliation_is_space.yml +0 -101
  195. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/another_book.yml +0 -98
  196. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/another_book_chapter.yml +0 -100
  197. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/article_id_as_page_number.yml +0 -101
  198. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/author_literal.yml +0 -108
  199. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/book.yml +0 -99
  200. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/book_chapter.yml +0 -170
  201. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/book_chapter_with_RDF_for_container.yml +0 -99
  202. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/book_oup.yml +0 -98
  203. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/component.yml +0 -120
  204. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/dataset.yml +0 -130
  205. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/dataset_usda.yml +0 -143
  206. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/date_in_future.yml +0 -101
  207. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/dissertation.yml +0 -129
  208. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/empty_given_name.yml +0 -101
  209. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/invalid_date.yml +0 -101
  210. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article.yml +0 -100
  211. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_original_language_title.yml +0 -99
  212. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with.yml +0 -104
  213. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with_RDF_for_container.yml +0 -99
  214. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with_funding.yml +0 -100
  215. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_issue.yml +0 -127
  216. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/mEDRA.yml +0 -98
  217. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/markup.yml +0 -105
  218. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/missing_creator.yml +0 -100
  219. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/multiple_issn.yml +0 -99
  220. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/multiple_titles.yml +0 -98
  221. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/multiple_titles_with_missing.yml +0 -450
  222. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/not_found_error.yml +0 -97
  223. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/peer_review.yml +0 -103
  224. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/posted_content.yml +0 -99
  225. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/posted_content_copernicus.yml +0 -102
  226. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/report_osti.yml +0 -144
  227. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/vor_with_url.yml +0 -102
  228. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/yet_another_book.yml +0 -99
  229. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/yet_another_book_chapter.yml +0 -99
  230. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_json_metadata/metadata_from_api.yml +0 -106
  231. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/BlogPosting.yml +0 -106
  232. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_staging_system.yml +0 -106
  233. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_staging_system_schema_3.yml +0 -106
  234. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_with_related_id_system.yml +0 -106
  235. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_not_found.yml +0 -102
  236. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Dataset.yml +0 -106
  237. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding.yml +0 -106
  238. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding_empty_awardTitle.yml +0 -106
  239. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding_schema_version_4.yml +0 -106
  240. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Referee_report_in_staging_system.yml +0 -106
  241. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Schema_org_type.yml +0 -106
  242. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_only_full_name.yml +0 -106
  243. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_scheme.yml +0 -106
  244. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_wrong_orcid_scheme.yml +0 -106
  245. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/cc-by_3_0_us.yml +0 -106
  246. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/content_url.yml +0 -106
  247. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/date.yml +0 -106
  248. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/dissertation.yml +0 -106
  249. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/doi_with_sign.yml +0 -106
  250. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/empty_subject.yml +0 -106
  251. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/even_more_subject_scheme_FOR.yml +0 -106
  252. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/funding_references.yml +0 -106
  253. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/funding_schema_version_3.yml +0 -106
  254. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/is_identical_to.yml +0 -106
  255. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/keywords_with_attributes.yml +0 -106
  256. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/leading_and_trailing_whitespace.yml +0 -106
  257. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/more_subject_scheme_FOR.yml +0 -106
  258. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_author_names_in_one_creatorsName.yml +0 -106
  259. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_licenses.yml +0 -106
  260. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/series-information.yml +0 -106
  261. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/subject_scheme.yml +0 -106
  262. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/subject_scheme_FOR.yml +0 -106
  263. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date/publication_date.yml +0 -48
  264. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/date.yml +0 -48
  265. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year-month.yml +0 -48
  266. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year.yml +0 -48
  267. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/date.yml +0 -48
  268. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/year-month.yml +0 -48
  269. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/year.yml +0 -48
  270. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/date.yml +0 -48
  271. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year-month.yml +0 -48
  272. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year.yml +0 -48
  273. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/future.yml +0 -48
  274. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/invalid.yml +0 -48
  275. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/nil.yml +0 -48
  276. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/past.yml +0 -48
  277. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/present.yml +0 -48
  278. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_familyName.yml +0 -55
  279. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_Thai.yml +0 -55
  280. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order.yml +0 -55
  281. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order_with_ORCID.yml +0 -55
  282. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_sort-order.yml +0 -55
  283. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/hyper-authorship.yml +0 -55
  284. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/is_organization.yml +0 -48
  285. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_author_names_in_one_field.yml +0 -55
  286. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_name_identifier.yml +0 -55
  287. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_affiliation.yml +0 -55
  288. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_affiliation_and_country.yml +0 -114
  289. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_role.yml +0 -55
  290. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/only_familyName_and_givenName.yml +0 -57
  291. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting.yml +0 -117
  292. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting_with_new_DOI.yml +0 -117
  293. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/harvard_dataverse.yml +0 -40
  294. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/pangaea.yml +0 -57
  295. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/zenodo.yml +0 -62
  296. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/only_title.yml +0 -48
  297. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_and_pages.yml +0 -48
  298. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_volume_and_pages.yml +0 -48
  299. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_volume_issue_and_pages.yml +0 -48
  300. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_as_codemeta_url.yml +0 -48
  301. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_from_url.yml +0 -48
  302. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_from_url_file.yml +0 -48
  303. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/DOI_RA_not_Crossref_or_DataCite.yml +0 -54
  304. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/unknown_DOI_prefix.yml +0 -54
  305. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_contributors/none.yml +0 -55
  306. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_contributors_Translator/supports_Translator_contributorType.yml +0 -71
  307. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_creators/insert.yml +0 -55
  308. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_dates/insert.yml +0 -55
  309. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_dates_with_Coverage/inserts_date_with_dateType_Coverage.yml +0 -71
  310. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_descriptions/insert.yml +0 -55
  311. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_identifier/doi.yml +0 -55
  312. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_language/insert.yml +0 -55
  313. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_person/creator_only_name.yml +0 -55
  314. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publication_year/insert.yml +0 -55
  315. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publisher/insert.yml +0 -55
  316. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/insert.yml +0 -55
  317. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/related_identifier.yml +0 -55
  318. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers_CSTR/supports_CSTR_relatedIdentifierType.yml +0 -71
  319. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers_HasTranslation/supports_HasTranslation_relationType.yml +0 -71
  320. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers_RRID/supports_RRID_relatedIdentifierType.yml +0 -71
  321. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_items/insert.yml +0 -73
  322. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_resource_type/insert.yml +0 -55
  323. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_resource_type_with_Award/supports_Award_as_resourceTypeGeneral.yml +0 -71
  324. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_resource_type_with_Project/supports_Project_as_resourceTypeGeneral.yml +0 -71
  325. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_rights_list/insert.yml +0 -55
  326. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_sizes/insert.yml +0 -55
  327. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_subjects/insert.yml +0 -73
  328. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_titles/insert.yml +0 -55
  329. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_version/insert.yml +0 -55
  330. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_comma.yml +0 -48
  331. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_family_name.yml +0 -48
  332. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_id.yml +0 -48
  333. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_known_given_name.yml +0 -48
  334. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_no_info.yml +0 -48
  335. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_orcid_id.yml +0 -48
  336. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_type_organization.yml +0 -48
  337. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/missing_comma.yml +0 -106
  338. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/nil.yml +0 -106
  339. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/overlapping_keys.yml +0 -106
  340. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/valid.yml +0 -106
  341. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_cc_url/not_found.yml +0 -48
  342. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_cc_url/with_trailing_slash.yml +0 -48
  343. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_cc_url/with_trailing_slash_and_to_https.yml +0 -48
  344. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/SICI_doi.yml +0 -48
  345. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi.yml +0 -48
  346. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_force_datacite_sandbox.yml +0 -48
  347. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_from_datacite_sandbox.yml +0 -48
  348. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_from_url_without_doi_proxy.yml +0 -48
  349. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_too_long.yml +0 -48
  350. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_with_string.yml +0 -48
  351. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_with_protocol.yml +0 -48
  352. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/dx_doi_org_url.yml +0 -48
  353. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/https_url.yml +0 -48
  354. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/not_valid_doi_prefix.yml +0 -48
  355. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/url_with_one_slash.yml +0 -48
  356. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi.yml +0 -48
  357. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi_as_url.yml +0 -48
  358. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/ftp.yml +0 -48
  359. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/invalid_url.yml +0 -48
  360. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/sandbox_via_options.yml +0 -48
  361. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/sandbox_via_url.yml +0 -48
  362. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/string.yml +0 -48
  363. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url.yml +0 -48
  364. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url_with_utf-8.yml +0 -48
  365. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/doi.yml +0 -48
  366. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/url.yml +0 -48
  367. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_array.yml +0 -48
  368. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_empty_array.yml +0 -48
  369. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_hash.yml +0 -48
  370. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_string.yml +0 -48
  371. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/uri.yml +0 -48
  372. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/with_trailing_slash.yml +0 -48
  373. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/with_trailing_slash_and_to_https.yml +0 -48
  374. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/array.yml +0 -48
  375. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/array_of_strings.yml +0 -48
  376. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/first.yml +0 -48
  377. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/hash.yml +0 -48
  378. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/nil.yml +0 -48
  379. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/string.yml +0 -48
  380. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_only_keep_specific_tags.yml +0 -48
  381. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_remove_a_tags.yml +0 -48
  382. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/hsh_to_spdx_id.yml +0 -48
  383. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/hsh_to_spdx_not_found.yml +0 -48
  384. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/hsh_to_spdx_url.yml +0 -48
  385. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/name_to_spdx_exists.yml +0 -48
  386. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/name_to_spdx_id.yml +0 -48
  387. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org/with_id.yml +0 -48
  388. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org_identifiers/with_identifiers.yml +0 -48
  389. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_doi/doi.yml +0 -48
  390. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_10.yml +0 -48
  391. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_11.yml +0 -48
  392. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_12.yml +0 -48
  393. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_13.yml +0 -48
  394. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_14.yml +0 -48
  395. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_4.yml +0 -48
  396. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_5.yml +0 -48
  397. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_6.yml +0 -48
  398. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_7.yml +0 -48
  399. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_8.yml +0 -48
  400. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_9.yml +0 -48
  401. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/funder_doi.yml +0 -48
  402. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/funder_doi_without_prefix.yml +0 -48
  403. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/non-funder_doi.yml +0 -48
  404. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid.yml +0 -48
  405. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_https.yml +0 -48
  406. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_id.yml +0 -48
  407. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_sandbox.yml +0 -65
  408. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_sandbox_https.yml +0 -65
  409. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_with_spaces.yml +0 -48
  410. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_wrong_id.yml +0 -48
  411. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_www.yml +0 -48
  412. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme.yml +0 -48
  413. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_https.yml +0 -48
  414. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_trailing_slash.yml +0 -48
  415. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_www.yml +0 -48
  416. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi.yml +0 -48
  417. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi_as_url.yml +0 -48
  418. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi_with_protocol.yml +0 -48
  419. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/only_prefix.yml +0 -48
  420. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/DOI.yml +0 -48
  421. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/ISSN.yml +0 -48
  422. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/URL.yml +0 -48
  423. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/string.yml +0 -48
  424. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/BlogPosting.yml +0 -55
  425. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/Dataset.yml +0 -55
  426. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/authors_with_affiliations.yml +0 -114
  427. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/climate_data.yml +0 -55
  428. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/from_schema_org.yml +0 -115
  429. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/keywords_subject_scheme.yml +0 -55
  430. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/maremma.yml +0 -75
  431. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/text.yml +0 -55
  432. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_data_citation.yml +0 -55
  433. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_pages.yml +0 -52
  434. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Dataset.yml +0 -55
  435. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Journal_article.yml +0 -55
  436. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Journal_article_vancouver_style.yml +0 -55
  437. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Missing_author.yml +0 -49
  438. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/interactive_resource_without_dates.yml +0 -55
  439. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/software_w/version.yml +0 -55
  440. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/Another_dataset.yml +0 -55
  441. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting.yml +0 -55
  442. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting_schema_org.yml +0 -115
  443. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/Dataset.yml +0 -55
  444. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/container_title.yml +0 -55
  445. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/interactive_resource_without_dates.yml +0 -55
  446. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/journal_article.yml +0 -55
  447. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/keywords_subject_scheme.yml +0 -55
  448. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/maremma.yml +0 -75
  449. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/missing_creator.yml +0 -49
  450. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/multiple_abstracts.yml +0 -55
  451. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/organization_author.yml +0 -52
  452. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/software.yml +0 -55
  453. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/software_w/version.yml +0 -55
  454. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_only_first_page.yml +0 -50
  455. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_pages.yml +0 -52
  456. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite.yml +0 -55
  457. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite_check_codemeta_v2.yml +0 -55
  458. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/datacite_database_attributes.yml +0 -55
  459. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/maremma.yml +0 -75
  460. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_ORCID_ID.yml +0 -52
  461. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation.yml +0 -55
  462. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation_schema_org.yml +0 -117
  463. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crossref/from_DataCite.yml +0 -55
  464. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/climate_data.yml +0 -55
  465. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/maremma.yml +0 -75
  466. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/text.yml +0 -55
  467. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/with_data_citation.yml +0 -55
  468. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/with_pages.yml +0 -52
  469. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/maremma.yml +0 -75
  470. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_ORCID_ID.yml +0 -52
  471. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_data_citation.yml +0 -55
  472. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_data_citation_schema_org.yml +0 -117
  473. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/DOI_not_found.yml +0 -51
  474. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Dataset_in_schema_4_0.yml +0 -55
  475. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Text_pass-thru.yml +0 -55
  476. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Text_pass-thru_with_doi_in_options.yml +0 -55
  477. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/maremma.yml +0 -75
  478. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_ORCID_ID.yml +0 -52
  479. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation.yml +0 -55
  480. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation_schema_org.yml +0 -115
  481. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_editor.yml +0 -49
  482. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_version.yml +0 -55
  483. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/Dataset_in_schema_4_0.yml +0 -55
  484. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/Text_pass-thru.yml +0 -55
  485. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/book_chapter.yml +0 -88
  486. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/interactive_resource_without_dates.yml +0 -55
  487. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/maremma.yml +0 -75
  488. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_ORCID_ID.yml +0 -52
  489. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_data_citation.yml +0 -55
  490. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_data_citation_schema_org.yml +0 -117
  491. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_editor.yml +0 -49
  492. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/BlogPosting.yml +0 -55
  493. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/BlogPosting_schema_org.yml +0 -117
  494. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/journal_article.yml +0 -55
  495. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/maremma.yml +0 -75
  496. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/with_pages.yml +0 -52
  497. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting.yml +0 -55
  498. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting_schema_org.yml +0 -117
  499. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/Dataset.yml +0 -55
  500. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/alternate_name.yml +0 -55
  501. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/journal_article.yml +0 -55
  502. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/keywords_with_subject_scheme.yml +0 -55
  503. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/maremma.yml +0 -75
  504. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/with_pages.yml +0 -52
  505. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Funding.yml +0 -106
  506. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Funding_OpenAIRE.yml +0 -106
  507. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON.yml +0 -55
  508. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_Cyark.yml +0 -106
  509. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_IsSupplementTo.yml +0 -106
  510. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_isReferencedBy.yml +0 -55
  511. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/alternate_identifiers.yml +0 -55
  512. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/data_catalog.yml +0 -55
  513. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/geo_location_box.yml +0 -55
  514. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/interactive_resource_without_dates.yml +0 -55
  515. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/journal_article.yml +0 -55
  516. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/maremma_schema_org_JSON.yml +0 -75
  517. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/series_information.yml +0 -55
  518. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/subject_scheme.yml +0 -55
  519. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/subject_scheme_multiple_keywords.yml +0 -55
  520. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/BlogPosting.yml +0 -55
  521. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/BlogPosting_schema_org.yml +0 -117
  522. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/Dataset.yml +0 -55
  523. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/journal_article.yml +0 -55
  524. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/with_pages.yml +0 -52
  525. data/spec/fixtures/vivli.xml +0 -1
  526. data/spec/metadata_spec.rb +0 -165
  527. data/spec/readers/bibtex_reader_spec.rb +0 -65
  528. data/spec/readers/citeproc_reader_spec.rb +0 -65
  529. data/spec/readers/codemeta_reader_spec.rb +0 -138
  530. data/spec/readers/crosscite_reader_spec.rb +0 -43
  531. data/spec/readers/crossref_reader_spec.rb +0 -1133
  532. data/spec/readers/datacite_json_reader_spec.rb +0 -82
  533. data/spec/readers/datacite_reader_spec.rb +0 -1865
  534. data/spec/readers/npm_reader_spec.rb +0 -68
  535. data/spec/readers/ris_reader_spec.rb +0 -78
  536. data/spec/readers/schema_org_reader_spec.rb +0 -371
  537. data/spec/spec_helper.rb +0 -95
  538. data/spec/utils_spec.rb +0 -666
  539. data/spec/writers/bibtex_writer_spec.rb +0 -195
  540. data/spec/writers/citation_writer_spec.rb +0 -61
  541. data/spec/writers/citeproc_writer_spec.rb +0 -299
  542. data/spec/writers/codemeta_writer_spec.rb +0 -45
  543. data/spec/writers/crosscite_writer_spec.rb +0 -129
  544. data/spec/writers/crossref_writer_spec.rb +0 -21
  545. data/spec/writers/csv_writer_spec.rb +0 -94
  546. data/spec/writers/datacite_json_writer_spec.rb +0 -112
  547. data/spec/writers/datacite_writer_spec.rb +0 -578
  548. data/spec/writers/jats_writer_spec.rb +0 -208
  549. data/spec/writers/rdf_xml_writer_spec.rb +0 -93
  550. data/spec/writers/ris_writer_spec.rb +0 -207
  551. data/spec/writers/schema_org_writer_spec.rb +0 -426
  552. data/spec/writers/turtle_writer_spec.rb +0 -102
@@ -1,1133 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- describe Bolognese::Metadata, vcr: true do
6
- let(:input) { "10.7554/eLife.01567" }
7
-
8
- subject { Bolognese::Metadata.new(input: input) }
9
-
10
- context "get crossref raw" do
11
- it "journal article" do
12
- input = fixture_path + 'crossref.xml'
13
- subject = Bolognese::Metadata.new(input: input)
14
- expect(subject.raw).to eq(IO.read(input).strip)
15
- end
16
- end
17
-
18
- context "get crossref metadata" do
19
- it "DOI with data citation" do
20
- expect(subject.valid?).to be true
21
- expect(subject.id).to eq("https://doi.org/10.7554/elife.01567")
22
- expect(subject.identifiers).to eq([{"identifier"=>"e01567", "identifierType"=>"article_number"}])
23
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
24
- expect(subject.url).to eq("https://elifesciences.org/articles/01567")
25
- expect(subject.creators.length).to eq(5)
26
- expect(subject.creators.first).to eq("nameType"=>"Personal", "name"=>"Sankar, Martial", "givenName"=>"Martial", "familyName"=>"Sankar", "affiliation" => [{"name"=>"Department of Plant Molecular Biology, University of Lausanne, Lausanne, Switzerland"}])
27
- expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Attribution 3.0 Unported",
28
- "rightsIdentifier"=>"cc-by-3.0",
29
- "rightsIdentifierScheme"=>"SPDX",
30
- "rightsUri"=>"https://creativecommons.org/licenses/by/3.0/legalcode",
31
- "schemeUri"=>"https://spdx.org/licenses/"}])
32
- expect(subject.titles).to eq([{"title"=>"Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth"}])
33
- expect(subject.dates).to eq([{"date"=>"2014-02-11", "dateType"=>"Issued"}, {"date"=>"2018-08-23T09:41:49Z", "dateType"=>"Updated"}])
34
- expect(subject.publication_year).to eq("2014")
35
- expect(subject.publisher).to eq({"name"=>"eLife Sciences Publications, Ltd"})
36
- expect(subject.container).to eq("firstPage" => "e01567", "identifier"=>"2050-084X", "identifierType"=>"ISSN", "title"=>"eLife", "type"=>"Journal", "volume"=>"3")
37
- expect(subject.related_identifiers.length).to eq(27)
38
- expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"2050-084X", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
39
- expect(subject.related_identifiers.last).to eq("relatedIdentifier"=>"10.1038/ncb2764", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
40
- expect(subject.funding_references).to eq([{"funderName"=>"SystemsX"},
41
- {"funderIdentifier"=>"https://doi.org/10.13039/501100003043",
42
- "funderIdentifierType"=>"Crossref Funder ID",
43
- "funderName"=>"EMBO"},
44
- {"funderIdentifier"=>"https://doi.org/10.13039/501100001711",
45
- "funderIdentifierType"=>"Crossref Funder ID",
46
- "funderName"=>"Swiss National Science Foundation"},
47
- {"funderIdentifier"=>"https://doi.org/10.13039/501100006390",
48
- "funderIdentifierType"=>"Crossref Funder ID",
49
- "funderName"=>"University of Lausanne"}])
50
- expect(subject.agency).to eq("crossref")
51
- end
52
-
53
- it "journal article" do
54
- input = "https://doi.org/10.1371/journal.pone.0000030"
55
- subject = Bolognese::Metadata.new(input: input)
56
- expect(subject.valid?).to be true
57
- expect(subject.id).to eq("https://doi.org/10.1371/journal.pone.0000030")
58
- expect(subject.identifiers).to eq([{"identifier"=>"10.1371/journal.pone.0000030", "identifierType"=>"Publisher ID"}])
59
- expect(subject.url).to eq("https://dx.plos.org/10.1371/journal.pone.0000030")
60
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
61
- expect(subject.creators.length).to eq(5)
62
- expect(subject.creators.first).to eq("nameType"=>"Personal", "name"=>"Ralser, Markus", "givenName"=>"Markus", "familyName"=>"Ralser")
63
- expect(subject.contributors).to eq([{"contributorType"=>"Editor", "familyName"=>"Janbon", "givenName"=>"Guilhem", "name"=>"Janbon, Guilhem", "nameType"=>"Personal"}])
64
- expect(subject.titles).to eq([{"title"=>"Triose Phosphate Isomerase Deficiency Is Caused by Altered Dimerization???Not Catalytic Inactivity???of the Mutant Enzymes"}])
65
- expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Attribution 4.0 International",
66
- "rightsIdentifier"=>"cc-by-4.0",
67
- "rightsIdentifierScheme"=>"SPDX",
68
- "rightsUri"=>"https://creativecommons.org/licenses/by/4.0/legalcode",
69
- "schemeUri"=>"https://spdx.org/licenses/"}])
70
- expect(subject.dates).to eq([{"date"=>"2006-12-20", "dateType"=>"Issued"}, {"date"=>"2020-05-09T09:35:17Z", "dateType"=>"Updated"}])
71
- expect(subject.publication_year).to eq("2006")
72
- expect(subject.publisher).to eq({"name"=>"Public Library of Science (PLoS)"})
73
- expect(subject.related_identifiers.length).to eq(64)
74
- expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"1932-6203", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
75
- expect(subject.related_identifiers.last).to eq("relatedIdentifier"=>"10.1056/nejm199109123251104", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
76
- expect(subject.container).to eq("firstPage"=>"e30", "identifier"=>"1932-6203", "identifierType"=>"ISSN", "issue"=>"1", "title"=>"PLoS ONE", "type"=>"Journal", "volume"=>"1")
77
- expect(subject.agency).to eq("crossref")
78
- end
79
-
80
- it "journal article with funding" do
81
- input = "https://doi.org/10.3389/fpls.2019.00816"
82
- subject = Bolognese::Metadata.new(input: input)
83
- expect(subject.valid?).to be true
84
- expect(subject.id).to eq("https://doi.org/10.3389/fpls.2019.00816")
85
- expect(subject.identifiers).to eq([{"identifier"=>"816", "identifierType"=>"article_number"}])
86
- expect(subject.url).to eq("https://www.frontiersin.org/article/10.3389/fpls.2019.00816/full")
87
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
88
- expect(subject.creators.length).to eq(4)
89
- expect(subject.creators.first).to eq("familyName"=>"Fortes", "givenName"=>"Ana Margarida", "name"=>"Fortes, Ana Margarida", "nameType"=>"Personal")
90
- expect(subject.titles).to eq([{"title"=>"Transcriptional Modulation of Polyamine Metabolism in Fruit Species Under Abiotic and Biotic Stress"}])
91
- expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Attribution 4.0 International",
92
- "rightsIdentifier"=>"cc-by-4.0",
93
- "rightsIdentifierScheme"=>"SPDX",
94
- "rightsUri"=>"https://creativecommons.org/licenses/by/4.0/legalcode",
95
- "schemeUri"=>"https://spdx.org/licenses/"}])
96
- expect(subject.dates).to eq([{"date"=>"2019-07-02", "dateType"=>"Issued"}, {"date"=>"2019-09-22T06:40:23Z", "dateType"=>"Updated"}])
97
- expect(subject.publication_year).to eq("2019")
98
- expect(subject.publisher).to eq({"name"=>"Frontiers Media SA"})
99
- expect(subject.funding_references).to eq([{"awardNumber"=>"CA17111", "funderIdentifier"=>"https://doi.org/10.13039/501100000921", "funderIdentifierType"=>"Crossref Funder ID", "funderName"=>"COST (European Cooperation in Science and Technology)"}])
100
- expect(subject.related_identifiers.length).to eq(70)
101
- expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"1664-462X", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
102
- expect(subject.related_identifiers.last).to eq("relatedIdentifier"=>"10.17660/actahortic.2004.632.41", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
103
- expect(subject.container).to eq("firstPage" => "816", "identifier"=>"1664-462X", "identifierType"=>"ISSN", "title"=>"Frontiers in Plant Science", "type"=>"Journal", "volume"=>"10")
104
- expect(subject.agency).to eq("crossref")
105
- end
106
-
107
- it "journal article original language title" do
108
- input = "https://doi.org/10.7600/jspfsm.56.60"
109
- subject = Bolognese::Metadata.new(input: input)
110
- expect(subject.valid?).to be true
111
- expect(subject.id).to eq("https://doi.org/10.7600/jspfsm.56.60")
112
- expect(subject.url).to eq("https://www.jstage.jst.go.jp/article/jspfsm/56/1/56_1_60/_article/-char/ja/")
113
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
114
- expect(subject.creators).to eq([{"name"=>":(unav)", "nameType"=>"Organizational"}])
115
- expect(subject.titles).to eq([{"lang"=>"ja", "title"=>"??????????????????????????????"}])
116
- expect(subject.dates).to include({"date"=>"2007", "dateType"=>"Issued"})
117
- expect(subject.publication_year).to eq("2007")
118
- expect(subject.publisher).to eq({"name"=>"The Japanese Society of Physical Fitness and Sports Medicine"})
119
- expect(subject.related_identifiers.length).to eq(1)
120
- expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"1881-4751", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
121
- expect(subject.container).to eq("firstPage"=>"60", "identifier"=>"1881-4751", "identifierType"=>"ISSN", "issue"=>"1", "lastPage"=>"60", "title"=>"Japanese Journal of Physical Fitness and Sports Medicine", "type"=>"Journal", "volume"=>"56")
122
- expect(subject.agency).to eq("crossref")
123
- end
124
-
125
- it "journal article with RDF for container" do
126
- input = "https://doi.org/10.1163/1937240X-00002096"
127
- subject = Bolognese::Metadata.new(input: input)
128
- expect(subject.valid?).to be true
129
- expect(subject.id).to eq("https://doi.org/10.1163/1937240x-00002096")
130
- expect(subject.url).to eq("https://academic.oup.com/jcb/article-lookup/doi/10.1163/1937240X-00002096")
131
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
132
- expect(subject.creators.length).to eq(8)
133
- expect(subject.creators.first).to eq("familyName"=>"Mesquita-Joanes", "givenName"=>"Francesc", "name"=>"Mesquita-Joanes, Francesc", "nameType"=>"Personal")
134
- expect(subject.titles).to eq([{"title"=>"Global distribution of Fabaeformiscandona subacuta: an??exotic??invasive Ostracoda on the Iberian Peninsula?"}])
135
- expect(subject.dates).to include({"date"=>"2012-01-01", "dateType"=>"Issued"})
136
- expect(subject.publication_year).to eq("2012")
137
- expect(subject.publisher).to eq({"name"=>"Oxford University Press (OUP)"})
138
- expect(subject.related_identifiers.length).to eq(44)
139
- expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"1937-240X", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
140
- expect(subject.related_identifiers.last).to eq("relatedIdentifier"=>"10.1002/aqc.1122", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
141
- expect(subject.container).to eq("firstPage"=>"949", "identifier"=>"1937-240X", "identifierType"=>"ISSN", "issue"=>"6", "lastPage"=>"961", "title"=>"Journal of Crustacean Biology", "type"=>"Journal", "volume"=>"32")
142
- expect(subject.agency).to eq("crossref")
143
- end
144
-
145
- it "book chapter with RDF for container" do
146
- input = "10.1007/978-3-642-33191-6_49"
147
- subject = Bolognese::Metadata.new(input: input)
148
- expect(subject.valid?).to be true
149
- expect(subject.id).to eq("https://doi.org/10.1007/978-3-642-33191-6_49")
150
- expect(subject.url).to eq("http://link.springer.com/10.1007/978-3-642-33191-6_49")
151
- expect(subject.types).to eq("bibtex"=>"inbook", "citeproc"=>"chapter", "resourceType"=>"BookChapter", "resourceTypeGeneral"=>"BookChapter", "ris"=>"CHAP", "schemaOrg"=>"Chapter")
152
- expect(subject.creators.length).to eq(3)
153
- expect(subject.creators.first).to eq("familyName"=>"Chen", "givenName"=>"Lili", "name"=>"Chen, Lili", "nameType"=>"Personal")
154
- expect(subject.titles).to eq([{"title"=>"Human Body Orientation Estimation in Multiview Scenarios"}])
155
- expect(subject.dates).to eq([{"date"=>"2012", "dateType"=>"Issued"}, {"date"=>"2020-11-24T03:11:32Z", "dateType"=>"Updated"}])
156
- expect(subject.publication_year).to eq("2012")
157
- expect(subject.publisher).to eq({"name"=>"Springer Science and Business Media LLC"})
158
- expect(subject.related_identifiers.length).to eq(7)
159
- expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"10.1007/978-3-540-24670-1_3", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
160
- expect(subject.container).to eq("identifier"=>"1611-3349", "identifierType"=>"ISSN", "title"=>"Lecture Notes in Computer Science", "type"=>"Book Series")
161
- expect(subject.agency).to eq("crossref")
162
- end
163
-
164
- it "posted_content" do
165
- input = "https://doi.org/10.1101/097196"
166
- subject = Bolognese::Metadata.new(input: input)
167
- expect(subject.valid?).to be true
168
- expect(subject.url).to eq("http://biorxiv.org/lookup/doi/10.1101/097196")
169
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"PostedContent", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
170
- expect(subject.creators.count).to eq(11)
171
- expect(subject.creators.last).to eq("nameType"=>"Personal", "nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0003-4060-7360", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}], "name"=>"Clark, Timothy", "givenName"=>"Timothy", "familyName"=>"Clark")
172
- expect(subject.titles).to eq([{"title"=>"A Data Citation Roadmap for Scholarly Data Repositories"}])
173
- expect(subject.id).to eq("https://doi.org/10.1101/097196")
174
- expect(subject.identifiers).to eq([{"identifier"=>"biorxiv;097196v2", "identifierType"=>"Publisher ID"}])
175
- expect(subject.descriptions.first["description"]).to start_with("This article presents a practical roadmap")
176
- expect(subject.dates).to include({"date"=>"2017-10-09", "dateType"=>"Issued"})
177
- expect(subject.publication_year).to eq("2017")
178
- expect(subject.publisher).to eq({"name"=>"Cold Spring Harbor Laboratory"})
179
- expect(subject.agency).to eq("crossref")
180
- end
181
-
182
- it "peer review" do
183
- input = "https://doi.org/10.7554/elife.55167.sa2"
184
- subject = Bolognese::Metadata.new(input: input)
185
- expect(subject.valid?).to be true
186
- expect(subject.url).to eq("https://elifesciences.org/articles/55167#sa2")
187
- expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"article-journal", "resourceType"=>"PeerReview", "resourceTypeGeneral"=>"PeerReview", "ris"=>"JOUR", "schemaOrg"=>"Review")
188
- expect(subject.creators.count).to eq(8)
189
- expect(subject.creators.last).to eq("affiliation" => [{"name"=>"Center for Computational Mathematics, Flatiron Institute, New York, United States"}],
190
- "familyName" => "Barnett",
191
- "givenName" => "Alex H",
192
- "name" => "Barnett, Alex H",
193
- "nameType" => "Personal")
194
- expect(subject.titles).to eq([{"title"=>"Author response: SpikeForest, reproducible web-facing ground-truth validation of automated neural spike sorters"}])
195
- expect(subject.id).to eq("https://doi.org/10.7554/elife.55167.sa2")
196
- expect(subject.identifiers).to be_empty
197
- expect(subject.descriptions).to be_empty
198
- expect(subject.dates).to include({"date"=>"2020-05-19", "dateType"=>"Issued"})
199
- expect(subject.publication_year).to eq("2020")
200
- expect(subject.publisher).to eq({"name"=>"eLife Sciences Publications, Ltd"})
201
- expect(subject.agency).to eq("crossref")
202
- end
203
-
204
- it "dissertation" do
205
- input = "https://doi.org/10.14264/uql.2020.791"
206
- subject = Bolognese::Metadata.new(input: input)
207
- expect(subject.valid?).to be true
208
- expect(subject.url).to eq("http://espace.library.uq.edu.au/view/UQ:23a1e74")
209
- expect(subject.types).to eq("bibtex"=>"phdthesis", "citeproc"=>"thesis", "resourceType"=>"Dissertation", "resourceTypeGeneral"=>"Dissertation", "ris"=>"THES", "schemaOrg"=>"Thesis")
210
- expect(subject.creators).to eq([{"familyName"=>"Collingwood",
211
- "givenName"=>"Patricia Maree",
212
- "name"=>"Collingwood, Patricia Maree",
213
- "nameIdentifiers"=>
214
- [{"nameIdentifier"=>"https://orcid.org/0000-0003-3086-4443",
215
- "nameIdentifierScheme"=>"ORCID",
216
- "schemeUri"=>"https://orcid.org"}],
217
- "nameType"=>"Personal"}])
218
- expect(subject.titles).to eq([{"title"=>"School truancy and financial independence during emerging adulthood: a longitudinal analysis of receipt of and reliance on cash transfers"}])
219
- expect(subject.id).to eq("https://doi.org/10.14264/uql.2020.791")
220
- expect(subject.identifiers).to be_empty
221
- expect(subject.descriptions).to be_empty
222
- expect(subject.dates).to include({"date"=>"2020-06-08", "dateType"=>"Issued"})
223
- expect(subject.publication_year).to eq("2020")
224
- expect(subject.publisher).to eq({"name"=>"University of Queensland Library"})
225
- expect(subject.agency).to eq("crossref")
226
- end
227
-
228
- it "DOI with SICI DOI" do
229
- input = "https://doi.org/10.1890/0012-9658(2006)87[2832:tiopma]2.0.co;2"
230
- subject = Bolognese::Metadata.new(input: input)
231
- expect(subject.valid?).to be true
232
- expect(subject.id).to eq("https://doi.org/10.1890/0012-9658(2006)87%255b2832:tiopma%255d2.0.co;2")
233
- expect(subject.url).to eq("http://doi.wiley.com/10.1890/0012-9658(2006)87[2832:TIOPMA]2.0.CO;2")
234
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
235
- expect(subject.creators).to eq([{"nameType"=>"Personal", "name"=>"Fenton, A.", "givenName"=>"A.", "familyName"=>"Fenton"}, {"nameType"=>"Personal", "name"=>"Rands, S. A.", "givenName"=>"S. A.", "familyName"=>"Rands"}])
236
- expect(subject.rights_list).to eq([{"rightsUri"=>"http://doi.wiley.com/10.1002/tdm_license_1.1"}])
237
- expect(subject.titles).to eq([{"title"=>"THE IMPACT OF PARASITE MANIPULATION AND PREDATOR FORAGING BEHAVIOR ON PREDATOR???PREY COMMUNITIES"}])
238
- expect(subject.dates).to eq([{"date"=>"2006-11", "dateType"=>"Issued"}, {"date"=>"2019-04-28T17:51:50Z", "dateType"=>"Updated"}])
239
- expect(subject.publication_year).to eq("2006")
240
- expect(subject.publisher).to eq({"name"=>"Wiley"})
241
- expect(subject.related_identifiers.length).to eq(35)
242
- expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"0012-9658", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
243
- expect(subject.related_identifiers.last).to eq("relatedIdentifier"=>"10.1098/rspb.2002.2213", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
244
- expect(subject.container).to eq("firstPage"=>"2832", "identifier"=>"0012-9658", "identifierType"=>"ISSN", "issue"=>"11", "lastPage"=>"2841", "title"=>"Ecology", "type"=>"Journal", "volume"=>"87")
245
- expect(subject.agency).to eq("crossref")
246
- end
247
-
248
- it "DOI with ORCID ID" do
249
- input = "https://doi.org/10.1155/2012/291294"
250
- subject = Bolognese::Metadata.new(input: input)
251
- expect(subject.valid?).to be true
252
- expect(subject.id).to eq("https://doi.org/10.1155/2012/291294")
253
- expect(subject.url).to eq("http://www.hindawi.com/journals/pm/2012/291294/")
254
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
255
- expect(subject.creators.length).to eq(7)
256
- expect(subject.creators[2]).to eq("nameType"=>"Personal", "nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0003-2043-4925", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}], "name"=>"Hernandez, Beatriz", "givenName"=>"Beatriz", "familyName"=>"Hernandez", "affiliation" => [{"name"=>"War Related Illness and Injury Study Center (WRIISC) and Mental Illness Research Education and Clinical Center (MIRECC), Department of Veterans Affairs, Palo Alto, CA 94304, USA"}, {"name"=>"Department of Psychiatry and Behavioral Sciences, Stanford University School of Medicine, Stanford, CA 94304, USA"}])
257
- expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Attribution 3.0 Unported",
258
- "rightsIdentifier"=>"cc-by-3.0",
259
- "rightsIdentifierScheme"=>"SPDX",
260
- "rightsUri"=>"https://creativecommons.org/licenses/by/3.0/legalcode",
261
- "schemeUri"=>"https://spdx.org/licenses/"}])
262
- expect(subject.titles).to eq([{"title"=>"Delineating a Retesting Zone Using Receiver Operating Characteristic Analysis on Serial QuantiFERON Tuberculosis Test Results in US Healthcare Workers"}])
263
- expect(subject.dates).to include({"date"=>"2012", "dateType"=>"Issued"})
264
- expect(subject.publication_year).to eq("2012")
265
- expect(subject.publisher).to eq({"name"=>"Hindawi Limited"})
266
- expect(subject.related_identifiers.length).to eq(18)
267
- expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"2090-1844", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
268
- expect(subject.related_identifiers.last).to eq("relatedIdentifier"=>"10.1378/chest.12-0045", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
269
- expect(subject.container).to eq("firstPage"=>"1", "identifier"=>"2090-1844", "identifierType"=>"ISSN", "lastPage"=>"7", "title"=>"Pulmonary Medicine", "type"=>"Journal", "volume"=>"2012")
270
- expect(subject.agency).to eq("crossref")
271
- end
272
-
273
- it "date in future" do
274
- input = "https://doi.org/10.1016/j.ejphar.2015.03.018"
275
- subject = Bolognese::Metadata.new(input: input)
276
- expect(subject.valid?).to be true
277
- expect(subject.id).to eq("https://doi.org/10.1016/j.ejphar.2015.03.018")
278
- expect(subject.identifiers).to eq([{"identifier"=>"S0014299915002332", "identifierType"=>"sequence-number"}])
279
- expect(subject.url).to eq("https://linkinghub.elsevier.com/retrieve/pii/S0014299915002332")
280
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
281
- expect(subject.creators.length).to eq(10)
282
- expect(subject.creators.first).to eq("nameType"=>"Personal", "name"=>"Beck, Sarah E.", "givenName"=>"Sarah E.", "familyName"=>"Beck")
283
- expect(subject.titles).to eq([{"title"=>"Paving the path to HIV neurotherapy: Predicting SIV CNS disease"}])
284
- expect(subject.dates).to include({"date"=>"2015-07", "dateType"=>"Issued"})
285
- expect(subject.publication_year).to eq("2015")
286
- expect(subject.publisher).to eq({"name"=>"Elsevier BV"})
287
- expect(subject.related_identifiers).to eq([{"relatedIdentifier"=>"0014-2999", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection"},
288
- {"relatedIdentifier"=>"10.1212/01.wnl.0000287431.88658.8b",
289
- "relatedIdentifierType"=>"DOI",
290
- "relationType"=>"References"},
291
- {"relatedIdentifier"=>"10.1182/blood-2010-09-308684",
292
- "relatedIdentifierType"=>"DOI",
293
- "relationType"=>"References"},
294
- {"relatedIdentifier"=>"10.1007/s13365-015-0313-7",
295
- "relatedIdentifierType"=>"DOI",
296
- "relationType"=>"References"},
297
- {"relatedIdentifier"=>"10.1016/j.jneuroim.2006.04.017",
298
- "relatedIdentifierType"=>"DOI",
299
- "relationType"=>"References"},
300
- {"relatedIdentifier"=>"10.1086/514001",
301
- "relatedIdentifierType"=>"DOI",
302
- "relationType"=>"References"},
303
- {"relatedIdentifier"=>"10.1002/ana.410310403",
304
- "relatedIdentifierType"=>"DOI",
305
- "relationType"=>"References"},
306
- {"relatedIdentifier"=>"10.1093/infdis/jir214",
307
- "relatedIdentifierType"=>"DOI",
308
- "relationType"=>"References"},
309
- {"relatedIdentifier"=>"10.1097/qad.0b013e32836010bd",
310
- "relatedIdentifierType"=>"DOI",
311
- "relationType"=>"References"},
312
- {"relatedIdentifier"=>"10.1261/rna.036863.112",
313
- "relatedIdentifierType"=>"DOI",
314
- "relationType"=>"References"},
315
- {"relatedIdentifier"=>"10.4103/0019-5359.107389",
316
- "relatedIdentifierType"=>"DOI",
317
- "relationType"=>"References"},
318
- {"relatedIdentifier"=>"10.3233/jad-2008-14103",
319
- "relatedIdentifierType"=>"DOI",
320
- "relationType"=>"References"},
321
- {"relatedIdentifier"=>"10.1126/science.287.5455.959",
322
- "relatedIdentifierType"=>"DOI",
323
- "relationType"=>"References"},
324
- {"relatedIdentifier"=>"10.1097/01.qai.0000165799.59322.f5",
325
- "relatedIdentifierType"=>"DOI",
326
- "relationType"=>"References"},
327
- {"relatedIdentifier"=>"10.1002/ana.410420503",
328
- "relatedIdentifierType"=>"DOI",
329
- "relationType"=>"References"},
330
- {"relatedIdentifier"=>"10.1089/ars.2012.4834",
331
- "relatedIdentifierType"=>"DOI",
332
- "relationType"=>"References"},
333
- {"relatedIdentifier"=>"10.1111/j.1600-0404.1987.tb05458.x",
334
- "relatedIdentifierType"=>"DOI",
335
- "relationType"=>"References"},
336
- {"relatedIdentifier"=>"10.1097/00002030-198905000-00006",
337
- "relatedIdentifierType"=>"DOI",
338
- "relationType"=>"References"},
339
- {"relatedIdentifier"=>"10.1002/ana.410200304",
340
- "relatedIdentifierType"=>"DOI",
341
- "relationType"=>"References"},
342
- {"relatedIdentifier"=>"10.1186/1742-6405-2-6",
343
- "relatedIdentifierType"=>"DOI",
344
- "relationType"=>"References"},
345
- {"relatedIdentifier"=>"10.1111/j.1600-0684.1993.tb00649.x",
346
- "relatedIdentifierType"=>"DOI",
347
- "relationType"=>"References"},
348
- {"relatedIdentifier"=>"10.1186/1742-6405-7-15",
349
- "relatedIdentifierType"=>"DOI",
350
- "relationType"=>"References"},
351
- {"relatedIdentifier"=>"10.1212/wnl.0b013e318200d727",
352
- "relatedIdentifierType"=>"DOI",
353
- "relationType"=>"References"},
354
- {"relatedIdentifier"=>"10.1089/aid.2006.0292",
355
- "relatedIdentifierType"=>"DOI",
356
- "relationType"=>"References"},
357
- {"relatedIdentifier"=>"10.1126/science.3646751",
358
- "relatedIdentifierType"=>"DOI",
359
- "relationType"=>"References"},
360
- {"relatedIdentifier"=>"10.1002/ajmg.b.32071",
361
- "relatedIdentifierType"=>"DOI",
362
- "relationType"=>"References"},
363
- {"relatedIdentifier"=>"10.1186/1756-6606-6-40",
364
- "relatedIdentifierType"=>"DOI",
365
- "relationType"=>"References"},
366
- {"relatedIdentifier"=>"10.1086/344938",
367
- "relatedIdentifierType"=>"DOI",
368
- "relationType"=>"References"},
369
- {"relatedIdentifier"=>"10.1128/jvi.71.8.6055-6060.1997",
370
- "relatedIdentifierType"=>"DOI",
371
- "relationType"=>"References"},
372
- {"relatedIdentifier"=>"10.1016/j.jneuroim.2004.08.031",
373
- "relatedIdentifierType"=>"DOI",
374
- "relationType"=>"References"},
375
- {"relatedIdentifier"=>"10.1371/journal.pone.0003603",
376
- "relatedIdentifierType"=>"DOI",
377
- "relationType"=>"References"},
378
- {"relatedIdentifier"=>"10.1093/jnen/61.1.85",
379
- "relatedIdentifierType"=>"DOI",
380
- "relationType"=>"References"},
381
- {"relatedIdentifier"=>"10.1097/qad.0b013e32832c4af0",
382
- "relatedIdentifierType"=>"DOI",
383
- "relationType"=>"References"},
384
- {"relatedIdentifier"=>"10.3389/fgene.2013.00083",
385
- "relatedIdentifierType"=>"DOI",
386
- "relationType"=>"References"},
387
- {"relatedIdentifier"=>"10.1080/13550280390194109",
388
- "relatedIdentifierType"=>"DOI",
389
- "relationType"=>"References"},
390
- {"relatedIdentifier"=>"10.1002/ana.410420504",
391
- "relatedIdentifierType"=>"DOI",
392
- "relationType"=>"References"},
393
- {"relatedIdentifier"=>"10.1001/archneur.61.11.1687",
394
- "relatedIdentifierType"=>"DOI",
395
- "relationType"=>"References"},
396
- {"relatedIdentifier"=>"10.1212/01.wnl.0000277635.05973.55",
397
- "relatedIdentifierType"=>"DOI",
398
- "relationType"=>"References"},
399
- {"relatedIdentifier"=>"10.1038/nmeth.3014",
400
- "relatedIdentifierType"=>"DOI",
401
- "relationType"=>"References"},
402
- {"relatedIdentifier"=>"10.1097/qai.0000000000000048",
403
- "relatedIdentifierType"=>"DOI",
404
- "relationType"=>"References"},
405
- {"relatedIdentifier"=>"10.1093/infdis/jit278",
406
- "relatedIdentifierType"=>"DOI",
407
- "relationType"=>"References"},
408
- {"relatedIdentifier"=>"10.1007/s13365-014-0283-1",
409
- "relatedIdentifierType"=>"DOI",
410
- "relationType"=>"References"},
411
- {"relatedIdentifier"=>"10.1097/00002030-199905280-00010",
412
- "relatedIdentifierType"=>"DOI",
413
- "relationType"=>"References"},
414
- {"relatedIdentifier"=>"10.1097/qco.0b013e32834ef586",
415
- "relatedIdentifierType"=>"DOI",
416
- "relationType"=>"References"},
417
- {"relatedIdentifier"=>"10.4049/jimmunol.169.6.3438",
418
- "relatedIdentifierType"=>"DOI",
419
- "relationType"=>"References"},
420
- {"relatedIdentifier"=>"10.2174/1389200024605082",
421
- "relatedIdentifierType"=>"DOI",
422
- "relationType"=>"References"},
423
- {"relatedIdentifier"=>"10.1126/science.1546323",
424
- "relatedIdentifierType"=>"DOI",
425
- "relationType"=>"References"},
426
- {"relatedIdentifier"=>"10.1016/s1474-4422(14)70137-1",
427
- "relatedIdentifierType"=>"DOI",
428
- "relationType"=>"References"},
429
- {"relatedIdentifier"=>"10.1016/j.jns.2009.06.043",
430
- "relatedIdentifierType"=>"DOI",
431
- "relationType"=>"References"},
432
- {"relatedIdentifier"=>"10.1128/jvi.77.16.9029-9040.2003",
433
- "relatedIdentifierType"=>"DOI",
434
- "relationType"=>"References"},
435
- {"relatedIdentifier"=>"10.1002/jcp.24254",
436
- "relatedIdentifierType"=>"DOI",
437
- "relationType"=>"References"},
438
- {"relatedIdentifier"=>"10.1128/jvi.76.1.292-302.2002",
439
- "relatedIdentifierType"=>"DOI",
440
- "relationType"=>"References"},
441
- {"relatedIdentifier"=>"10.1182/blood-2012-03-414706",
442
- "relatedIdentifierType"=>"DOI",
443
- "relationType"=>"References"},
444
- {"relatedIdentifier"=>"10.1016/j.jneuroim.2013.11.004",
445
- "relatedIdentifierType"=>"DOI",
446
- "relationType"=>"References"},
447
- {"relatedIdentifier"=>"10.1038/nrg3198",
448
- "relatedIdentifierType"=>"DOI",
449
- "relationType"=>"References"},
450
- {"relatedIdentifier"=>"10.1016/s0140-6736(96)10178-1",
451
- "relatedIdentifierType"=>"DOI",
452
- "relationType"=>"References"},
453
- {"relatedIdentifier"=>"10.1128/jvi.00366-11",
454
- "relatedIdentifierType"=>"DOI",
455
- "relationType"=>"References"},
456
- {"relatedIdentifier"=>"10.1007/s13365-011-0053-2",
457
- "relatedIdentifierType"=>"DOI",
458
- "relationType"=>"References"},
459
- {"relatedIdentifier"=>"10.1083/jcb.201211138",
460
- "relatedIdentifierType"=>"DOI",
461
- "relationType"=>"References"},
462
- {"relatedIdentifier"=>"10.1111/j.1600-0684.2011.00475.x",
463
- "relatedIdentifierType"=>"DOI",
464
- "relationType"=>"References"},
465
- {"relatedIdentifier"=>"10.1038/srep05915",
466
- "relatedIdentifierType"=>"DOI",
467
- "relationType"=>"References"},
468
- {"relatedIdentifier"=>"10.1096/fj.09-143503",
469
- "relatedIdentifierType"=>"DOI",
470
- "relationType"=>"References"},
471
- {"relatedIdentifier"=>"10.1542/peds.111.2.e168",
472
- "relatedIdentifierType"=>"DOI",
473
- "relationType"=>"References"},
474
- {"relatedIdentifier"=>"10.2174/1566524013363555",
475
- "relatedIdentifierType"=>"DOI",
476
- "relationType"=>"References"},
477
- {"relatedIdentifier"=>"10.1126/science.283.5403.857",
478
- "relatedIdentifierType"=>"DOI",
479
- "relationType"=>"References"},
480
- {"relatedIdentifier"=>"10.1212/01.wnl.0000145763.68284.15",
481
- "relatedIdentifierType"=>"DOI",
482
- "relationType"=>"References"},
483
- {"relatedIdentifier"=>"10.1002/ana.410230727",
484
- "relatedIdentifierType"=>"DOI",
485
- "relationType"=>"References"},
486
- {"relatedIdentifier"=>"10.1186/1742-4690-10-95",
487
- "relatedIdentifierType"=>"DOI",
488
- "relationType"=>"References"},
489
- {"relatedIdentifier"=>"10.1128/jvi.79.2.684-695.2005",
490
- "relatedIdentifierType"=>"DOI",
491
- "relationType"=>"References"},
492
- {"relatedIdentifier"=>"10.1111/j.1600-0684.2005.00126.x",
493
- "relatedIdentifierType"=>"DOI",
494
- "relationType"=>"References"},
495
- {"relatedIdentifier"=>"10.1186/1756-8722-6-6",
496
- "relatedIdentifierType"=>"DOI",
497
- "relationType"=>"References"},
498
- {"relatedIdentifier"=>"10.1016/j.jmb.2013.12.017",
499
- "relatedIdentifierType"=>"DOI",
500
- "relationType"=>"References"},
501
- {"relatedIdentifier"=>"10.1590/s0037-86822012000600002",
502
- "relatedIdentifierType"=>"DOI",
503
- "relationType"=>"References"},
504
- {"relatedIdentifier"=>"10.1080/13550280390218715",
505
- "relatedIdentifierType"=>"DOI",
506
- "relationType"=>"References"},
507
- {"relatedIdentifier"=>"10.1111/j.1468-1331.2012.03777.x",
508
- "relatedIdentifierType"=>"DOI",
509
- "relationType"=>"References"},
510
- {"relatedIdentifier"=>"10.3233/jad-2010-090649",
511
- "relatedIdentifierType"=>"DOI",
512
- "relationType"=>"References"},
513
- {"relatedIdentifier"=>"10.1080/13550280500516484",
514
- "relatedIdentifierType"=>"DOI",
515
- "relationType"=>"References"},
516
- {"relatedIdentifier"=>"10.1080/13550280390218751",
517
- "relatedIdentifierType"=>"DOI",
518
- "relationType"=>"References"},
519
- {"relatedIdentifier"=>"10.1189/jlb.0811394",
520
- "relatedIdentifierType"=>"DOI",
521
- "relationType"=>"References"},
522
- {"relatedIdentifier"=>"10.1007/s11481-011-9330-3",
523
- "relatedIdentifierType"=>"DOI",
524
- "relationType"=>"References"},
525
- {"relatedIdentifier"=>"10.1080/13550280802074539",
526
- "relatedIdentifierType"=>"DOI",
527
- "relationType"=>"References"},
528
- {"relatedIdentifier"=>"10.1086/650743",
529
- "relatedIdentifierType"=>"DOI",
530
- "relationType"=>"References"},
531
- {"relatedIdentifier"=>"10.1371/journal.pone.0008129",
532
- "relatedIdentifierType"=>"DOI",
533
- "relationType"=>"References"},
534
- {"relatedIdentifier"=>"10.1128/jvi.80.10.5074-5077.2006",
535
- "relatedIdentifierType"=>"DOI",
536
- "relationType"=>"References"},
537
- {"relatedIdentifier"=>"10.1186/1742-2094-10-62",
538
- "relatedIdentifierType"=>"DOI",
539
- "relationType"=>"References"},
540
- {"relatedIdentifier"=>"10.1086/323478",
541
- "relatedIdentifierType"=>"DOI",
542
- "relationType"=>"References"},
543
- {"relatedIdentifier"=>"10.1128/jvi.73.12.10480-10488.1999",
544
- "relatedIdentifierType"=>"DOI",
545
- "relationType"=>"References"},
546
- {"relatedIdentifier"=>"10.1111/hiv.12134",
547
- "relatedIdentifierType"=>"DOI",
548
- "relationType"=>"References"}])
549
- expect(subject.container).to eq("firstPage"=>"303", "identifier"=>"0014-2999", "identifierType"=>"ISSN", "lastPage"=>"312", "title"=>"European Journal of Pharmacology", "type"=>"Journal", "volume"=>"759")
550
- expect(subject.agency).to eq("crossref")
551
- end
552
-
553
- it "vor with url" do
554
- input = "https://doi.org/10.1038/hdy.2013.26"
555
- subject = Bolognese::Metadata.new(input: input)
556
- expect(subject.valid?).to be true
557
- expect(subject.id).to eq("https://doi.org/10.1038/hdy.2013.26")
558
- expect(subject.url).to eq("http://www.nature.com/articles/hdy201326")
559
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
560
- expect(subject.creators.length).to eq(2)
561
- expect(subject.creators.first).to eq("familyName"=>"Gross", "givenName"=>"J B", "name"=>"Gross, J B", "nameType"=>"Personal")
562
- expect(subject.titles).to eq([{"title"=>"Albinism in phylogenetically and geographically distinct populations of Astyanax cavefish arises through the same loss-of-function Oca2 allele"}])
563
- expect(subject.dates).to include({"date"=>"2013-04-10", "dateType"=>"Issued"})
564
- expect(subject.publication_year).to eq("2013")
565
- expect(subject.publisher).to eq({"name"=>"Springer Science and Business Media LLC"})
566
- expect(subject.related_identifiers.size).to eq(35)
567
- expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"1365-2540", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
568
- expect(subject.container).to eq("firstPage"=>"122", "identifier"=>"1365-2540", "identifierType"=>"ISSN", "issue"=>"2", "lastPage"=>"130", "title"=>"Heredity", "type"=>"Journal", "volume"=>"111")
569
- expect(subject.agency).to eq("crossref")
570
- end
571
-
572
- it "dataset" do
573
- input = "10.2210/pdb4hhb/pdb"
574
- subject = Bolognese::Metadata.new(input: input)
575
- expect(subject.valid?).to be true
576
- expect(subject.id).to eq("https://doi.org/10.2210/pdb4hhb/pdb")
577
- expect(subject.url).to eq("https://www.wwpdb.org/pdb?id=pdb_00004hhb")
578
- expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"article-journal", "resourceType"=>"SaComponent", "resourceTypeGeneral"=>"Text", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
579
- expect(subject.creators.length).to eq(2)
580
- expect(subject.creators.first).to eq("nameType"=>"Personal", "name"=>"Fermi, G.", "givenName"=>"G.", "familyName"=>"Fermi")
581
- expect(subject.titles).to eq([{"title"=>"THE CRYSTAL STRUCTURE OF HUMAN DEOXYHAEMOGLOBIN AT 1.74 ANGSTROMS RESOLUTION"}])
582
- expect(subject.descriptions).to eq([{"description"=>"x-ray diffraction structure", "descriptionType"=>"Other"}])
583
- expect(subject.dates).to include({"date"=>"1984-07-17", "dateType"=>"Issued"})
584
- expect(subject.publication_year).to eq("1984")
585
- expect(subject.publisher).to eq({"name"=>"Worldwide Protein Data Bank"})
586
- expect(subject.agency).to eq("crossref")
587
- end
588
-
589
- it "component" do
590
- input = "10.1371/journal.pmed.0030277.g001"
591
- subject = Bolognese::Metadata.new(input: input)
592
- expect(subject.valid?).to be true
593
- expect(subject.id).to eq("https://doi.org/10.1371/journal.pmed.0030277.g001")
594
- expect(subject.url).to eq("https://dx.plos.org/10.1371/journal.pmed.0030277.g001")
595
- expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"article-journal", "resourceType"=>"SaComponent", "resourceTypeGeneral"=>"Text", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
596
- expect(subject.creators).to eq([{"name"=>":(unav)", "nameType"=>"Organizational"}])
597
- expect(subject.titles).to eq([{"title"=>":(unav)"}])
598
- expect(subject.descriptions).to be_empty
599
- expect(subject.dates).to eq([{"date"=>"2015-10-20", "dateType"=>"Issued"}, {"date"=>"2018-10-19T21:13:42Z", "dateType"=>"Updated"}])
600
- expect(subject.publication_year).to eq("2015")
601
- expect(subject.publisher).to eq({"name"=>"Public Library of Science (PLoS)"})
602
- expect(subject.agency).to eq("crossref")
603
- end
604
-
605
- it "dataset usda" do
606
- input = "https://doi.org/10.2737/RDS-2018-0001"
607
- subject = Bolognese::Metadata.new(input: input)
608
- #expect(subject.valid?).to be true
609
- expect(subject.id).to eq("https://doi.org/10.2737/rds-2018-0001")
610
- expect(subject.url).to eq("https://www.fs.usda.gov/rds/archive/Catalog/RDS-2018-0001")
611
- expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resourceType"=>"Dataset", "resourceTypeGeneral"=>"Dataset", "ris"=>"DATA", "schemaOrg"=>"Dataset")
612
- expect(subject.creators.length).to eq(4)
613
- expect(subject.creators.first).to eq("familyName" => "Ribic","givenName" => "Christine A.","name" => "Ribic, Christine A.","affiliation" => [{"name"=>"U.S. Geological Survey"}],"nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0003-2583-1778", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}],"nameType" => "Personal")
614
- expect(subject.titles).to eq([{"title"=>"Fledging times of grassland birds"}])
615
- expect(subject.descriptions).to be_empty
616
- expect(subject.dates).to eq([{"date"=>"2017-08-09", "dateType"=>"Issued"}, {"date"=>"2020-06-04T21:31:55Z", "dateType"=>"Updated"}])
617
- expect(subject.publication_year).to eq("2017")
618
- expect(subject.publisher).to eq({"name"=>"USDA Forest Service"})
619
- expect(subject.agency).to eq("crossref")
620
- end
621
-
622
- it "book chapter" do
623
- input = "https://doi.org/10.1007/978-3-662-46370-3_13"
624
- subject = Bolognese::Metadata.new(input: input)
625
- expect(subject.valid?).to be true
626
- expect(subject.id).to eq("https://doi.org/10.1007/978-3-662-46370-3_13")
627
- expect(subject.url).to eq("http://link.springer.com/10.1007/978-3-662-46370-3_13")
628
- expect(subject.types).to eq("bibtex"=>"inbook", "citeproc"=>"chapter", "resourceType"=>"BookChapter", "resourceTypeGeneral"=>"BookChapter", "ris"=>"CHAP", "schemaOrg"=>"Chapter")
629
- expect(subject.creators.length).to eq(2)
630
- expect(subject.creators.first).to eq("nameType"=>"Personal", "name"=>"Diercks, Ronald L.", "givenName"=>"Ronald L.", "familyName"=>"Diercks")
631
- expect(subject.titles).to eq([{"title"=>"Clinical Symptoms and Physical Examinations"}])
632
- expect(subject.dates).to eq([{"date"=>"2015", "dateType"=>"Issued"}, {"date"=>"2015-04-14T02:31:13Z", "dateType"=>"Updated"}])
633
- expect(subject.publication_year).to eq("2015")
634
- expect(subject.publisher).to eq({"name"=>"Springer Science and Business Media LLC"})
635
- expect(subject.agency).to eq("crossref")
636
- expect(subject.container["type"]).to eq("Book")
637
- expect(subject.container["title"]).to eq("Shoulder Stiffness")
638
- expect(subject.container["firstPage"]).to eq("155")
639
- expect(subject.container["lastPage"]).to eq("158")
640
- expect(subject.container["identifiers"]).to eq([{"identifier"=>"978-3-662-46369-7", "identifierType"=>"ISBN"}])
641
- end
642
-
643
- it "another book chapter" do
644
- input = "https://doi.org/10.1007/978-3-319-75889-3_1"
645
- subject = Bolognese::Metadata.new(input: input)
646
- expect(subject.valid?).to be true
647
- expect(subject.id).to eq("https://doi.org/10.1007/978-3-319-75889-3_1")
648
- expect(subject.url).to eq("http://link.springer.com/10.1007/978-3-319-75889-3_1")
649
- expect(subject.types).to eq("bibtex"=>"inbook", "citeproc"=>"chapter", "resourceType"=>"BookChapter", "resourceTypeGeneral"=>"BookChapter", "ris"=>"CHAP", "schemaOrg"=>"Chapter")
650
- expect(subject.creators).to eq([{"familyName"=>"Jones", "givenName"=>"Hunter M.", "name"=>"Jones, Hunter M.", "nameType"=>"Personal"}])
651
- expect(subject.titles).to eq([{"title"=>"Climate Change and Increasing Risk of Extreme Heat"}])
652
- expect(subject.dates).to include({"date"=>"2018", "dateType"=>"Issued"})
653
- expect(subject.publication_year).to eq("2018")
654
- expect(subject.publisher).to eq({"name"=>"Springer Science and Business Media LLC"})
655
- expect(subject.agency).to eq("crossref")
656
- expect(subject.container["type"]).to eq("Book Series")
657
- expect(subject.container["title"]).to eq("SpringerBriefs in Medical Earth Sciences")
658
- expect(subject.container["identifier"]).to eq("2523-3629")
659
- expect(subject.container["identifierType"]).to eq("ISSN")
660
- end
661
-
662
- it "yet another book chapter" do
663
- input = "https://doi.org/10.4018/978-1-4666-1891-6.ch004"
664
- subject = Bolognese::Metadata.new(input: input)
665
- expect(subject.valid?).to be true
666
- expect(subject.id).to eq("https://doi.org/10.4018/978-1-4666-1891-6.ch004")
667
- expect(subject.url).to eq("http://services.igi-global.com/resolvedoi/resolve.aspx?doi=10.4018/978-1-4666-1891-6.ch004")
668
- expect(subject.types).to eq("bibtex"=>"inbook", "citeproc"=>"chapter", "resourceType"=>"BookChapter", "resourceTypeGeneral"=>"BookChapter", "ris"=>"CHAP", "schemaOrg"=>"Chapter")
669
- expect(subject.creators).to eq([{"affiliation"=>[{"name"=>"Universit?? de Lyon, France"}], "familyName"=>"Bichot", "givenName"=>"Charles-Edmond", "name"=>"Bichot, Charles-Edmond", "nameType"=>"Personal"}])
670
- expect(subject.titles).to eq([{"title"=>"Unsupervised and Supervised Image Segmentation Using Graph Partitioning"}])
671
- expect(subject.dates).to eq([{"date"=>"2012-08-08", "dateType"=>"Issued"}, {"date"=>"2019-07-02T17:17:21Z", "dateType"=>"Updated"}])
672
- expect(subject.publication_year).to eq("2012")
673
- expect(subject.publisher).to eq({"name"=>"IGI Global"})
674
- expect(subject.agency).to eq("crossref")
675
- expect(subject.container["type"]).to eq("Book")
676
- expect(subject.container["title"]).to eq("Graph-Based Methods in Computer Vision")
677
- expect(subject.container["firstPage"]).to eq("72")
678
- expect(subject.container["lastPage"]).to eq("94")
679
- expect(subject.container["identifiers"]).to eq([{"identifier"=>"9781466618916", "identifierType"=>"ISBN"}])
680
- end
681
-
682
- it "missing creator" do
683
- input = "https://doi.org/10.3390/publications6020015"
684
- subject = Bolognese::Metadata.new(input: input)
685
- expect(subject.valid?).to be true
686
- expect(subject.id).to eq("https://doi.org/10.3390/publications6020015")
687
- expect(subject.url).to eq("http://www.mdpi.com/2304-6775/6/2/15")
688
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
689
- expect(subject.creators).to eq([{"name"=>"Alexander Kohls", "nameType"=>"Organizational"}, {"name"=>"Salvatore Mele", "nameType"=>"Organizational"}])
690
- expect(subject.titles).to eq([{"title"=>"Converting the Literature of a Scientific Field to Open Access through Global Collaboration: The Experience of SCOAP3 in Particle Physics"}])
691
- expect(subject.dates).to eq([{"date"=>"2018-04-09", "dateType"=>"Issued"}, {"date"=>"2018-04-10T17:58:05Z", "dateType"=>"Updated"}])
692
- expect(subject.publication_year).to eq("2018")
693
- expect(subject.publisher).to eq({"name"=>"MDPI AG"})
694
- expect(subject.agency).to eq("crossref")
695
- end
696
-
697
- it "book" do
698
- input = "https://doi.org/10.1017/9781108348843"
699
- subject = Bolognese::Metadata.new(input: input)
700
- expect(subject.valid?).to be true
701
- expect(subject.id).to eq("https://doi.org/10.1017/9781108348843")
702
- expect(subject.identifiers).to eq([{"identifier"=>"9781108348843", "identifierType"=>"ISBN"}])
703
- expect(subject.url).to eq("https://www.cambridge.org/core/product/identifier/9781108348843/type/book")
704
- expect(subject.types).to eq("bibtex"=>"book", "citeproc"=>"book", "resourceType"=>"Book", "resourceTypeGeneral"=>"Book", "ris"=>"BOOK", "schemaOrg"=>"Book")
705
- expect(subject.creators).to eq([{"familyName"=>"Leung", "givenName"=>"Vincent S.", "name"=>"Leung, Vincent S.", "nameType"=>"Personal"}])
706
- expect(subject.titles).to eq([{"title"=>"The Politics of the Past in Early China"}])
707
- expect(subject.dates).to eq([{"date"=>"2019-07-01", "dateType"=>"Issued"}, {"date"=>"2021-01-08T19:18:57Z", "dateType"=>"Updated"}])
708
- expect(subject.publication_year).to eq("2019")
709
- expect(subject.publisher).to eq({"name"=>"Cambridge University Press (CUP)"})
710
- expect(subject.agency).to eq("crossref")
711
- expect(subject.date_registered).to eq("2019-07-06T10:19:22Z")
712
- end
713
-
714
- it "another book" do
715
- input = "https://doi.org/10.2973/odp.proc.ir.180.2000"
716
- subject = Bolognese::Metadata.new(input: input)
717
- expect(subject.valid?).to be true
718
- expect(subject.id).to eq("https://doi.org/10.2973/odp.proc.ir.180.2000")
719
- expect(subject.url).to eq("http://www-odp.tamu.edu/publications/180_IR/180TOC.HTM")
720
- expect(subject.types).to eq("bibtex"=>"book", "citeproc"=>"book", "resourceType"=>"Book", "resourceTypeGeneral"=>"Book", "ris"=>"BOOK", "schemaOrg"=>"Book")
721
- expect(subject.creators).to eq([{"name"=>":(unav)", "nameType"=>"Organizational"}])
722
- expect(subject.contributors.size).to eq(4)
723
- expect(subject.contributors.first).to eq("contributorType"=>"Editor", "familyName"=>"Taylor", "givenName"=>"B.", "name"=>"Taylor, B.", "nameType"=>"Personal")
724
- expect(subject.titles).to eq([{"title"=>"Proceedings of the Ocean Drilling Program, 180 Initial Reports"}])
725
- expect(subject.dates).to eq([{"date"=>"2000-02-04", "dateType"=>"Issued"}, {"date"=>"2009-02-02T21:19:43Z", "dateType"=>"Updated"}])
726
- expect(subject.publication_year).to eq("2000")
727
- expect(subject.publisher).to eq({"name"=>"International Ocean Discovery Program (IODP)"})
728
- expect(subject.agency).to eq("crossref")
729
- expect(subject.date_registered).to eq("2006-10-17T20:17:44Z")
730
- end
731
-
732
- it "yet another book" do
733
- input = "https://doi.org/10.1029/ar035"
734
- subject = Bolognese::Metadata.new(input: input)
735
- expect(subject.valid?).to be true
736
- expect(subject.id).to eq("https://doi.org/10.1029/ar035")
737
- expect(subject.identifiers).to eq([{"identifier"=>"0-87590-181-6", "identifierType"=>"ISBN"}])
738
- expect(subject.url).to eq("http://doi.wiley.com/10.1029/AR035")
739
- expect(subject.types).to eq("bibtex"=>"book", "citeproc"=>"book", "resourceType"=>"Book", "resourceTypeGeneral"=>"Book", "ris"=>"BOOK", "schemaOrg"=>"Book")
740
- expect(subject.creators).to eq([{"familyName"=>"McGinnis", "givenName"=>"Richard Frank", "name"=>"McGinnis, Richard Frank", "nameType"=>"Personal"}])
741
- expect(subject.titles).to eq([{"title"=>"Biogeography of Lanternfishes (Myctophidae) South of 30??S"}])
742
- expect(subject.dates).to eq([{"date"=>"1982", "dateType"=>"Issued"}, {"date"=>"2021-02-23T21:58:36Z", "dateType"=>"Updated"}])
743
- expect(subject.publication_year).to eq("1982")
744
- expect(subject.publisher).to eq({"name"=>"Wiley"})
745
- expect(subject.related_identifiers.length).to eq(44)
746
- expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"10.1016/0031-0182(70)90103-3", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
747
- expect(subject.container).to eq("identifier"=>"0066-4634", "identifierType"=>"ISSN", "title"=>"Antarctic Research Series", "type"=>"Book Series", "volume"=>"35")
748
- expect(subject.agency).to eq("crossref")
749
- expect(subject.date_registered).to be_nil
750
- end
751
-
752
- it "mEDRA" do
753
- input = "https://doi.org/10.3280/ecag2018-001005"
754
- subject = Bolognese::Metadata.new(input: input)
755
- expect(subject.valid?).to be true
756
- expect(subject.id).to eq("https://doi.org/10.3280/ecag2018-001005")
757
- expect(subject.identifiers).to eq([{"identifier"=>"5", "identifierType"=>"article_number"}])
758
- expect(subject.url).to eq("http://www.francoangeli.it/riviste/Scheda_Riviste.asp?IDArticolo=61645")
759
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
760
- expect(subject.creators.length).to eq(2)
761
- expect(subject.creators.first).to eq("familyName"=>"Oh", "givenName"=>"Sohae Eve", "name"=>"Oh, Sohae Eve", "nameType"=>"Personal")
762
- expect(subject.titles).to eq([{"title"=>"Substitutability between organic and conventional poultry products and organic price premiums"}])
763
- expect(subject.dates).to include({"date"=>"2018-05", "dateType"=>"Issued"})
764
- expect(subject.publication_year).to eq("2018")
765
- expect(subject.publisher).to eq({"name"=>"Franco Angeli"})
766
- expect(subject.agency).to eq("mEDRA")
767
- end
768
-
769
- it "KISTI" do
770
- input = "https://doi.org/10.5012/bkcs.2013.34.10.2889"
771
- subject = Bolognese::Metadata.new(input: input)
772
- expect(subject.valid?).to be true
773
- expect(subject.id).to eq("https://doi.org/10.5012/bkcs.2013.34.10.2889")
774
- expect(subject.identifiers).to eq([{"identifier"=>"JCGMCS_2013_v34n10_2889", "identifierType"=>"Publisher ID"}])
775
- expect(subject.url).to eq("http://koreascience.or.kr/journal/view.jsp?kj=JCGMCS&py=2013&vnc=v34n10&sp=2889")
776
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
777
- expect(subject.creators.length).to eq(7)
778
- expect(subject.creators.first).to eq("familyName"=>"Huang", "givenName"=>"Guimei", "name"=>"Huang, Guimei", "nameType"=>"Personal")
779
- expect(subject.titles).to eq([{"title"=>"Synthesis, Crystal Structure and Theoretical Calculation of a Novel Nickel(II) Complex with Dibromotyrosine and 1,10-Phenanthroline"}])
780
- expect(subject.dates).to eq([{"date"=>"2013-10-20", "dateType"=>"Issued"}, {"date"=>"2016-12-15T02:40:52Z", "dateType"=>"Updated"}])
781
- expect(subject.publication_year).to eq("2013")
782
- expect(subject.publisher).to eq({"name"=>"Korean Chemical Society"})
783
- expect(subject.agency).to eq("KISTI")
784
- end
785
-
786
- it "JaLC" do
787
- input = "https://doi.org/10.1241/johokanri.39.979"
788
- subject = Bolognese::Metadata.new(input: input)
789
- expect(subject.valid?).to be true
790
- expect(subject.id).to eq("https://doi.org/10.1241/johokanri.39.979")
791
- expect(subject.url).to eq("http://joi.jlc.jst.go.jp/JST.JSTAGE/johokanri/39.979?from=CrossRef")
792
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
793
- expect(subject.creators).to eq([{"familyName"=>"KUSUMOTO", "givenName"=>"Hiroyuki", "name"=>"KUSUMOTO, Hiroyuki", "nameType"=>"Personal"}])
794
- expect(subject.titles).to eq([{"title"=>"Utilizing the Internet. 12 Series. Future of the Internet."}])
795
- expect(subject.dates).to eq([{"date"=>"1997", "dateType"=>"Issued"}, {"date"=>"2020-03-06T06:44:36Z", "dateType"=>"Updated"}])
796
- expect(subject.publication_year).to eq("1997")
797
- expect(subject.publisher).to eq({"name"=>"Japan Science and Technology Agency (JST)"})
798
- expect(subject.agency).to eq("JaLC")
799
- end
800
-
801
- it "OP" do
802
- input = "https://doi.org/10.2903/j.efsa.2018.5239"
803
- subject = Bolognese::Metadata.new(input: input)
804
- #expect(subject.valid?).to be true
805
- expect(subject.id).to eq("https://doi.org/10.2903/j.efsa.2018.5239")
806
- expect(subject.url).to eq("http://doi.wiley.com/10.2903/j.efsa.2018.5239")
807
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
808
- expect(subject.creators.length).to eq(28)
809
- expect(subject.creators.first).to eq("familyName"=>"Younes", "givenName"=>"Maged", "name"=>"Younes, Maged", "nameType"=>"Personal")
810
- expect(subject.titles).to eq([{"title"=>"Scientific opinion on the safety of green tea catechins"}])
811
- expect(subject.dates).to include({"date"=>"2018-04", "dateType"=>"Issued"})
812
- expect(subject.publication_year).to eq("2018")
813
- expect(subject.publisher).to eq({"name"=>"Wiley"})
814
- expect(subject.agency).to eq("OP")
815
- end
816
-
817
- it "multiple titles" do
818
- input = "https://doi.org/10.4000/dms.865"
819
- subject = Bolognese::Metadata.new(input: input)
820
- expect(subject.valid?).to be true
821
- expect(subject.id).to eq("https://doi.org/10.4000/dms.865")
822
- expect(subject.url).to eq("http://journals.openedition.org/dms/865")
823
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
824
- expect(subject.creators).to eq([{"familyName"=>"Peraya", "givenName"=>"Daniel", "name"=>"Peraya, Daniel", "nameType"=>"Personal"}])
825
- expect(subject.titles).to eq([{"title"=>"Distances, absence, proximit??s et pr??sences??: des concepts en d??placement"}, {"title"=>"Distance(s), proximity and presence(s): evolving concepts"}])
826
- expect(subject.dates).to include({"date"=>"2014-12-14", "dateType"=>"Issued"})
827
- expect(subject.publication_year).to eq("2014")
828
- expect(subject.publisher).to eq({"name"=>"OpenEdition"})
829
- expect(subject.agency).to eq("crossref")
830
- expect(subject.date_registered).to be_nil
831
- end
832
-
833
- it "multiple titles with missing" do
834
- input = "https://doi.org/10.1186/1471-2164-7-187"
835
- subject = Bolognese::Metadata.new(input: input)
836
- expect(subject.valid?).to be true
837
- expect(subject.id).to eq("https://doi.org/10.1186/1471-2164-7-187")
838
- expect(subject.url).to eq("https://bmcgenomics.biomedcentral.com/articles/10.1186/1471-2164-7-187")
839
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
840
- expect(subject.creators).to eq([{"familyName"=>"Myers",
841
- "givenName"=>"Chad L",
842
- "name"=>"Myers, Chad L",
843
- "nameType"=>"Personal"},
844
- {"familyName"=>"Barrett",
845
- "givenName"=>"Daniel R",
846
- "name"=>"Barrett, Daniel R",
847
- "nameType"=>"Personal"},
848
- {"familyName"=>"Hibbs",
849
- "givenName"=>"Matthew A",
850
- "name"=>"Hibbs, Matthew A",
851
- "nameType"=>"Personal"},
852
- {"familyName"=>"Huttenhower",
853
- "givenName"=>"Curtis",
854
- "name"=>"Huttenhower, Curtis",
855
- "nameType"=>"Personal"},
856
- {"familyName"=>"Troyanskaya",
857
- "givenName"=>"Olga G",
858
- "name"=>"Troyanskaya, Olga G",
859
- "nameType"=>"Personal"}])
860
- expect(subject.titles).to eq([{"title"=>"Finding function: evaluation methods for functional genomic data"}])
861
- expect(subject.dates).to include({"date"=>"2006-07-25", "dateType"=>"Issued"})
862
- expect(subject.publication_year).to eq("2006")
863
- expect(subject.publisher).to eq({"name"=>"Springer Science and Business Media LLC"})
864
- expect(subject.agency).to eq("crossref")
865
- expect(subject.date_registered).to eq("2020-04-20T16:04:45Z")
866
- end
867
-
868
- it "markup" do
869
- input = "https://doi.org/10.1098/rspb.2017.0132"
870
- subject = Bolognese::Metadata.new(input: input)
871
- expect(subject.valid?).to be true
872
- expect(subject.id).to eq("https://doi.org/10.1098/rspb.2017.0132")
873
- expect(subject.url).to eq("https://royalsocietypublishing.org/doi/10.1098/rspb.2017.0132")
874
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
875
- expect(subject.creators.size).to eq(6)
876
- expect(subject.creators.first).to eq("affiliation" => [{"name"=>"School of Biological Sciences, Centre for Evolutionary Biology, University of Western Australia, Crawley, WA 6009, Australia"}], "familyName" => "Dougherty","givenName" => "Liam R.","name" => "Dougherty, Liam R.","nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0003-1406-0680", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}],"nameType"=>"Personal")
877
- expect(subject.titles).to eq([{"title"=>"Sexual conflict and correlated evolution between male persistence and female resistance traits in the seed beetle <i>Callosobruchus maculatus</i>"}])
878
- expect(subject.dates).to include({"date"=>"2017-05-24", "dateType"=>"Issued"})
879
- expect(subject.publication_year).to eq("2017")
880
- expect(subject.publisher).to eq({"name"=>"The Royal Society"})
881
- expect(subject.agency).to eq("crossref")
882
- expect(subject.date_registered).to eq("2021-02-14T10:36:45Z")
883
- end
884
-
885
- it "empty given name" do
886
- input = "https://doi.org/10.1111/J.1865-1682.2010.01171.X"
887
- subject = Bolognese::Metadata.new(input: input)
888
- expect(subject.valid?).to be true
889
- expect(subject.id).to eq("https://doi.org/10.1111/j.1865-1682.2010.01171.x")
890
- expect(subject.url).to eq("http://doi.wiley.com/10.1111/j.1865-1682.2010.01171.x")
891
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
892
- expect(subject.creators.length).to eq(5)
893
- expect(subject.creators[3]).to eq("familyName"=>"Ehtisham-ul-Haq", "givenName"=>"???", "name"=>"Ehtisham-ul-Haq, ???", "nameType"=>"Personal")
894
- expect(subject.titles).to eq([{"title"=>"Serological Evidence of Brucella abortus Prevalence in Punjab Province, Pakistan - A Cross-Sectional Study"}])
895
- expect(subject.rights_list).to eq([{"rightsUri"=>"http://doi.wiley.com/10.1002/tdm_license_1.1"}])
896
- expect(subject.dates).to eq([{"date"=>"2010-12", "dateType"=>"Issued"}, {"date"=>"2021-02-04T22:37:42Z", "dateType"=>"Updated"}])
897
- expect(subject.publication_year).to eq("2010")
898
- expect(subject.publisher).to eq({"name"=>"Wiley"})
899
- end
900
-
901
- it "invalid date" do
902
- input = "https://doi.org/10.1055/s-0039-1690894"
903
- subject = Bolognese::Metadata.new(input: input)
904
- expect(subject.valid?).to be true
905
- expect(subject.id).to eq("https://doi.org/10.1055/s-0039-1690894")
906
- expect(subject.identifiers).to eq([{"identifier"=>"s-0039-1690894", "identifierType"=>"sequence-number"}])
907
- expect(subject.url).to eq("http://www.thieme-connect.de/DOI/DOI?10.1055/s-0039-1690894")
908
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
909
- expect(subject.creators.length).to eq(4)
910
- expect(subject.creators[3]).to eq("affiliation" => [{"name"=>"Department of Chemistry, Tianjin Key Laboratory of Molecular Optoelectronic Sciences, and Tianjin Collaborative Innovation Centre of Chemical Science and Engineering, Tianjin University"}, {"name"=>"Joint School of National University of Singapore and Tianjin University, International Campus of Tianjin University"}],
911
- "familyName" => "Ma",
912
- "givenName" => "Jun-An",
913
- "name" => "Ma, Jun-An",
914
- "nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0002-3902-6799", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}],
915
- "nameType" => "Personal")
916
- expect(subject.titles).to eq([{"title"=>"Silver-Catalyzed [3+3] Annulation of Glycine Imino Esters with Seyferth???Gilbert Reagent To Access Tetrahydro-1,2,4-triazinecarboxylate Esters"}])
917
- expect(subject.dates).to eq([{"date"=>"2020-04-08", "dateType"=>"Issued"}, {"date"=>"2020-06-16T23:13:36Z", "dateType"=>"Updated"}])
918
- expect(subject.publication_year).to eq("2020")
919
- expect(subject.publisher).to eq({"name"=>"Georg Thieme Verlag KG"})
920
- end
921
-
922
- it "journal article with" do
923
- input = "https://doi.org/10.1111/nph.14619"
924
- subject = Bolognese::Metadata.new(input: input)
925
- expect(subject.valid?).to be true
926
- expect(subject.id).to eq("https://doi.org/10.1111/nph.14619")
927
- expect(subject.url).to eq("http://doi.wiley.com/10.1111/nph.14619")
928
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
929
- expect(subject.creators.length).to eq(3)
930
- expect(subject.creators.first).to eq("nameType"=>"Personal", "nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0002-4156-3761", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}], "name"=>"Dissmeyer, Nico", "givenName"=>"Nico", "familyName"=>"Dissmeyer", "affiliation" => [{"name"=>"Independent Junior Research Group on Protein Recognition and Degradation; Leibniz Institute of Plant Biochemistry (IPB); Weinberg 3 Halle (Saale) D-06120 Germany"}, {"name"=>"ScienceCampus Halle - Plant-based Bioeconomy; Betty-Heimann-Strasse 3 Halle (Saale) D-06120 Germany"}])
931
- expect(subject.titles).to eq([{"title"=>"Life and death of proteins after protease cleavage: protein degradation by the N-end rule pathway"}])
932
- expect(subject.rights_list).to eq([{"rightsUri"=>"http://doi.wiley.com/10.1002/tdm_license_1.1"}, {"rightsUri"=>"http://onlinelibrary.wiley.com/termsAndConditions#vor"}])
933
- expect(subject.dates).to include({"date"=>"2018-05", "dateType"=>"Issued"})
934
- expect(subject.publication_year).to eq("2018")
935
- expect(subject.publisher).to eq({"name"=>"Wiley"})
936
- expect(subject.related_identifiers.length).to eq(49)
937
- expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"0028-646X", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
938
- expect(subject.related_identifiers.last).to eq("relatedIdentifier"=>"10.1002/pmic.201400530", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
939
- expect(subject.container).to eq("firstPage"=>"929", "identifier"=>"0028-646X", "identifierType"=>"ISSN", "issue"=>"3", "lastPage"=>"935", "title"=>"New Phytologist", "type"=>"Journal", "volume"=>"218")
940
- expect(subject.agency).to eq("crossref")
941
- expect(subject.date_registered).to eq("2018-08-03T11:45:49Z")
942
- end
943
-
944
- it "author literal" do
945
- input = "https://doi.org/10.1038/ng.3834"
946
- subject = Bolognese::Metadata.new(input: input)
947
- expect(subject.valid?).to be true
948
- expect(subject.id).to eq("https://doi.org/10.1038/ng.3834")
949
- expect(subject.url).to eq("http://www.nature.com/articles/ng.3834")
950
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
951
- expect(subject.creators.length).to eq(14)
952
- expect(subject.creators.last).to eq("name"=>"GTEx Consortium", "nameType"=>"Organizational")
953
- expect(subject.titles).to eq([{"title"=>"The impact of structural variation on human gene expression"}])
954
- expect(subject.dates).to include({"date"=>"2017-04-03", "dateType"=>"Issued"})
955
- expect(subject.publication_year).to eq("2017")
956
- expect(subject.publisher).to eq({"name"=>"Springer Science and Business Media LLC"})
957
- expect(subject.agency).to eq("crossref")
958
- expect(subject.date_registered).to eq("2019-11-02T09:30:06Z")
959
- end
960
-
961
- it "affiliation is space" do
962
- input = "https://doi.org/10.1177/0042098011428175"
963
- subject = Bolognese::Metadata.new(input: input)
964
- expect(subject.valid?).to be true
965
- expect(subject.id).to eq("https://doi.org/10.1177/0042098011428175")
966
- expect(subject.url).to eq("http://journals.sagepub.com/doi/10.1177/0042098011428175")
967
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
968
- expect(subject.creators.length).to eq(1)
969
- expect(subject.creators.first).to eq("affiliation"=>[{"name"=>"??"}], "familyName"=>"Petrovici", "givenName"=>"Norbert", "name"=>"Petrovici, Norbert", "nameType"=>"Personal")
970
- expect(subject.titles).to eq([{"title"=>"Workers and the City: Rethinking the Geographies of Power in Post-socialist Urbanisation"}])
971
- expect(subject.dates).to include({"date"=>"2011-12-22", "dateType"=>"Issued"})
972
- expect(subject.publication_year).to eq("2011")
973
- expect(subject.publisher).to eq({"name"=>"SAGE Publications"})
974
- expect(subject.agency).to eq("crossref")
975
- expect(subject.date_registered).to eq("2021-05-16T02:02:38Z")
976
- end
977
-
978
- it "multiple issn" do
979
- input = "https://doi.org/10.1007/978-3-642-34922-5_19"
980
- subject = Bolognese::Metadata.new(input: input)
981
- expect(subject.valid?).to be true
982
- expect(subject.id).to eq("https://doi.org/10.1007/978-3-642-34922-5_19")
983
- expect(subject.url).to eq("http://link.springer.com/10.1007/978-3-642-34922-5_19")
984
- expect(subject.types).to eq("bibtex"=>"inbook", "citeproc"=>"chapter", "resourceType"=>"BookChapter", "resourceTypeGeneral"=>"BookChapter", "ris"=>"CHAP", "schemaOrg"=>"Chapter")
985
- expect(subject.creators.length).to eq(3)
986
- expect(subject.creators.first).to eq("familyName"=>"Razib", "givenName"=>"Ali", "name"=>"Razib, Ali", "nameType"=>"Personal")
987
- expect(subject.titles).to eq([{"title"=>"Log-Domain Arithmetic for High-Speed Fuzzy Control on a Field-Programmable Gate Array"}])
988
- expect(subject.dates).to include({"date"=>"2013", "dateType"=>"Issued"})
989
- expect(subject.publication_year).to eq("2013")
990
- expect(subject.publisher).to eq({"name"=>"Springer Science and Business Media LLC"})
991
- expect(subject.container).to eq("identifier"=>"1860-0808", "identifierType"=>"ISSN", "title"=>"Studies in Fuzziness and Soft Computing", "type"=>"Book Series")
992
- expect(subject.agency).to eq("crossref")
993
- expect(subject.date_registered).to eq("2012-10-31T16:15:44Z")
994
- end
995
-
996
- it "article id as page number" do
997
- input = "https://doi.org/10.1103/physrevlett.120.117701"
998
- subject = Bolognese::Metadata.new(input: input)
999
- expect(subject.valid?).to be true
1000
- expect(subject.id).to eq("https://doi.org/10.1103/physrevlett.120.117701")
1001
- expect(subject.url).to eq("https://link.aps.org/doi/10.1103/PhysRevLett.120.117701")
1002
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
1003
- expect(subject.creators.length).to eq(5)
1004
- expect(subject.creators.first).to eq("familyName"=>"Marrazzo", "givenName"=>"Antimo", "name"=>"Marrazzo, Antimo", "nameType"=>"Personal")
1005
- expect(subject.titles).to eq([{"title"=>"Prediction of a Large-Gap and Switchable Kane-Mele Quantum Spin Hall Insulator"}])
1006
- expect(subject.dates).to include({"date"=>"2018-03-13", "dateType"=>"Issued"})
1007
- expect(subject.publication_year).to eq("2018")
1008
- expect(subject.publisher).to eq({"name"=>"American Physical Society (APS)"})
1009
- expect(subject.container).to eq("firstPage" => "117701", "identifier"=>"1079-7114", "identifierType"=>"ISSN", "issue"=>"11", "title"=>"Physical Review Letters", "type"=>"Journal", "volume"=>"120")
1010
- expect(subject.agency).to eq("crossref")
1011
- expect(subject.date_registered).to eq("2018-03-13T15:18:48Z")
1012
- end
1013
-
1014
- it "posted content copernicus" do
1015
- input = "https://doi.org/10.5194/CP-2020-95"
1016
- subject = Bolognese::Metadata.new(input: input)
1017
- expect(subject.valid?).to be true
1018
- expect(subject.url).to eq("https://cp.copernicus.org/preprints/cp-2020-95/")
1019
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"PostedContent", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
1020
- expect(subject.creators.count).to eq(6)
1021
- expect(subject.creators.first).to eq("nameType" => "Personal", "familyName" => "Shao",
1022
- "givenName" => "Jun",
1023
- "name" => "Shao, Jun",
1024
- "nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0001-6130-6474", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}])
1025
- expect(subject.titles).to eq([{"title"=>"The Atmospheric Bridge Communicated the ??&lt;sup&gt;13&lt;/sup&gt;C Decline during the Last Deglaciation to the Global Upper Ocean"}])
1026
- expect(subject.id).to eq("https://doi.org/10.5194/cp-2020-95")
1027
- expect(subject.identifiers).to be_empty
1028
- expect(subject.descriptions.first["description"]).to start_with("Abstract. During the early last glacial termination")
1029
- expect(subject.dates).to include({"date"=>"2020-07-28", "dateType"=>"Issued"})
1030
- expect(subject.publication_year).to eq("2020")
1031
- expect(subject.publisher).to eq({"name"=>"Copernicus GmbH"})
1032
- expect(subject.agency).to eq("crossref")
1033
- end
1034
-
1035
- it "book oup" do
1036
- input = "10.1093/oxfordhb/9780198746140.013.5"
1037
- subject = Bolognese::Metadata.new(input: input)
1038
- expect(subject.valid?).to be true
1039
- expect(subject.url).to eq("http://oxfordhandbooks.com/view/10.1093/oxfordhb/9780198746140.001.0001/oxfordhb-9780198746140-e-5")
1040
- expect(subject.types).to eq("bibtex"=>"book", "citeproc"=>"book", "resourceType"=>"Book", "resourceTypeGeneral"=>"Book", "ris"=>"BOOK", "schemaOrg"=>"Book")
1041
- expect(subject.creators.count).to eq(1)
1042
- expect(subject.creators.first).to eq("familyName"=>"Clayton", "givenName"=>"Barbra R.", "name"=>"Clayton, Barbra R.", "nameType"=>"Personal")
1043
- expect(subject.contributors.count).to eq(2)
1044
- expect(subject.contributors.first).to eq("contributorType"=>"Editor", "familyName"=>"Cozort", "givenName"=>"Daniel", "name"=>"Cozort, Daniel", "nameType"=>"Personal")
1045
- expect(subject.titles).to eq([{"title"=>"The Changing Way of the Bodhisattva"}])
1046
- expect(subject.id).to eq("https://doi.org/10.1093/oxfordhb/9780198746140.013.5")
1047
- expect(subject.identifiers).to be_empty
1048
- expect(subject.descriptions.first["description"]).to start_with("This chapter explores the nature of the connections")
1049
- expect(subject.dates).to include({"date"=>"2018-04-05", "dateType"=>"Issued"})
1050
- expect(subject.publication_year).to eq("2018")
1051
- expect(subject.publisher).to eq({"name"=>"Oxford University Press (OUP)"})
1052
- expect(subject.agency).to eq("crossref")
1053
- end
1054
-
1055
- it "report osti" do
1056
- input = "10.2172/972169"
1057
- subject = Bolognese::Metadata.new(input: input)
1058
- expect(subject.valid?).to be true
1059
- expect(subject.url).to eq("http://www.osti.gov/servlets/purl/972169-1QXROM/")
1060
- expect(subject.types).to eq("bibtex"=>"techreport", "citeproc"=>"report", "resourceType"=>"Report", "resourceTypeGeneral"=>"Report", "ris"=>"RPRT", "schemaOrg"=>"Report")
1061
- expect(subject.creators.count).to eq(4)
1062
- expect(subject.creators.first).to eq("familyName"=>"Denholm", "givenName"=>"P.", "name"=>"Denholm, P.", "nameType"=>"Personal")
1063
- expect(subject.contributors.count).to eq(0)
1064
- expect(subject.titles).to eq([{"title"=>"Role of Energy Storage with Renewable Electricity Generation"}])
1065
- expect(subject.id).to eq("https://doi.org/10.2172/972169")
1066
- expect(subject.identifiers).to eq( [{"identifier"=>"NREL/TP-6A2-47187", "identifierType"=>"report-number"}, {"identifier"=>"972169", "identifierType"=>"sequence-number"}])
1067
- expect(subject.descriptions).to be_empty
1068
- expect(subject.dates).to include({"date"=>"2010-01-01", "dateType"=>"Issued"})
1069
- expect(subject.publication_year).to eq("2010")
1070
- expect(subject.publisher).to eq({"name"=>"Office of Scientific and Technical Information (OSTI)"})
1071
- expect(subject.agency).to eq("crossref")
1072
- end
1073
-
1074
- it "journal issue" do
1075
- input = "https://doi.org/10.6002/ect.2015.0371"
1076
- subject = Bolognese::Metadata.new(input: input)
1077
- #expect(subject.valid?).to be true
1078
- expect(subject.id).to eq("https://doi.org/10.6002/ect.2015.0371")
1079
- expect(subject.url).to eq("http://ectrx.org/forms/ectrxcontentshow.php?doi_id=10.6002/ect.2015.0371")
1080
- expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"article-journal", "resourceType"=>"JournalIssue", "resourceTypeGeneral"=>"Text", "ris"=>"JOUR", "schemaOrg"=>"PublicationIssue")
1081
- expect(subject.creators).to eq([{"name"=>":(unav)", "nameType"=>"Organizational"}])
1082
- expect(subject.titles).to eq([{"title"=>":(unav)"}])
1083
- expect(subject.dates).to eq([{"date"=>"2018-10", "dateType"=>"Issued"}, {"date"=>"2018-10-03T12:09:12Z", "dateType"=>"Updated"}])
1084
- expect(subject.publication_year).to eq("2018")
1085
- expect(subject.publisher).to eq({"name"=>"Baskent University"})
1086
- expect(subject.related_identifiers.length).to eq(1)
1087
- expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"2146-8427", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
1088
- expect(subject.container).to eq("identifier"=>"2146-8427", "identifierType"=>"ISSN", "issue"=>"5", "title"=>"Experimental and Clinical Transplantation", "type"=>"Journal", "volume"=>"16")
1089
- expect(subject.agency).to eq("crossref")
1090
- end
1091
-
1092
- it "not found error" do
1093
- input = "https://doi.org/10.7554/elife.01567x"
1094
- subject = Bolognese::Metadata.new(input: input)
1095
- expect(subject.valid?).to be false
1096
- expect(subject.id).to eq("https://doi.org/10.7554/elife.01567x")
1097
- expect(subject.doi).to eq("10.7554/elife.01567x")
1098
- expect(subject.agency).to eq("crossref")
1099
- expect(subject.state).to eq("not_found")
1100
- end
1101
-
1102
- it "with Schema 4.6 Translator contributor" do
1103
- input = fixture_path + 'crossref_schema_4.6_values.xml'
1104
- subject = Bolognese::Metadata.new(input: input)
1105
-
1106
- expect(subject.contributors).to eq([
1107
- {"givenName"=>"Ashwini", "familyName"=>"Sukale", "name"=>"Sukale, Ashwini", "nameType"=>"Personal", "affiliation"=>[{"name"=>"DataCite"}], "contributorType"=>"Editor"},
1108
- {"givenName"=>"Cody", "familyName"=>"Ross", "name"=>"Ross, Cody", "nameType"=>"Personal", "affiliation"=>[{"name"=>"DataCite"}], "contributorType"=>"Translator"},
1109
- ])
1110
- end
1111
-
1112
- it "with Schema 4.6 HasTranslation and IsTranslationOf" do
1113
- input = fixture_path + 'crossref_schema_4.6_values.xml'
1114
- subject = Bolognese::Metadata.new(input: input)
1115
-
1116
- expect(subject.related_identifiers.count).to eq(7)
1117
- expect(subject.related_identifiers).to include(
1118
- {
1119
- "relatedIdentifier"=>"10.32013/zll10oq",
1120
- "relatedIdentifierType"=>"DOI",
1121
- "relationType"=>"HasTranslation",
1122
- }
1123
- )
1124
- expect(subject.related_identifiers).to include(
1125
- {
1126
- "relatedIdentifier"=>"10.5555/original_language",
1127
- "relatedIdentifierType"=>"DOI",
1128
- "relationType"=>"IsTranslationOf",
1129
- }
1130
- )
1131
- end
1132
- end
1133
- end