bolognese 1.3.1 → 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 (527) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build.yml +9 -0
  3. data/.github/workflows/changelog.yml +36 -0
  4. data/.github/workflows/ci.yml +22 -0
  5. data/.github/workflows/pull-request.yml +9 -0
  6. data/.github/workflows/release.yml +32 -0
  7. data/.gitignore +3 -0
  8. data/.rubocop.yml +658 -0
  9. data/CHANGELOG.md +1864 -0
  10. data/Gemfile.lock +163 -129
  11. data/README.md +3 -2
  12. data/bolognese.gemspec +22 -20
  13. data/lib/bolognese/author_utils.rb +49 -25
  14. data/lib/bolognese/cli.rb +6 -4
  15. data/lib/bolognese/datacite_utils.rb +143 -17
  16. data/lib/bolognese/doi_utils.rb +14 -9
  17. data/lib/bolognese/metadata.rb +27 -19
  18. data/lib/bolognese/metadata_utils.rb +25 -6
  19. data/lib/bolognese/readers/bibtex_reader.rb +29 -34
  20. data/lib/bolognese/readers/citeproc_reader.rb +27 -35
  21. data/lib/bolognese/readers/codemeta_reader.rb +12 -13
  22. data/lib/bolognese/readers/crosscite_reader.rb +4 -1
  23. data/lib/bolognese/readers/crossref_reader.rb +163 -67
  24. data/lib/bolognese/readers/datacite_json_reader.rb +4 -1
  25. data/lib/bolognese/readers/datacite_reader.rb +150 -38
  26. data/lib/bolognese/readers/npm_reader.rb +115 -0
  27. data/lib/bolognese/readers/ris_reader.rb +10 -14
  28. data/lib/bolognese/readers/schema_org_reader.rb +58 -25
  29. data/lib/bolognese/utils.rb +502 -63
  30. data/lib/bolognese/version.rb +1 -1
  31. data/lib/bolognese/writers/bibtex_writer.rb +4 -3
  32. data/lib/bolognese/writers/codemeta_writer.rb +6 -5
  33. data/lib/bolognese/writers/csv_writer.rb +1 -1
  34. data/lib/bolognese/writers/datacite_json_writer.rb +3 -1
  35. data/lib/bolognese/writers/jats_writer.rb +9 -4
  36. data/lib/bolognese/writers/ris_writer.rb +2 -2
  37. data/lib/bolognese/writers/schema_org_writer.rb +11 -7
  38. data/lib/bolognese.rb +2 -1
  39. data/package.json +12 -0
  40. data/resources/kernel-4/include/datacite-contributorType-v4.xsd +24 -22
  41. data/resources/kernel-4/include/datacite-dateType-v4.xsd +14 -12
  42. data/resources/kernel-4/include/datacite-descriptionType-v4.xsd +6 -6
  43. data/resources/kernel-4/include/datacite-funderIdentifierType-v4.xsd +5 -5
  44. data/resources/kernel-4/include/datacite-nameType-v4.xsd +2 -2
  45. data/resources/kernel-4/include/datacite-numberType-v4.xsd +12 -0
  46. data/resources/kernel-4/include/datacite-relatedIdentifierType-v4.xsd +24 -21
  47. data/resources/kernel-4/include/datacite-relationType-v4.xsd +43 -35
  48. data/resources/kernel-4/include/datacite-resourceType-v4.xsd +38 -17
  49. data/resources/kernel-4/include/datacite-titleType-v4.xsd +5 -5
  50. data/resources/kernel-4/metadata.xsd +349 -146
  51. data/resources/kernel-4.3/metadata.xsd +39 -8
  52. data/resources/kernel-4.4/include/datacite-contributorType-v4.xsd +35 -0
  53. data/resources/kernel-4.4/include/datacite-dateType-v4.xsd +25 -0
  54. data/resources/kernel-4.4/include/datacite-descriptionType-v4.xsd +19 -0
  55. data/resources/kernel-4.4/include/datacite-funderIdentifierType-v4.xsd +16 -0
  56. data/resources/kernel-4.4/include/datacite-nameType-v4.xsd +10 -0
  57. data/resources/kernel-4.4/include/datacite-numberType-v4.xsd +12 -0
  58. data/resources/kernel-4.4/include/datacite-relatedIdentifierType-v4.xsd +34 -0
  59. data/resources/kernel-4.4/include/datacite-relationType-v4.xsd +51 -0
  60. data/resources/kernel-4.4/include/datacite-resourceType-v4.xsd +43 -0
  61. data/resources/kernel-4.4/include/datacite-titleType-v4.xsd +14 -0
  62. data/resources/kernel-4.4/include/xml.xsd +286 -0
  63. data/resources/kernel-4.4/metadata.xsd +707 -0
  64. data/resources/kernel-4.5/include/datacite-contributorType-v4.xsd +35 -0
  65. data/resources/kernel-4.5/include/datacite-dateType-v4.xsd +25 -0
  66. data/resources/kernel-4.5/include/datacite-descriptionType-v4.xsd +19 -0
  67. data/resources/kernel-4.5/include/datacite-funderIdentifierType-v4.xsd +16 -0
  68. data/resources/kernel-4.5/include/datacite-nameType-v4.xsd +10 -0
  69. data/resources/kernel-4.5/include/datacite-numberType-v4.xsd +12 -0
  70. data/resources/kernel-4.5/include/datacite-relatedIdentifierType-v4.xsd +34 -0
  71. data/resources/kernel-4.5/include/datacite-relationType-v4.xsd +53 -0
  72. data/resources/kernel-4.5/include/datacite-resourceType-v4.xsd +45 -0
  73. data/resources/kernel-4.5/include/datacite-titleType-v4.xsd +14 -0
  74. data/resources/kernel-4.5/include/xml.xsd +286 -0
  75. data/resources/kernel-4.5/metadata.xsd +711 -0
  76. data/resources/kernel-4.6/include/datacite-contributorType-v4.xsd +37 -0
  77. data/resources/kernel-4.6/include/datacite-dateType-v4.xsd +27 -0
  78. data/resources/kernel-4.6/include/datacite-descriptionType-v4.xsd +19 -0
  79. data/resources/kernel-4.6/include/datacite-funderIdentifierType-v4.xsd +16 -0
  80. data/resources/kernel-4.6/include/datacite-nameType-v4.xsd +10 -0
  81. data/resources/kernel-4.6/include/datacite-numberType-v4.xsd +12 -0
  82. data/resources/kernel-4.6/include/datacite-relatedIdentifierType-v4.xsd +37 -0
  83. data/resources/kernel-4.6/include/datacite-relationType-v4.xsd +57 -0
  84. data/resources/kernel-4.6/include/datacite-resourceType-v4.xsd +49 -0
  85. data/resources/kernel-4.6/include/datacite-titleType-v4.xsd +14 -0
  86. data/resources/kernel-4.6/include/xml.xsd +286 -0
  87. data/resources/kernel-4.6/metadata.xsd +712 -0
  88. data/resources/oecd/dfg-mappings.json +1866 -0
  89. data/resources/oecd/for-mappings.json +1101 -0
  90. data/resources/oecd/fos-mappings.json +198 -0
  91. data/resources/schema_org/jsonldcontext.json +1069 -232
  92. data/resources/spdx/licenses.json +5297 -0
  93. metadata +160 -510
  94. data/.travis.yml +0 -33
  95. data/spec/array_spec.rb +0 -22
  96. data/spec/author_utils_spec.rb +0 -188
  97. data/spec/cli_spec.rb +0 -219
  98. data/spec/datacite_utils_spec.rb +0 -148
  99. data/spec/doi_utils_spec.rb +0 -302
  100. data/spec/find_from_format_spec.rb +0 -98
  101. data/spec/fixtures/aida.json +0 -82
  102. data/spec/fixtures/citeproc-no-author.json +0 -26
  103. data/spec/fixtures/citeproc-no-categories.json +0 -21
  104. data/spec/fixtures/citeproc.json +0 -30
  105. data/spec/fixtures/codemeta.json +0 -86
  106. data/spec/fixtures/codemeta_v2.json +0 -86
  107. data/spec/fixtures/crosscite.json +0 -63
  108. data/spec/fixtures/crossref.bib +0 -14
  109. data/spec/fixtures/crossref.ris +0 -15
  110. data/spec/fixtures/crossref.xml +0 -606
  111. data/spec/fixtures/datacite-example-affiliation.xml +0 -114
  112. data/spec/fixtures/datacite-example-complicated-v3.0.xml +0 -48
  113. data/spec/fixtures/datacite-example-complicated-v4.0.xml +0 -54
  114. data/spec/fixtures/datacite-example-complicated-v4.1.xml +0 -57
  115. data/spec/fixtures/datacite-example-geolocation-2.xml +0 -141
  116. data/spec/fixtures/datacite-example-geolocation.xml +0 -66
  117. data/spec/fixtures/datacite-example-polygon-v4.1.xml +0 -163
  118. data/spec/fixtures/datacite-geolocation-empty.xml +0 -159
  119. data/spec/fixtures/datacite-metadata-sample-complicated-v2.2.xml +0 -52
  120. data/spec/fixtures/datacite-multiple-language.xml +0 -38
  121. data/spec/fixtures/datacite-multiple-rights.xml +0 -59
  122. data/spec/fixtures/datacite-seriesinformation.xml +0 -41
  123. data/spec/fixtures/datacite-xml-lang.xml +0 -51
  124. data/spec/fixtures/datacite.json +0 -83
  125. data/spec/fixtures/datacite.xml +0 -40
  126. data/spec/fixtures/datacite_dataset.xml +0 -58
  127. data/spec/fixtures/datacite_malformed_creator.xml +0 -52
  128. data/spec/fixtures/datacite_missing_creator.xml +0 -33
  129. data/spec/fixtures/datacite_schema_3.xml +0 -58
  130. data/spec/fixtures/datacite_software.json +0 -21
  131. data/spec/fixtures/datacite_software_missing_comma.json +0 -18
  132. data/spec/fixtures/datacite_software_overlapping_keys.json +0 -18
  133. data/spec/fixtures/funding_reference.xml +0 -53
  134. data/spec/fixtures/gtex.xml +0 -71
  135. data/spec/fixtures/maremma/codemeta.json +0 -36
  136. data/spec/fixtures/nist.xml +0 -35
  137. data/spec/fixtures/ns0.xml +0 -2
  138. data/spec/fixtures/pure.bib +0 -14
  139. data/spec/fixtures/pure.ris +0 -15
  140. data/spec/fixtures/ris_bug.ris +0 -9
  141. data/spec/fixtures/schema_4.0.xml +0 -140
  142. data/spec/fixtures/schema_org.json +0 -44
  143. data/spec/fixtures/schema_org_geolocation.json +0 -82
  144. data/spec/fixtures/schema_org_geoshape.json +0 -550
  145. data/spec/fixtures/schema_org_gtex.json +0 -76
  146. data/spec/fixtures/schema_org_list.json +0 -12628
  147. data/spec/fixtures/schema_org_tdl_iodp_invalid_authors.json +0 -25
  148. data/spec/fixtures/schema_org_topmed.json +0 -54
  149. data/spec/fixtures/schema_org_type_as_array.json +0 -41
  150. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/default.yml +0 -95
  151. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_bibtex.yml +0 -95
  152. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_citation.yml +0 -95
  153. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_crossref.yml +0 -95
  154. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_datacite.yml +0 -95
  155. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_jats.yml +0 -95
  156. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_schema_org.yml +0 -95
  157. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/default.yml +0 -93
  158. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_bibtex.yml +0 -93
  159. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_citation.yml +0 -93
  160. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_datacite.yml +0 -93
  161. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_datacite_json.yml +0 -93
  162. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_jats.yml +0 -93
  163. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_schema_org.yml +0 -93
  164. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/default.yml +0 -111
  165. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_bibtex.yml +0 -111
  166. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_datacite.yml +0 -111
  167. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_schema_org.yml +0 -111
  168. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/crossref.yml +0 -47
  169. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/datacite.yml +0 -47
  170. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/jalc.yml +0 -47
  171. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/kisti.yml +0 -47
  172. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/medra.yml +0 -47
  173. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/op.yml +0 -47
  174. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/author.yml +0 -44
  175. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/no_author.yml +0 -44
  176. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/single_author.yml +0 -44
  177. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/with_organization.yml +0 -44
  178. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_datacite_metadata/change_state.yml +0 -93
  179. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_datacite_metadata/change_title.yml +0 -93
  180. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_description.yml +0 -51
  181. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license.yml +0 -51
  182. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license_name.yml +0 -51
  183. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license_url.yml +0 -51
  184. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_state.yml +0 -51
  185. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/validates_against_schema.yml +0 -51
  186. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/with_data_citation.yml +0 -51
  187. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/doi.yml +0 -44
  188. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/doi_with_protocol.yml +0 -44
  189. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/dx_doi_org_url.yml +0 -44
  190. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/force_test_resolver.yml +0 -44
  191. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/https_url.yml +0 -44
  192. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/test_resolver.yml +0 -44
  193. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/test_resolver_http.yml +0 -44
  194. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/doi.yml +0 -44
  195. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/doi_with_special_characters.yml +0 -44
  196. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/not_a_doi.yml +0 -44
  197. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/sandbox_url.yml +0 -44
  198. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/url.yml +0 -44
  199. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/crossref.yml +0 -88
  200. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/datacite.yml +0 -88
  201. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/jalc.yml +0 -88
  202. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/kisti.yml +0 -88
  203. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/medra.yml +0 -88
  204. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_a_valid_prefix.yml +0 -44
  205. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_found.yml +0 -88
  206. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/op.yml +0 -88
  207. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/doi.yml +0 -44
  208. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/doi_with_protocol.yml +0 -44
  209. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/dx_doi_org_url.yml +0 -44
  210. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/force_test_resolver.yml +0 -44
  211. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/https_url.yml +0 -44
  212. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/test_resolver.yml +0 -44
  213. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/test_resolver_http.yml +0 -44
  214. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref.yml +0 -143
  215. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref_doi_not_url.yml +0 -143
  216. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite.yml +0 -143
  217. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite_doi_http.yml +0 -143
  218. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/github.yml +0 -99
  219. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/orcid.yml +0 -99
  220. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/schema_org.yml +0 -99
  221. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/unknown_DOI_registration_agency.yml +0 -143
  222. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/bibtex.yml +0 -99
  223. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/citeproc.yml +0 -99
  224. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/codemeta.yml +0 -99
  225. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/crosscite.yml +0 -99
  226. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/crossref.yml +0 -99
  227. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite.yml +0 -99
  228. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite_json.yml +0 -99
  229. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/ris.yml +0 -99
  230. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/schema_org.yml +0 -99
  231. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_string/crosscite.yml +0 -99
  232. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/from_schema_org/with_id.yml +0 -44
  233. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/maremma.yml +0 -73
  234. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/metadata_reports.yml +0 -94
  235. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_ORCID_ID.yml +0 -92
  236. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_SICI_DOI.yml +0 -91
  237. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_data_citation.yml +0 -95
  238. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/JaLC.yml +0 -126
  239. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/KISTI.yml +0 -147
  240. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/OP.yml +0 -89
  241. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/another_book.yml +0 -127
  242. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/another_book_chapter.yml +0 -89
  243. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/book.yml +0 -88
  244. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/book_chapter.yml +0 -159
  245. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/component.yml +0 -109
  246. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/dataset.yml +0 -119
  247. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/dataset_usda.yml +0 -129
  248. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/date_in_future.yml +0 -90
  249. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/error_unknown.yml +0 -88
  250. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/jj.yml +0 -87
  251. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article.yml +0 -89
  252. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_original_language_title.yml +0 -87
  253. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with.yml +0 -93
  254. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with_funding.yml +0 -89
  255. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_issue.yml +0 -116
  256. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/mEDRA.yml +0 -125
  257. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/markup.yml +0 -92
  258. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/missing_creator.yml +0 -89
  259. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/multiple_t.yml +0 -47
  260. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/multiple_titles.yml +0 -87
  261. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/not_found_error.yml +0 -86
  262. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/posted_content.yml +0 -88
  263. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/vor_with_url.yml +0 -91
  264. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/yet_another_book.yml +0 -87
  265. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/yet_another_book_chapter.yml +0 -88
  266. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/BlogPosting.yml +0 -99
  267. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_test_system.yml +0 -100
  268. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_test_system_schema_3.yml +0 -95
  269. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_with_related_id_system.yml +0 -110
  270. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_not_found.yml +0 -89
  271. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Dataset.yml +0 -93
  272. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding.yml +0 -93
  273. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding_empty_awardTitle.yml +0 -93
  274. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding_schema_version_4.yml +0 -93
  275. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Referee_report_in_test_system.yml +0 -97
  276. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_only_full_name.yml +0 -93
  277. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_scheme.yml +0 -93
  278. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_wrong_orcid_scheme.yml +0 -93
  279. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/content_url.yml +0 -101
  280. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/date.yml +0 -106
  281. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/dissertation.yml +0 -93
  282. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/doi_with_sign.yml +0 -97
  283. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/empty_subject.yml +0 -95
  284. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/funding_schema_version_3.yml +0 -119
  285. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/is_identical_to.yml +0 -93
  286. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/keywords_with_attributes.yml +0 -108
  287. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/leading_and_trailing_whitespace.yml +0 -121
  288. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_author_names_in_one_creatorsName.yml +0 -102
  289. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_licenses.yml +0 -119
  290. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/series-information.yml +0 -93
  291. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/subject_scheme.yml +0 -93
  292. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/xs_string_attributes.yml +0 -93
  293. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date/publication_date.yml +0 -44
  294. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/date.yml +0 -44
  295. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year-month.yml +0 -44
  296. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year.yml +0 -44
  297. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/date.yml +0 -44
  298. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/year-month.yml +0 -44
  299. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/year.yml +0 -44
  300. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/date.yml +0 -44
  301. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year-month.yml +0 -44
  302. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year.yml +0 -44
  303. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_familyName.yml +0 -55
  304. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_Thai.yml +0 -49
  305. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order.yml +0 -75
  306. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order_with_ORCID.yml +0 -49
  307. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_sort-order.yml +0 -49
  308. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/hyper-authorship.yml +0 -1222
  309. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/is_organization.yml +0 -44
  310. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_author_names_in_one_field.yml +0 -58
  311. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_name_identifier.yml +0 -49
  312. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_affiliation.yml +0 -49
  313. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_affiliation_and_country.yml +0 -75
  314. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_role.yml +0 -49
  315. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/only_familyName_and_givenName.yml +0 -49
  316. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting.yml +0 -111
  317. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting_with_new_DOI.yml +0 -111
  318. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/harvard_dataverse.yml +0 -37
  319. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/harvard_dataverse_via_identifiers_org.yml +0 -156
  320. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/ornl.yml +0 -704
  321. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/pangaea.yml +0 -49
  322. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/zenodo.yml +0 -580
  323. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/only_title.yml +0 -44
  324. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_and_pages.yml +0 -44
  325. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_volume_and_pages.yml +0 -44
  326. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_volume_issue_and_pages.yml +0 -44
  327. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_as_codemeta_url.yml +0 -44
  328. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_from_url.yml +0 -44
  329. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_from_url_file.yml +0 -44
  330. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/DOI_RA_not_Crossref_or_DataCite.yml +0 -47
  331. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/unknown_DOI_prefix.yml +0 -47
  332. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_alternate_identifiers/insert.yml +0 -49
  333. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_contributors/none.yml +0 -49
  334. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_creators/insert.yml +0 -49
  335. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_descriptions/insert.yml +0 -55
  336. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_identifier/doi.yml +0 -49
  337. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_person/creator_only_name.yml +0 -49
  338. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publication_year/insert.yml +0 -49
  339. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publisher/insert.yml +0 -49
  340. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/insert.yml +0 -49
  341. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/related_identifier.yml +0 -49
  342. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_resource_type/insert.yml +0 -49
  343. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_rights_list/insert.yml +0 -49
  344. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_subjects/insert.yml +0 -49
  345. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_titles/insert.yml +0 -49
  346. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_version/insert.yml +0 -49
  347. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_comma.yml +0 -44
  348. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_family_name.yml +0 -44
  349. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_id.yml +0 -44
  350. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_known_given_name.yml +0 -44
  351. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_no_info.yml +0 -44
  352. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_orcid_id.yml +0 -44
  353. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_type_organization.yml +0 -44
  354. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/missing_comma.yml +0 -99
  355. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/nil.yml +0 -99
  356. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/overlapping_keys.yml +0 -99
  357. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/valid.yml +0 -99
  358. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/SICI_doi.yml +0 -44
  359. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi.yml +0 -44
  360. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_force_datacite_sandbox.yml +0 -44
  361. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_from_datacite_sandbox.yml +0 -44
  362. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_from_url_without_doi_proxy.yml +0 -44
  363. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_too_long.yml +0 -44
  364. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_with_string.yml +0 -44
  365. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_with_protocol.yml +0 -44
  366. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/dx_doi_org_url.yml +0 -44
  367. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/https_url.yml +0 -44
  368. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/not_valid_doi_prefix.yml +0 -44
  369. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/url_with_one_slash.yml +0 -44
  370. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi.yml +0 -44
  371. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi_as_url.yml +0 -44
  372. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/ftp.yml +0 -44
  373. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/invalid_url.yml +0 -44
  374. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/sandbox_via_options.yml +0 -44
  375. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/sandbox_via_url.yml +0 -44
  376. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/string.yml +0 -44
  377. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url.yml +0 -44
  378. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url_with_utf-8.yml +0 -44
  379. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/doi.yml +0 -44
  380. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/url.yml +0 -44
  381. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_array.yml +0 -44
  382. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_empty_array.yml +0 -44
  383. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_hash.yml +0 -44
  384. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_string.yml +0 -44
  385. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/uri.yml +0 -44
  386. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/with_trailing_slash.yml +0 -44
  387. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/array.yml +0 -44
  388. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/array_of_strings.yml +0 -44
  389. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/first.yml +0 -44
  390. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/hash.yml +0 -44
  391. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/nil.yml +0 -44
  392. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/string.yml +0 -44
  393. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_only_keep_specific_tags.yml +0 -44
  394. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_remove_a_tags.yml +0 -44
  395. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org/with_id.yml +0 -44
  396. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org_identifiers/with_identifiers.yml +0 -44
  397. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_doi/doi.yml +0 -44
  398. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/funder_doi.yml +0 -44
  399. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/funder_doi_without_prefix.yml +0 -44
  400. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/non-funder_doi.yml +0 -44
  401. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid.yml +0 -44
  402. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_https.yml +0 -44
  403. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_id.yml +0 -44
  404. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_with_spaces.yml +0 -44
  405. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_wrong_id.yml +0 -44
  406. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_www.yml +0 -44
  407. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme.yml +0 -44
  408. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_https.yml +0 -44
  409. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_trailing_slash.yml +0 -44
  410. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_www.yml +0 -44
  411. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi.yml +0 -44
  412. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi_as_url.yml +0 -44
  413. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi_with_protocol.yml +0 -44
  414. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/only_prefix.yml +0 -44
  415. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/DOI.yml +0 -44
  416. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/ISSN.yml +0 -44
  417. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/URL.yml +0 -44
  418. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/string.yml +0 -44
  419. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/BlogPosting.yml +0 -55
  420. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/Dataset.yml +0 -49
  421. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/authors_with_affiliations.yml +0 -75
  422. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/climate_data.yml +0 -52
  423. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/from_schema_org.yml +0 -111
  424. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/keywords_subject_scheme.yml +0 -119
  425. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/maremma.yml +0 -73
  426. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/text.yml +0 -49
  427. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_data_citation.yml +0 -51
  428. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_pages.yml +0 -48
  429. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Dataset.yml +0 -49
  430. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Journal_article.yml +0 -51
  431. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Missing_author.yml +0 -45
  432. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting.yml +0 -55
  433. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting_schema_org.yml +0 -109
  434. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/Dataset.yml +0 -49
  435. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/container_title.yml +0 -49
  436. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/journal_article.yml +0 -51
  437. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/keywords_subject_scheme.yml +0 -119
  438. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/maremma.yml +0 -73
  439. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/missing_creator.yml +0 -45
  440. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/multiple_abstracts.yml +0 -49
  441. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/software.yml +0 -49
  442. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_first_page.yml +0 -46
  443. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_only_first_page.yml +0 -46
  444. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_pages.yml +0 -48
  445. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite.yml +0 -54
  446. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite_check_codemeta_v2.yml +0 -54
  447. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/datacite_database_attributes.yml +0 -49
  448. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/maremma.yml +0 -73
  449. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_ORCID_ID.yml +0 -48
  450. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation.yml +0 -51
  451. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation_schema_org.yml +0 -111
  452. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crossref/from_DataCite.yml +0 -49
  453. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/climate_data.yml +0 -52
  454. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/maremma.yml +0 -73
  455. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/text.yml +0 -49
  456. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/with_data_citation.yml +0 -51
  457. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/with_pages.yml +0 -48
  458. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/maremma.yml +0 -73
  459. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_ORCID_ID.yml +0 -48
  460. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_data_citation.yml +0 -51
  461. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_data_citation_schema_org.yml +0 -111
  462. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/DOI_not_found.yml +0 -45
  463. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Dataset_in_schema_4_0.yml +0 -49
  464. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Text_pass-thru.yml +0 -81
  465. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Text_pass-thru_with_doi_in_options.yml +0 -81
  466. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/maremma.yml +0 -73
  467. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_ORCID_ID.yml +0 -48
  468. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation.yml +0 -51
  469. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation_schema_org.yml +0 -111
  470. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_editor.yml +0 -45
  471. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/Dataset_in_schema_4_0.yml +0 -49
  472. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/Text_pass-thru.yml +0 -81
  473. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/book_chapter.yml +0 -84
  474. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/maremma.yml +0 -73
  475. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_ORCID_ID.yml +0 -48
  476. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_data_citation.yml +0 -51
  477. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_data_citation_schema_org.yml +0 -111
  478. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_editor.yml +0 -45
  479. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting.yml +0 -55
  480. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting_schema_org.yml +0 -111
  481. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/Dataset.yml +0 -49
  482. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/alternate_name.yml +0 -49
  483. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/journal_article.yml +0 -51
  484. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/keywords_with_subject_scheme.yml +0 -119
  485. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/maremma.yml +0 -73
  486. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/with_pages.yml +0 -48
  487. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Funding.yml +0 -49
  488. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Funding_OpenAIRE.yml +0 -75
  489. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON.yml +0 -75
  490. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_IsSupplementTo.yml +0 -49
  491. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_isReferencedBy.yml +0 -49
  492. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/alternate_identifiers.yml +0 -57
  493. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/data_catalog.yml +0 -62
  494. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/geo_location_box.yml +0 -98
  495. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/journal_article.yml +0 -51
  496. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/maremma_schema_org_JSON.yml +0 -73
  497. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/series_information.yml +0 -49
  498. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/subject_scheme.yml +0 -49
  499. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/subject_scheme_multiple_keywords.yml +0 -119
  500. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/Dataset.yml +0 -49
  501. data/spec/fixtures/vivli.xml +0 -1
  502. data/spec/metadata_spec.rb +0 -165
  503. data/spec/readers/bibtex_reader_spec.rb +0 -59
  504. data/spec/readers/citeproc_reader_spec.rb +0 -61
  505. data/spec/readers/codemeta_reader_spec.rb +0 -117
  506. data/spec/readers/crosscite_reader_spec.rb +0 -41
  507. data/spec/readers/crossref_reader_spec.rb +0 -509
  508. data/spec/readers/datacite_json_reader_spec.rb +0 -61
  509. data/spec/readers/datacite_reader_spec.rb +0 -1041
  510. data/spec/readers/ris_reader_spec.rb +0 -73
  511. data/spec/readers/schema_org_reader_spec.rb +0 -325
  512. data/spec/spec_helper.rb +0 -94
  513. data/spec/utils_spec.rb +0 -417
  514. data/spec/writers/bibtex_writer_spec.rb +0 -163
  515. data/spec/writers/citation_writer_spec.rb +0 -35
  516. data/spec/writers/citeproc_writer_spec.rb +0 -223
  517. data/spec/writers/codemeta_writer_spec.rb +0 -46
  518. data/spec/writers/crosscite_writer_spec.rb +0 -118
  519. data/spec/writers/crossref_writer_spec.rb +0 -21
  520. data/spec/writers/csv_writer_spec.rb +0 -93
  521. data/spec/writers/datacite_json_writer_spec.rb +0 -86
  522. data/spec/writers/datacite_writer_spec.rb +0 -366
  523. data/spec/writers/jats_writer_spec.rb +0 -179
  524. data/spec/writers/rdf_xml_writer_spec.rb +0 -100
  525. data/spec/writers/ris_writer_spec.rb +0 -203
  526. data/spec/writers/schema_org_writer_spec.rb +0 -322
  527. data/spec/writers/turtle_writer_spec.rb +0 -84
@@ -1,100 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- describe Bolognese::Metadata, vcr: true do
6
- context "write metadata as rdf xml" do
7
- # it "journal article" do
8
- # input = "10.7554/eLife.01567"
9
- # subject = Bolognese::Metadata.new(input: input, from: "crossref")
10
- # expect(subject.valid?).to be true
11
- # rdf_xml = Maremma.from_xml(subject.rdf_xml).fetch("RDF", {})
12
- # expect(rdf_xml.dig("ScholarlyArticle", "rdf:about")).to eq("https://doi.org/10.7554/elife.01567")
13
- # expect(rdf_xml.dig("ScholarlyArticle", "name")).to eq("Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth")
14
- # expect(rdf_xml.dig("ScholarlyArticle", "datePublished", "__content__")).to eq("2014-02-11")
15
- # end
16
- #
17
- # it "with pages" do
18
- # input = "https://doi.org/10.1155/2012/291294"
19
- # subject = Bolognese::Metadata.new(input: input, from: "crossref")
20
- # expect(subject.valid?).to be true
21
- # rdf_xml = Maremma.from_xml(subject.rdf_xml).fetch("RDF", {})
22
- # expect(rdf_xml.dig("ScholarlyArticle", "rdf:about")).to eq("https://doi.org/10.1155/2012/291294")
23
- # expect(rdf_xml.dig("ScholarlyArticle", "name")).to eq("Delineating a Retesting Zone Using Receiver Operating Characteristic Analysis on Serial QuantiFERON Tuberculosis Test Results in US Healthcare Workers")
24
- # expect(rdf_xml.dig("ScholarlyArticle", "datePublished", "__content__")).to eq("2012")
25
- # expect(rdf_xml.dig("ScholarlyArticle", "pagination")).to eq("1-7")
26
- # end
27
-
28
- # it "Crossref DOI" do
29
- # input = fixture_path + "crossref.bib"
30
- # subject = Bolognese::Metadata.new(input: input, from: "bibtex")
31
- # expect(subject.valid?).to be true
32
- # rdf_xml = Maremma.from_xml(subject.rdf_xml).fetch("RDF", {})
33
- # expect(rdf_xml.dig("ScholarlyArticle", "rdf:about")).to eq("https://doi.org/10.7554/elife.01567")
34
- # expect(rdf_xml.dig("ScholarlyArticle", "name")).to eq("Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth")
35
- # expect(rdf_xml.dig("ScholarlyArticle", "datePublished", "__content__")).to eq("2014")
36
- # expect(rdf_xml.dig("ScholarlyArticle", "isPartOf", "Periodical", "name")).to eq("eLife")
37
- # end
38
- #
39
- # it "BlogPosting" do
40
- # input = "https://doi.org/10.5438/4K3M-NYVG"
41
- # subject = Bolognese::Metadata.new(input: input, from: "datacite")
42
- # expect(subject.valid?).to be true
43
- # rdf_xml = Maremma.from_xml(subject.rdf_xml).fetch("RDF", {})
44
- # expect(rdf_xml.dig("ScholarlyArticle", "rdf:about")).to eq("https://doi.org/10.5438/4k3m-nyvg")
45
- # expect(rdf_xml.dig("ScholarlyArticle", "author", "Person", "rdf:about")).to eq("http://orcid.org/0000-0003-1419-2405")
46
- # expect(rdf_xml.dig("ScholarlyArticle", "author", "Person", "name")).to eq("Fenner, Martin")
47
- # expect(rdf_xml.dig("ScholarlyArticle", "name")).to eq("Eating your own Dog Food")
48
- # expect(rdf_xml.dig("ScholarlyArticle", "keywords")).to eq("datacite, doi, metadata")
49
- # expect(rdf_xml.dig("ScholarlyArticle", "datePublished", "__content__")).to eq("2016-12-20")
50
- # end
51
- #
52
- # it "BlogPosting Citeproc JSON" do
53
- # input = fixture_path + "citeproc.json"
54
- # subject = Bolognese::Metadata.new(input: input, from: "citeproc")
55
- # rdf_xml = Maremma.from_xml(subject.rdf_xml).fetch("RDF", {})
56
- # expect(rdf_xml.dig("BlogPosting", "rdf:about")).to eq("https://doi.org/10.5438/4k3m-nyvg")
57
- # expect(rdf_xml.dig("BlogPosting", "author", "Person", "name")).to eq("Martin Fenner")
58
- # expect(rdf_xml.dig("BlogPosting", "name")).to eq("Eating your own Dog Food")
59
- # expect(rdf_xml.dig("BlogPosting", "datePublished", "__content__")).to eq("2016-12-20")
60
- # end
61
- #
62
- # it "maremma" do
63
- # input = "https://github.com/datacite/maremma"
64
- # subject = Bolognese::Metadata.new(input: input, from: "codemeta")
65
- # rdf_xml = Maremma.from_xml(subject.rdf_xml).fetch("RDF", {})
66
- # expect(rdf_xml.dig("SoftwareSourceCode", "rdf:about")).to eq("https://doi.org/10.5438/qeg0-3gm3")
67
- # expect(rdf_xml.dig("SoftwareSourceCode", "author", "Person", "rdf:about")).to eq("http://orcid.org/0000-0003-0077-4738")
68
- # expect(rdf_xml.dig("SoftwareSourceCode", "author", "Person", "name")).to eq("Martin Fenner")
69
- # expect(rdf_xml.dig("SoftwareSourceCode", "name")).to eq("Maremma: a Ruby library for simplified network calls")
70
- # expect(rdf_xml.dig("SoftwareSourceCode", "keywords")).to eq("faraday, excon, net/http")
71
- # expect(rdf_xml.dig("SoftwareSourceCode", "datePublished", "__content__")).to eq("2017-02-24")
72
- # end
73
-
74
- # it "BlogPosting schema.org" do
75
- # input = "https://blog.datacite.org/eating-your-own-dog-food/"
76
- # subject = Bolognese::Metadata.new(input: input, from: "schema_org")
77
- # expect(subject.valid?).to be true
78
- # rdf_xml = Maremma.from_xml(subject.rdf_xml).fetch("RDF", {})
79
- # expect(rdf_xml.dig("ScholarlyArticle", "rdf:about")).to eq("https://doi.org/10.5438/4k3m-nyvg")
80
- # expect(rdf_xml.dig("ScholarlyArticle", "author", "Person", "rdf:about")).to eq("http://orcid.org/0000-0003-1419-2405")
81
- # expect(rdf_xml.dig("ScholarlyArticle", "author", "Person", "name")).to eq("Fenner, Martin")
82
- # expect(rdf_xml.dig("ScholarlyArticle", "name")).to eq("Eating your own Dog Food")
83
- # expect(rdf_xml.dig("ScholarlyArticle", "keywords")).to eq("datacite, doi, metadata")
84
- # expect(rdf_xml.dig("ScholarlyArticle", "datePublished", "__content__")).to eq("2016-12-20")
85
- # end
86
-
87
- # it "BlogPosting" do
88
- # id = "https://doi.org/10.5438/4K3M-NYVG"
89
- # subject = Bolognese::Metadata.new(id: id)
90
- # expect(subject.valid?).to be true
91
- # rdfxml = Maremma.from_xml(subject.rdf_xml).fetch("RDF", {})
92
- # expect(rdfxml.dig("ScholarlyArticle", "rdf:about")).to eq("https://doi.org/10.5438/4k3m-nyvg")
93
- # expect(rdfxml.dig("ScholarlyArticle", "author", "Person", "rdf:about")).to eq("http://orcid.org/0000-0003-1419-2405")
94
- # expect(rdfxml.dig("ScholarlyArticle", "author", "Person", "name")).to eq("Fenner, Martin")
95
- # expect(rdfxml.dig("ScholarlyArticle", "name")).to eq("Eating your own Dog Food")
96
- # expect(rdfxml.dig("ScholarlyArticle", "keywords")).to eq("datacite, doi, metadata")
97
- # expect(rdfxml.dig("ScholarlyArticle", "datePublished", "__content__")).to eq("2016-12-20")
98
- # end
99
- end
100
- end
@@ -1,203 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- describe Bolognese::Metadata, vcr: true do
6
- context "write metadata as ris" do
7
- it "journal article" do
8
- input = "10.7554/eLife.01567"
9
- subject = Bolognese::Metadata.new(input: input, from: "crossref")
10
- expect(subject.valid?).to be true
11
- ris = subject.ris.split("\r\n")
12
- expect(ris[0]).to eq("TY - JOUR")
13
- expect(ris[1]).to eq("T1 - Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth")
14
- expect(ris[2]).to eq("T2 - eLife")
15
- expect(ris[3]).to eq("AU - Sankar, Martial")
16
- expect(ris[8]).to eq("DO - 10.7554/elife.01567")
17
- expect(ris[9]).to eq("UR - https://elifesciences.org/articles/01567")
18
- expect(ris[10]).to start_with("AB - Among various advantages")
19
- expect(ris[11]).to eq("PY - 2014")
20
- expect(ris[12]).to eq("PB - eLife Sciences Publications, Ltd")
21
- expect(ris[13]).to eq("VL - 3")
22
- expect(ris[14]).to eq("SN - 2050-084X")
23
- expect(ris[15]).to eq("ER - ")
24
- end
25
-
26
- it "with pages" do
27
- input = "https://doi.org/10.1155/2012/291294"
28
- subject = Bolognese::Metadata.new(input: input, from: "crossref")
29
- expect(subject.valid?).to be true
30
- ris = subject.ris.split("\r\n")
31
- expect(ris[0]).to eq("TY - JOUR")
32
- expect(ris[1]).to eq("T1 - Delineating a Retesting Zone Using Receiver Operating Characteristic Analysis on Serial QuantiFERON Tuberculosis Test Results in US Healthcare Workers")
33
- expect(ris[2]).to eq("T2 - Pulmonary Medicine")
34
- expect(ris[3]).to eq("AU - Thanassi, Wendy")
35
- expect(ris[10]).to eq("DO - 10.1155/2012/291294")
36
- expect(ris[11]).to eq("UR - http://www.hindawi.com/journals/pm/2012/291294/")
37
- expect(ris[12]).to start_with("AB - . To find a statistically significant separation point for the QuantiFERON")
38
- expect(ris[13]).to eq("PY - 2012")
39
- expect(ris[14]).to eq("PB - Hindawi Limited")
40
- expect(ris[15]).to eq("VL - 2012")
41
- expect(ris[16]).to eq("SP - 1")
42
- expect(ris[17]).to eq("EP - 7")
43
- expect(ris[18]).to eq("SN - 2090-1844")
44
- expect(ris[19]).to eq("ER - ")
45
- end
46
-
47
- it "alternate name" do
48
- input = "https://doi.org/10.3205/ZMA001102"
49
- subject = Bolognese::Metadata.new(input: input, from: "datacite")
50
- expect(subject.valid?).to be true
51
- ris = subject.ris.split("\r\n")
52
- expect(ris[0]).to eq("TY - RPRT")
53
- expect(ris[1]).to eq("T1 - Visions and reality: the idea of competence-oriented assessment for German medical students is not yet realised in licensing examinations")
54
- expect(ris[2]).to eq("T2 - GMS Journal for Medical Education; 34(2):Doc25")
55
- expect(ris[3]).to eq("AU - Huber-Lang, Markus")
56
- expect(ris[9]).to eq("DO - 10.3205/zma001102")
57
- expect(ris[10]).to eq("UR - http://www.egms.de/en/journals/zma/2017-34/zma001102.shtml")
58
- expect(ris[11]).to start_with("AB - Objective: Competence orientation")
59
- expect(ris[12]).to eq("KW - medical competence")
60
- expect(ris[22]).to eq("PY - 2017")
61
- expect(ris[23]).to eq("PB - German Medical Science GMS Publishing House")
62
- expect(ris[24]).to eq("LA - en")
63
- expect(ris[25]).to eq("SN - 2366-5017")
64
- expect(ris[26]).to eq("ER - ")
65
- end
66
-
67
- it "Crossref DOI" do
68
- input = fixture_path + "crossref.bib"
69
- subject = Bolognese::Metadata.new(input: input, from: "bibtex")
70
-
71
- ris = subject.ris.split("\r\n")
72
- expect(ris[0]).to eq("TY - JOUR")
73
- expect(ris[1]).to eq("T1 - Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth")
74
- expect(ris[2]).to eq("T2 - eLife")
75
- expect(ris[3]).to eq("AU - Sankar, Martial")
76
- expect(ris[8]).to eq("DO - 10.7554/elife.01567")
77
- expect(ris[9]).to eq("UR - http://elifesciences.org/lookup/doi/10.7554/eLife.01567")
78
- expect(ris[10]).to eq("AB - Among various advantages, their small size makes model organisms preferred subjects of investigation. Yet, even in model systems detailed analysis of numerous developmental processes at cellular level is severely hampered by their scale.")
79
- expect(ris[11]).to eq("PY - 2014")
80
- expect(ris[12]).to eq("PB - {eLife} Sciences Organisation, Ltd.")
81
- expect(ris[13]).to eq("VL - 3")
82
- expect(ris[14]).to eq("SN - 2050-084X")
83
- expect(ris[15]).to eq("ER - ")
84
- end
85
-
86
- it "BlogPosting" do
87
- input = "https://doi.org/10.5438/4K3M-NYVG"
88
- subject = Bolognese::Metadata.new(input: input, from: "datacite")
89
- expect(subject.valid?).to be true
90
- ris = subject.ris.split("\r\n")
91
- expect(ris[0]).to eq("TY - RPRT")
92
- expect(ris[1]).to eq("T1 - Eating your own Dog Food")
93
- expect(ris[2]).to eq("AU - Fenner, Martin")
94
- expect(ris[3]).to eq("DO - 10.5438/4k3m-nyvg")
95
- expect(ris[4]).to eq("UR - https://blog.datacite.org/eating-your-own-dog-food/")
96
- expect(ris[5]).to eq("AB - Eating your own dog food is a slang term to describe that an organization should itself use the products and services it provides. For DataCite this means that we should use DOIs with appropriate metadata and strategies for long-term preservation for...")
97
- expect(ris[6]).to eq("KW - datacite")
98
- expect(ris[9]).to eq("PY - 2016")
99
- expect(ris[10]).to eq("PB - DataCite")
100
- expect(ris[11]).to eq("SN - 10.5438/0000-00ss")
101
- expect(ris[12]).to eq("ER - ")
102
- end
103
-
104
- it "BlogPosting Citeproc JSON" do
105
- input = fixture_path + "citeproc.json"
106
- subject = Bolognese::Metadata.new(input: input, from: "citeproc")
107
- ris = subject.ris.split("\r\n")
108
- expect(ris[0]).to eq("TY - GEN")
109
- expect(ris[1]).to eq("T1 - Eating your own Dog Food")
110
- expect(ris[2]).to eq("T2 - DataCite Blog")
111
- expect(ris[3]).to eq("AU - Fenner, Martin")
112
- expect(ris[4]).to eq("DO - 10.5438/4k3m-nyvg")
113
- expect(ris[5]).to eq("UR - https://blog.datacite.org/eating-your-own-dog-food")
114
- expect(ris[6]).to eq("AB - Eating your own dog food is a slang term to describe that an organization should itself use the products and services it provides. For DataCite this means that we should use DOIs with appropriate metadata and strategies for long-term preservation for...")
115
- expect(ris[7]).to eq("KW - Phylogeny")
116
- expect(ris[14]).to eq("PY - 2016")
117
- expect(ris[15]).to eq("PB - DataCite")
118
- expect(ris[16]).to eq("ER - ")
119
- end
120
-
121
- it "BlogPosting DataCite JSON" do
122
- input = fixture_path + "datacite.json"
123
- subject = Bolognese::Metadata.new(input: input, from: "datacite_json")
124
- ris = subject.ris.split("\r\n")
125
- expect(ris[0]).to eq("TY - RPRT")
126
- expect(ris[1]).to eq("T1 - Eating your own Dog Food")
127
- expect(ris[2]).to eq("AU - Fenner, Martin")
128
- expect(ris[3]).to eq("DO - 10.5438/4k3m-nyvg")
129
- expect(ris[4]).to eq("AB - Eating your own dog food is a slang term to describe that an organization should itself use the products and services it provides. For DataCite this means that we should use DOIs with appropriate metadata and strategies for long-term preservation for...")
130
- expect(ris[5]).to eq("KW - datacite")
131
- expect(ris[8]).to eq("PY - 2016")
132
- expect(ris[9]).to eq("PB - DataCite")
133
- expect(ris[10]).to eq("SN - 10.5438/0000-00ss")
134
- expect(ris[11]).to eq("ER - ")
135
- end
136
-
137
- it "BlogPosting schema.org" do
138
- input = "https://blog.datacite.org/eating-your-own-dog-food/"
139
- subject = Bolognese::Metadata.new(input: input, from: "schema_org")
140
- ris = subject.ris.split("\r\n")
141
- expect(ris[0]).to eq("TY - GEN")
142
- expect(ris[1]).to eq("T1 - Eating your own Dog Food")
143
- expect(ris[2]).to eq("AU - Fenner, Martin")
144
- expect(ris[3]).to eq("DO - 10.5438/4k3m-nyvg")
145
- expect(ris[4]).to eq("UR - https://blog.datacite.org/eating-your-own-dog-food")
146
- expect(ris[5]).to eq("AB - Eating your own dog food is a slang term to describe that an organization should itself use the products and services it provides. For DataCite this means that we should use DOIs with appropriate metadata and strategies for long-term preservation for...")
147
- expect(ris[6]).to eq("KW - datacite")
148
- expect(ris[10]).to eq("PY - 2016")
149
- expect(ris[11]).to eq("PB - DataCite")
150
- expect(ris[12]).to eq("SN - 10.5438/0000-00ss")
151
- expect(ris[13]).to eq("ER - ")
152
- end
153
-
154
- it "Dataset" do
155
- input = "10.5061/DRYAD.8515"
156
- subject = Bolognese::Metadata.new(input: input, from: "datacite")
157
- expect(subject.valid?).to be true
158
- ris = subject.ris.split("\r\n")
159
- expect(ris[0]).to eq("TY - DATA")
160
- expect(ris[1]).to eq("T1 - Data from: A new malaria agent in African hominids.")
161
- expect(ris[2]).to eq("AU - Ollomo, Benjamin")
162
- expect(ris[10]).to eq("DO - 10.5061/dryad.8515")
163
- expect(ris[11]).to eq("UR - https://datadryad.org/resource/doi:10.5061/dryad.8515")
164
- expect(ris[13]).to eq("KW - Malaria")
165
- expect(ris[19]).to eq("PY - 2011")
166
- expect(ris[20]).to eq("PB - Dryad Digital Repository")
167
- expect(ris[21]).to eq("ER - ")
168
- end
169
-
170
- it "maremma" do
171
- input = "https://github.com/datacite/maremma"
172
- subject = Bolognese::Metadata.new(input: input, from: "codemeta")
173
- ris = subject.ris.split("\r\n")
174
- expect(ris[0]).to eq("TY - COMP")
175
- expect(ris[1]).to eq("T1 - Maremma: a Ruby library for simplified network calls")
176
- expect(ris[2]).to eq("AU - Fenner, Martin")
177
- expect(ris[3]).to eq("DO - 10.5438/qeg0-3gm3")
178
- expect(ris[4]).to eq("UR - https://github.com/datacite/maremma")
179
- expect(ris[5]).to eq("AB - Ruby utility library for network requests. Based on Faraday and Excon, provides a wrapper for XML/JSON parsing and error handling. All successful responses are returned as hash with key data, all errors in a JSONAPI-friendly hash with key errors.")
180
- expect(ris[6]).to eq("KW - faraday")
181
- expect(ris[9]).to eq("PY - 2017")
182
- expect(ris[10]).to eq("PB - DataCite")
183
- expect(ris[11]).to eq("ER - ")
184
- end
185
-
186
- it "keywords with subject scheme" do
187
- input = "https://doi.org/10.1594/pangaea.721193"
188
- subject = Bolognese::Metadata.new(input: input, from: "datacite")
189
- ris = subject.ris.split("\r\n")
190
- expect(ris.first).to eq("TY - DATA")
191
- expect(ris).to include("T1 - Seawater carbonate chemistry and processes during experiments with Crassostrea gigas, 2007, supplement to: Kurihara, Haruko; Kato, Shoji; Ishimatsu, Atsushi (2007): Effects of increased seawater pCO2 on early development of the oyster Crassostrea gigas. Aquatic Biology, 1(1), 91-98")
192
- expect(ris).to include("AU - Kurihara, Haruko")
193
- expect(ris).to include("DO - 10.1594/pangaea.721193")
194
- expect(ris).to include("UR - https://doi.pangaea.de/10.1594/PANGAEA.721193")
195
- expect(ris).to include("KW - Animalia")
196
- expect(ris).to include("KW - Bottles or small containers/Aquaria ( 20 L)")
197
- expect(ris).to include("PY - 2007")
198
- expect(ris).to include("PB - PANGAEA - Data Publisher for Earth & Environmental Science")
199
- expect(ris).to include("LA - en")
200
- expect(ris.last).to eq("ER - ")
201
- end
202
- end
203
- end
@@ -1,322 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- describe Bolognese::Metadata, vcr: true do
6
- context "write metadata as schema_org" do
7
- it "journal article" do
8
- input = "10.7554/eLife.01567"
9
- subject = Bolognese::Metadata.new(input: input, from: "crossref")
10
- json = JSON.parse(subject.schema_org)
11
- expect(json["@id"]).to eq("https://doi.org/10.7554/elife.01567")
12
- expect(json["isPartOf"]).to eq("@type"=>"Periodical", "issn"=>"2050-084X")
13
- expect(json["periodical"]).to eq("@type"=>"Journal", "identifier"=>"2050-084X", "identifierType"=>"ISSN", "name"=>"eLife", "volume"=>"3")
14
- expect(json["citation"].length).to eq(26)
15
- expect(json["citation"].first).to eq("@id"=>"https://doi.org/10.1038/nature02100", "@type"=>"CreativeWork")
16
- expect(json["funder"]).to eq([{"name"=>"SystemsX", "@type"=>"Organization"},
17
- {"name"=>"EMBO",
18
- "@type"=>"Organization",
19
- "@id"=>"https://doi.org/10.13039/501100003043"},
20
- {"name"=>"Swiss National Science Foundation",
21
- "@type"=>"Organization",
22
- "@id"=>"https://doi.org/10.13039/501100001711"},
23
- {"name"=>"University of Lausanne",
24
- "@type"=>"Organization",
25
- "@id"=>"https://doi.org/10.13039/501100006390"}])
26
- end
27
-
28
- it "maremma schema.org JSON" do
29
- input = "https://github.com/datacite/maremma"
30
- subject = Bolognese::Metadata.new(input: input, from: "codemeta")
31
- json = JSON.parse(subject.schema_org)
32
- expect(json["@id"]).to eq("https://doi.org/10.5438/qeg0-3gm3")
33
- expect(json["@type"]).to eq("SoftwareSourceCode")
34
- expect(json["name"]).to eq("Maremma: a Ruby library for simplified network calls")
35
- expect(json["author"]).to eq("name"=>"Martin Fenner", "givenName"=>"Martin", "familyName"=>"Fenner", "@type"=>"Person", "@id"=>"https://orcid.org/0000-0003-0077-4738", "affiliation" => {"@type"=>"Organization", "name"=>"DataCite"})
36
- end
37
-
38
- it "Schema.org JSON" do
39
- input = "https://doi.org/10.5281/ZENODO.48440"
40
- subject = Bolognese::Metadata.new(input: input, from: "datacite")
41
- json = JSON.parse(subject.schema_org)
42
- expect(json["@id"]).to eq("https://doi.org/10.5281/zenodo.48440")
43
- expect(json["name"]).to eq("Analysis Tools For Crossover Experiment Of Ui Using Choice Architecture")
44
- end
45
-
46
- it "Schema.org JSON isReferencedBy" do
47
- input = "https://doi.org/10.5061/DRYAD.8515"
48
- subject = Bolognese::Metadata.new(input: input, from: "datacite")
49
- json = JSON.parse(subject.schema_org)
50
- expect(json["@id"]).to eq("https://doi.org/10.5061/dryad.8515")
51
- expect(json["@reverse"]).to eq("citation" => [{"@id"=>"https://doi.org/10.1371/journal.ppat.1000446", "@type"=>"ScholarlyArticle"}, {"@type"=>"ScholarlyArticle", "identifier"=>{"@type"=>"PropertyValue", "propertyID"=>"PMID", "value"=>"19478877"}}],
52
- "isBasedOn" => [{"@id"=>"https://doi.org/10.1371/journal.ppat.1000446", "@type"=>"ScholarlyArticle"}, {"@type"=>"ScholarlyArticle", "identifier"=>{"@type"=>"PropertyValue", "propertyID"=>"PMID", "value"=>"19478877"}}])
53
- end
54
-
55
- it "Schema.org JSON IsSupplementTo" do
56
- input = "https://doi.org/10.5517/CC8H01S"
57
- subject = Bolognese::Metadata.new(input: input, from: "datacite")
58
- json = JSON.parse(subject.schema_org)
59
- expect(json["@id"]).to eq("https://doi.org/10.5517/cc8h01s")
60
- expect(json["@reverse"]).to eq("isBasedOn"=>{"@id"=>"https://doi.org/10.1107/s1600536804021154", "@type"=>"ScholarlyArticle"})
61
- end
62
-
63
- it "rdataone" do
64
- input = fixture_path + 'codemeta.json'
65
- subject = Bolognese::Metadata.new(input: input, from: "codemeta")
66
- json = JSON.parse(subject.schema_org)
67
- expect(json["@id"]).to eq("https://doi.org/10.5063/f1m61h5x")
68
- expect(json["@type"]).to eq("SoftwareSourceCode")
69
- expect(json["name"]).to eq("R Interface to the DataONE REST API")
70
- expect(json["author"]).to eq([{"name"=>"Matt Jones",
71
- "givenName"=>"Matt",
72
- "familyName"=>"Jones",
73
- "@type"=>"Person",
74
- "@id"=>"https://orcid.org/0000-0003-0077-4738",
75
- "affiliation"=>{"@type"=>"Organization", "name"=>"NCEAS"}},
76
- {"name"=>"Peter Slaughter",
77
- "givenName"=>"Peter",
78
- "familyName"=>"Slaughter",
79
- "@type"=>"Person",
80
- "@id"=>"https://orcid.org/0000-0002-2192-403X",
81
- "affiliation"=>{"@type"=>"Organization", "name"=>"NCEAS"}},
82
- {"name"=>"University Of California, Santa Barbara", "@type"=>"Organization"}])
83
- expect(json["version"]).to eq("2.0.0")
84
- end
85
-
86
- it "Funding" do
87
- input = "https://doi.org/10.5438/6423"
88
- subject = Bolognese::Metadata.new(input: input, from: "datacite")
89
- json = JSON.parse(subject.schema_org)
90
- expect(json["@id"]).to eq("https://doi.org/10.5438/6423")
91
- expect(json["hasPart"].length).to eq(25)
92
- expect(json["hasPart"].first).to eq("@type"=>"CreativeWork", "@id"=>"https://doi.org/10.5281/zenodo.30799")
93
- expect(json["funder"]).to eq("@id"=>"https://doi.org/10.13039/501100000780", "@type"=>"Organization", "name"=>"European Commission")
94
- end
95
-
96
- it "Funding OpenAIRE" do
97
- input = "https://doi.org/10.5281/ZENODO.1239"
98
- subject = Bolognese::Metadata.new(input: input, from: "datacite")
99
- json = JSON.parse(subject.schema_org)
100
- expect(json["@id"]).to eq("https://doi.org/10.5281/zenodo.1239")
101
- expect(json["funder"]).to eq("@id"=>"https://doi.org/10.13039/501100000780", "@type"=>"Organization", "name"=>"European Commission")
102
- end
103
-
104
- it "subject scheme" do
105
- input = "https://doi.org/10.4232/1.2745"
106
- subject = Bolognese::Metadata.new(input: input, from: "datacite")
107
- json = JSON.parse(subject.schema_org)
108
- expect(json["@id"]).to eq("https://doi.org/10.4232/1.2745")
109
- expect(json["name"]).to eq("Flash Eurobarometer 54 (Madrid Summit)")
110
- expect(json["keywords"]).to eq("KAT12 International Institutions, Relations, Conditions")
111
- end
112
-
113
- it "subject scheme multiple keywords" do
114
- input = "https://doi.org/10.1594/pangaea.721193"
115
- subject = Bolognese::Metadata.new(input: input, from: "datacite")
116
- json = JSON.parse(subject.schema_org)
117
- expect(json["@id"]).to eq("https://doi.org/10.1594/pangaea.721193")
118
- expect(json["name"]).to eq("Seawater carbonate chemistry and processes during experiments with Crassostrea gigas, 2007, supplement to: Kurihara, Haruko; Kato, Shoji; Ishimatsu, Atsushi (2007): Effects of increased seawater pCO2 on early development of the oyster Crassostrea gigas. Aquatic Biology, 1(1), 91-98")
119
- expect(json["keywords"]).to eq("Animalia, Bottles or small containers/Aquaria ( 20 L), Calcification/Dissolution, Coast and continental shelf, Crassostrea gigas, Development, Growth/Morphology, Laboratory experiment, Mollusca, North Pacific, Pelagos, Single species, Temperate, Zooplankton, Experimental treatment, Carbonate system computation flag, Temperature, water, Salinity, pH, Alkalinity, total, Carbon, inorganic, dissolved, Carbon dioxide, Bicarbonate ion, Carbonate ion, Partial pressure of carbon dioxide (water) at sea surface temperature (wet air), Fugacity of carbon dioxide (water) at sea surface temperature (wet air), Aragonite saturation state, Calcite saturation state, Proportion, Crassostrea gigas, larvae length, Crassostrea gigas, larvae height, Crassostrea gigas, non mineralized, Crassostrea gigas, partially mineralized, Crassostrea gigas, fully mineralized, Calculated using seacarb after Nisumaa et al. (2010), Refractometer (Atago 100-S), pH meter (Mettler Toledo), pH meter (PHM290, Radiometer), Measured, European Project on Ocean Acidification (EPOCA), European network of excellence for Ocean Ecosystems Analysis (EUR-OCEANS), Ocean Acidification International Coordination Centre (OA-ICC)")
120
- end
121
-
122
- it "author is organization" do
123
- input = fixture_path + 'gtex.xml'
124
- url = "https://ors.datacite.org/doi:/10.25491/9hx8-ke93"
125
- content_url = "https://storage.googleapis.com/gtex_analysis_v7/single_tissue_eqtl_data/GTEx_Analysis_v7_eQTL_expression_matrices.tar.gz"
126
- subject = Bolognese::Metadata.new(input: input, url: url, content_url: content_url, from: "datacite")
127
- json = JSON.parse(subject.schema_org)
128
- expect(json["@id"]).to eq("https://doi.org/10.25491/9hx8-ke93")
129
- expect(json["author"]).to eq("@type"=>"Organization", "name"=>"The GTEx Consortium")
130
- expect(json["url"]).to eq("https://ors.datacite.org/doi:/10.25491/9hx8-ke93")
131
- expect(json["encodingFormat"]).to eq("application/tar")
132
- expect(json["contentSize"]).to eq("15.7M")
133
- expect(json["contentUrl"]).to eq("https://storage.googleapis.com/gtex_analysis_v7/single_tissue_eqtl_data/GTEx_Analysis_v7_eQTL_expression_matrices.tar.gz")
134
- expect(json["includedInDataCatalog"]).to eq("@id"=>"https://www.ebi.ac.uk/miriam/main/datatypes/MIR:00000663", "@type"=>"DataCatalog", "name"=>"GTEx")
135
- expect(json["@reverse"]).to eq("isBasedOn"=>{"@id"=>"https://doi.org/10.1038/nmeth.4407", "@type"=>"ScholarlyArticle"})
136
- end
137
-
138
- it "series information" do
139
- input = "10.4229/23RDEUPVSEC2008-5CO.8.3"
140
- subject = Bolognese::Metadata.new(input: input, from: "datacite")
141
- json = JSON.parse(subject.schema_org)
142
- expect(json["@id"]).to eq("https://doi.org/10.4229/23rdeupvsec2008-5co.8.3")
143
- expect(json["@type"]).to eq("ScholarlyArticle")
144
- expect(json["name"]).to eq("Rural Electrification With Hybrid Power Systems Based on Renewables - Technical System Configurations From the Point of View of the European Industry")
145
- expect(json["author"].count).to eq(3)
146
- expect(json["author"].first).to eq("@type"=>"Person", "name"=>"P. Llamas", "givenName"=>"P.", "familyName"=>"Llamas")
147
- expect(json["periodical"]).to eq("@type"=>"Series", "firstPage"=>"Spain; 3353", "lastPage"=>"3356", "name"=>"23rd European Photovoltaic Solar Energy Conference and Exhibition", "volume"=>"1-5 September 2008")
148
- end
149
-
150
- it "data catalog" do
151
- input = "10.25491/8KMC-G314"
152
- subject = Bolognese::Metadata.new(input: input, from: "datacite")
153
- json = JSON.parse(subject.schema_org)
154
- expect(json["@id"]).to eq("https://doi.org/10.25491/8kmc-g314")
155
- expect(json["@type"]).to eq("Dataset")
156
- expect(json["name"]).to eq("Covariates used in eQTL analysis. Includes genotyping principal components and PEER factors")
157
- expect(json["author"]).to eq("@type"=>"Organization", "name"=>"The GTEx Consortium")
158
- expect(json["includedInDataCatalog"]).to eq("@type"=>"DataCatalog", "name"=>"GTEx")
159
- expect(json["identifier"]).to eq([{"@type"=>"PropertyValue", "propertyID"=>"DOI", "value"=>"https://doi.org/10.25491/8kmc-g314"},{"@type"=>"PropertyValue", "propertyID"=>"md5", "value"=>"c7c89fe7366d50cd75448aa603c9de58"}])
160
- expect(json["contentUrl"]).to eq("https://storage.googleapis.com/gtex_analysis_v7/single_tissue_eqtl_data/GTEx_Analysis_v7_eQTL_covariates.tar.gz")
161
- end
162
-
163
- it "alternate identifiers" do
164
- input = "10.23725/8na3-9s47"
165
- subject = Bolognese::Metadata.new(input: input, from: "datacite")
166
- json = JSON.parse(subject.schema_org)
167
- expect(json["@id"]).to eq("https://doi.org/10.23725/8na3-9s47")
168
- expect(json["@type"]).to eq("Dataset")
169
- expect(json["name"]).to eq("NWD165827.recab.cram")
170
- expect(json["author"]).to eq("name"=>"TOPMed")
171
- expect(json["includedInDataCatalog"]).to be_nil
172
- expect(json["identifier"]).to eq(
173
- [{"@type"=>"PropertyValue",
174
- "propertyID"=>"DOI",
175
- "value"=>"https://doi.org/10.23725/8na3-9s47"},
176
- {"@type"=>"PropertyValue",
177
- "propertyID"=>"minid",
178
- "value"=>"ark:/99999/fk41CrU4eszeLUDe"},
179
- {"@type"=>"PropertyValue",
180
- "propertyID"=>"dataguid",
181
- "value"=>"dg.4503/c3d66dc9-58da-411c-83c4-dd656aa3c4b7"},
182
- {"@type"=>"PropertyValue",
183
- "propertyID"=>"md5",
184
- "value"=>"3b33f6b9338fccab0901b7d317577ea3"}]
185
- )
186
- expect(json["contentUrl"]).to include("s3://cgp-commons-public/topmed_open_access/197bc047-e917-55ed-852d-d563cdbc50e4/NWD165827.recab.cram", "gs://topmed-irc-share/public/NWD165827.recab.cram")
187
- end
188
-
189
- it "geo_location_point" do
190
- input = fixture_path + 'datacite-example-geolocation-2.xml'
191
- doi = "10.6071/Z7WC73"
192
- subject = Bolognese::Metadata.new(input: input, doi: doi)
193
- json = JSON.parse(subject.schema_org)
194
- expect(json["@id"]).to eq("https://doi.org/10.6071/z7wc73")
195
- expect(json["@type"]).to eq("Dataset")
196
- expect(json["name"]).to eq("Southern Sierra Critical Zone Observatory (SSCZO), Providence Creek meteorological data, soil moisture and temperature, snow depth and air temperature")
197
- expect(json["author"].length).to eq(6)
198
- expect(json["author"][2]).to eq("@id"=>"https://orcid.org/0000-0002-8862-1404", "@type"=>"Person", "familyName"=>"Stacy", "givenName"=>"Erin", "name"=>"Erin Stacy", "affiliation" => {"@type"=>"Organization", "name"=>"UC Merced"})
199
- expect(json["includedInDataCatalog"]).to be_nil
200
- expect(json["spatialCoverage"]).to eq([{"@type"=>"Place",
201
- "geo"=>
202
- {"@type"=>"GeoCoordinates",
203
- "address"=>"Providence Creek (Lower, Upper and P301)",
204
- "latitude"=>"37.047756",
205
- "longitude"=>"-119.221094"}},
206
- {"@type"=>"Place",
207
- "geo"=>
208
- {"@type"=>"GeoShape",
209
- "address"=>"Providence Creek (Lower, Upper and P301)",
210
- "box"=>"37.046 -119.211 37.075 -119.182"}}])
211
- end
212
-
213
- it "geo_location_box" do
214
- input = "10.1594/PANGAEA.842237"
215
- subject = Bolognese::Metadata.new(input: input, from: "datacite")
216
- json = JSON.parse(subject.schema_org)
217
- expect(json["@id"]).to eq("https://doi.org/10.1594/pangaea.842237")
218
- expect(json["@type"]).to eq("Dataset")
219
- expect(json["name"]).to eq("Registry of all stations from the Tara Oceans Expedition (2009-2013)")
220
- expect(json["author"]).to eq([{"@type"=>"Person",
221
- "familyName"=>"Tara Oceans Consortium",
222
- "givenName"=>"Coordinators",
223
- "name"=>"Coordinators Tara Oceans Consortium"},
224
- {"@type"=>"Person",
225
- "familyName"=>"Tara Oceans Expedition",
226
- "givenName"=>"Participants",
227
- "name"=>"Participants Tara Oceans Expedition"}])
228
- expect(json["includedInDataCatalog"]).to be_nil
229
- expect(json["identifier"]).to eq("@type"=>"PropertyValue", "propertyID"=>"DOI", "value"=>"https://doi.org/10.1594/pangaea.842237")
230
- expect(json["spatialCoverage"]).to eq("@type"=>"Place", "geo"=>{"@type"=>"GeoShape", "box"=>"-64.3088 -168.5182 79.6753 174.9006"})
231
- end
232
-
233
- it "geo_location_polygon" do
234
- input = fixture_path + 'datacite-example-polygon-v4.1.xml'
235
- subject = Bolognese::Metadata.new(input: input)
236
- json = JSON.parse(subject.schema_org)
237
- expect(json["@id"]).to eq("https://doi.org/10.5072/example-polygon")
238
- expect(json["@type"]).to eq("Dataset")
239
- expect(json["name"]).to eq("Meteo measurements at the Sand Motor")
240
- expect(json["author"]).to eq("@type"=>"Person", "familyName"=>"Den Heijer", "givenName"=>"C", "name"=>"C Den Heijer")
241
- expect(json["includedInDataCatalog"]).to be_nil
242
- expect(json["identifier"]).to eq("@type"=>"PropertyValue", "propertyID"=>"DOI", "value"=>"https://doi.org/10.5072/example-polygon")
243
- expect(json["spatialCoverage"].dig("geo", "polygon").length).to eq(34)
244
- expect(json["spatialCoverage"].dig("geo", "polygon").first).to eq(["4.1738852605822", "52.03913926329928"])
245
- end
246
-
247
- it "from schema_org gtex" do
248
- input = fixture_path + 'schema_org_gtex.json'
249
- subject = Bolognese::Metadata.new(input: input, from: "schema_org")
250
- json = JSON.parse(subject.schema_org)
251
- expect(json["@id"]).to eq("https://doi.org/10.25491/d50j-3083")
252
- expect(json["@type"]).to eq("Dataset")
253
- expect(json["identifier"]).to eq([{"@type"=>"PropertyValue", "propertyID"=>"DOI", "value"=>"https://doi.org/10.25491/d50j-3083"}, {"@type"=>"PropertyValue", "propertyID"=>"md5", "value"=>"687610993"}])
254
- expect(json["url"]).to eq("https://ors.datacite.org/doi:/10.25491/d50j-3083")
255
- expect(json["additionalType"]).to eq("Gene expression matrices")
256
- expect(json["name"]).to eq("Fully processed, filtered and normalized gene expression matrices (in BED format) for each tissue, which were used as input into FastQTL for eQTL discovery")
257
- expect(json["version"]).to eq("v7")
258
- expect(json["author"]).to eq("@type"=>"Organization", "name"=>"The GTEx Consortium")
259
- expect(json["keywords"]).to eq("gtex, annotation, phenotype, gene regulation, transcriptomics")
260
- expect(json["datePublished"]).to eq("2017")
261
- expect(json["contentUrl"]).to eq("https://storage.googleapis.com/gtex_analysis_v7/single_tissue_eqtl_data/GTEx_Analysis_v7_eQTL_expression_matrices.tar.gz")
262
- expect(json["schemaVersion"]).to eq("http://datacite.org/schema/kernel-4")
263
- expect(json["includedInDataCatalog"]).to eq("@type"=>"DataCatalog", "name"=>"GTEx")
264
- expect(json["publisher"]).to eq("@type"=>"Organization", "name"=>"GTEx")
265
- expect(json["funder"]).to eq([{"@id"=>"https://doi.org/10.13039/100000052",
266
- "name"=>"Common Fund of the Office of the Director of the NIH",
267
- "@type"=>"Organization"},
268
- {"@id"=>"https://doi.org/10.13039/100000054",
269
- "name"=>"National Cancer Institute (NCI)",
270
- "@type"=>"Organization"},
271
- {"@id"=>"https://doi.org/10.13039/100000051",
272
- "name"=>"National Human Genome Research Institute (NHGRI)",
273
- "@type"=>"Organization"},
274
- {"@id"=>"https://doi.org/10.13039/100000050",
275
- "name"=>"National Heart, Lung, and Blood Institute (NHLBI)",
276
- "@type"=>"Organization"},
277
- {"@id"=>"https://doi.org/10.13039/100000026",
278
- "name"=>"National Institute on Drug Abuse (NIDA)",
279
- "@type"=>"Organization"},
280
- {"@id"=>"https://doi.org/10.13039/100000025",
281
- "name"=>"National Institute of Mental Health (NIMH)",
282
- "@type"=>"Organization"},
283
- {"@id"=>"https://doi.org/10.13039/100000065",
284
- "name"=>"National Institute of Neurological Disorders and Stroke (NINDS)",
285
- "@type"=>"Organization"}])
286
- expect(json["provider"]).to eq("@type"=>"Organization", "name"=>"DataCite")
287
- end
288
-
289
- it "from schema_org topmed" do
290
- input = fixture_path + 'schema_org_topmed.json'
291
- subject = Bolognese::Metadata.new(input: input, from: "schema_org")
292
- json = JSON.parse(subject.schema_org)
293
- expect(json["@id"]).to eq("https://doi.org/10.23725/8na3-9s47")
294
- expect(json["@type"]).to eq("Dataset")
295
- expect(json["identifier"]).to eq(
296
- [{"@type"=>"PropertyValue",
297
- "propertyID"=>"DOI",
298
- "value"=>"https://doi.org/10.23725/8na3-9s47"},
299
- {"@type"=>"PropertyValue",
300
- "propertyID"=>"md5",
301
- "value"=>"3b33f6b9338fccab0901b7d317577ea3"},
302
- {"@type"=>"PropertyValue",
303
- "propertyID"=>"minid",
304
- "value"=>"ark:/99999/fk41CrU4eszeLUDe"},
305
- {"@type"=>"PropertyValue",
306
- "propertyID"=>"dataguid",
307
- "value"=>"dg.4503/c3d66dc9-58da-411c-83c4-dd656aa3c4b7"}])
308
- expect(json["url"]).to eq("https://ors.datacite.org/doi:/10.23725/8na3-9s47")
309
- expect(json["additionalType"]).to eq("CRAM file")
310
- expect(json["name"]).to eq("NWD165827.recab.cram")
311
- expect(json["author"]).to eq("@type"=>"Organization", "name"=>"TOPMed IRC")
312
- expect(json["keywords"]).to eq("topmed, whole genome sequencing")
313
- expect(json["datePublished"]).to eq("2017-11-30")
314
- expect(json["contentUrl"]).to eq(["s3://cgp-commons-public/topmed_open_access/197bc047-e917-55ed-852d-d563cdbc50e4/NWD165827.recab.cram", "gs://topmed-irc-share/public/NWD165827.recab.cram"])
315
- expect(json["schemaVersion"]).to eq("http://datacite.org/schema/kernel-4")
316
- expect(json["publisher"]).to eq("@type"=>"Organization", "name"=>"TOPMed")
317
- expect(json["citation"]).to eq("@id"=>"https://doi.org/10.23725/2g4s-qv04", "@type"=>"Dataset")
318
- expect(json["funder"]).to eq("@id"=>"https://doi.org/10.13039/100000050", "@type"=>"Organization", "name"=>"National Heart, Lung, and Blood Institute (NHLBI)")
319
- expect(json["provider"]).to eq("@type"=>"Organization", "name"=>"DataCite")
320
- end
321
- end
322
- end