briard 2.2.7 → 2.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (483) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build.yml +2 -2
  3. data/.github/workflows/release.yml +2 -2
  4. data/CHANGELOG.md +16 -0
  5. data/Gemfile.lock +78 -79
  6. data/bolognese.gemspec +3 -2
  7. data/lib/briard/cli.rb +5 -0
  8. data/lib/briard/metadata.rb +2 -2
  9. data/lib/briard/readers/schema_org_reader.rb +30 -9
  10. data/lib/briard/utils.rb +25 -7
  11. data/lib/briard/version.rb +1 -1
  12. data/lib/briard.rb +1 -0
  13. data/spec/author_utils_spec.rb +3 -6
  14. data/spec/cli_spec.rb +9 -1
  15. data/spec/datacite_utils_spec.rb +3 -3
  16. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/default.yml +17 -16
  17. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/to_bibtex.yml +17 -16
  18. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/to_citation.yml +17 -16
  19. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/to_crossref.yml +17 -16
  20. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/to_datacite.yml +17 -16
  21. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/to_jats.yml +17 -16
  22. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/to_schema_org.yml +17 -16
  23. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/default.yml +31 -18
  24. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/to_bibtex.yml +31 -18
  25. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/to_citation.yml +31 -18
  26. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/to_datacite.yml +31 -18
  27. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/to_datacite_json.yml +31 -18
  28. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/to_jats.yml +31 -18
  29. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/to_schema_org.yml +31 -18
  30. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/schema_org/default.yml +55 -66
  31. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/schema_org/to_datacite.yml +55 -66
  32. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/schema_org/to_schema_org.yml +55 -66
  33. data/spec/fixtures/vcr_cassettes/Briard_CLI/find_from_format_by_id/crossref.yml +9 -8
  34. data/spec/fixtures/vcr_cassettes/Briard_CLI/find_from_format_by_id/datacite.yml +9 -8
  35. data/spec/fixtures/vcr_cassettes/Briard_CLI/find_from_format_by_id/jalc.yml +9 -8
  36. data/spec/fixtures/vcr_cassettes/Briard_CLI/find_from_format_by_id/kisti.yml +9 -8
  37. data/spec/fixtures/vcr_cassettes/Briard_CLI/find_from_format_by_id/medra.yml +9 -8
  38. data/spec/fixtures/vcr_cassettes/Briard_CLI/find_from_format_by_id/op.yml +9 -8
  39. data/spec/fixtures/vcr_cassettes/Briard_Metadata/authors_as_string/author.yml +7 -7
  40. data/spec/fixtures/vcr_cassettes/Briard_Metadata/authors_as_string/no_author.yml +7 -7
  41. data/spec/fixtures/vcr_cassettes/Briard_Metadata/authors_as_string/single_author.yml +7 -7
  42. data/spec/fixtures/vcr_cassettes/Briard_Metadata/authors_as_string/with_organization.yml +7 -7
  43. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_datacite_metadata/change_state.yml +31 -18
  44. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_datacite_metadata/change_title.yml +31 -18
  45. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_metadata_as_datacite_xml/change_description.yml +8 -8
  46. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_metadata_as_datacite_xml/change_identifiers.yml +8 -8
  47. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_metadata_as_datacite_xml/change_license.yml +8 -8
  48. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_metadata_as_datacite_xml/change_license_name.yml +8 -8
  49. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_metadata_as_datacite_xml/change_license_url.yml +8 -8
  50. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_metadata_as_datacite_xml/change_state.yml +8 -8
  51. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_metadata_as_datacite_xml/validates_against_schema.yml +8 -8
  52. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_metadata_as_datacite_xml/with_data_citation.yml +8 -8
  53. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_api_url/doi.yml +7 -7
  54. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_api_url/doi_with_protocol.yml +7 -7
  55. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_api_url/dx_doi_org_url.yml +7 -7
  56. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_api_url/force_test_resolver.yml +7 -7
  57. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_api_url/https_url.yml +7 -7
  58. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_api_url/test_resolver.yml +7 -7
  59. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_api_url/test_resolver_http.yml +7 -7
  60. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_from_url/doi.yml +7 -7
  61. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_from_url/doi_with_special_characters.yml +7 -7
  62. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_from_url/not_a_doi.yml +7 -7
  63. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_from_url/sandbox_url.yml +7 -7
  64. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_from_url/url.yml +7 -7
  65. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/crossref.yml +16 -15
  66. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/datacite.yml +16 -15
  67. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/jalc.yml +16 -15
  68. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/kisti.yml +16 -15
  69. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/medra.yml +16 -15
  70. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/not_a_valid_prefix.yml +7 -7
  71. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/not_found.yml +16 -15
  72. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/op.yml +16 -15
  73. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_resolver/doi.yml +7 -7
  74. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_resolver/doi_with_protocol.yml +7 -7
  75. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_resolver/dx_doi_org_url.yml +7 -7
  76. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_resolver/force_stage_resolver.yml +7 -7
  77. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_resolver/https_url.yml +7 -7
  78. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_resolver/stage_resolver.yml +7 -7
  79. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_resolver/stage_resolver_http.yml +7 -7
  80. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/crossref.yml +40 -26
  81. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/crossref_doi_not_url.yml +40 -26
  82. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/datacite.yml +40 -26
  83. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/datacite_doi_http.yml +40 -26
  84. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/github.yml +31 -18
  85. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/orcid.yml +31 -18
  86. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/schema_org.yml +31 -18
  87. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/unknown_DOI_registration_agency.yml +40 -26
  88. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_from_file/bibtex.yml +31 -18
  89. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_from_file/citeproc.yml +31 -18
  90. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_from_file/codemeta.yml +31 -18
  91. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_from_file/crosscite.yml +31 -18
  92. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_from_file/crossref.yml +31 -18
  93. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_from_file/datacite.yml +31 -18
  94. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_from_file/datacite_json.yml +31 -18
  95. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_from_file/ris.yml +31 -18
  96. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_from_file/schema_org.yml +31 -18
  97. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_from_string/crosscite.yml +31 -18
  98. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/hsh_to_fos_for_match.yml +7 -7
  99. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/hsh_to_fos_for_with_schemeUri_in_hash.yml +7 -7
  100. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/hsh_to_fos_match.yml +7 -7
  101. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/hsh_to_fos_no_match.yml +7 -7
  102. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/name_to_fos_for_match.yml +7 -7
  103. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/name_to_fos_match.yml +7 -7
  104. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/name_to_fos_no_match.yml +7 -7
  105. data/spec/fixtures/vcr_cassettes/Briard_Metadata/from_schema_org/with_id.yml +7 -7
  106. data/spec/fixtures/vcr_cassettes/Briard_Metadata/from_schema_org_creators/with_affiliation.yml +7 -7
  107. data/spec/fixtures/vcr_cassettes/Briard_Metadata/from_schema_org_creators/without_affiliation.yml +7 -7
  108. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_cff_metadata/cff-converter-python.yml +8 -8
  109. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_cff_metadata/ruby-cff.yml +8 -8
  110. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_cff_metadata/ruby-cff_repository_url.yml +8 -8
  111. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_codemeta_metadata/maremma.yml +11 -11
  112. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_codemeta_metadata/metadata_reports.yml +8 -8
  113. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/DOI_with_ORCID_ID.yml +17 -16
  114. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/DOI_with_SICI_DOI.yml +17 -16
  115. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/DOI_with_data_citation.yml +17 -16
  116. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/JaLC.yml +17 -16
  117. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/KISTI.yml +17 -16
  118. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/OP.yml +17 -16
  119. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/affiliation_is_space.yml +17 -16
  120. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/another_book.yml +16 -15
  121. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/another_book_chapter.yml +17 -16
  122. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/article_id_as_page_number.yml +17 -16
  123. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/author_literal.yml +17 -16
  124. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/book.yml +17 -16
  125. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/book_chapter.yml +16 -15
  126. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/book_chapter_with_RDF_for_container.yml +16 -15
  127. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/book_oup.yml +17 -16
  128. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/component.yml +16 -15
  129. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/dataset.yml +16 -15
  130. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/dataset_usda.yml +17 -16
  131. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/date_in_future.yml +16 -15
  132. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/dissertation.yml +16 -15
  133. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/empty_given_name.yml +16 -15
  134. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/invalid_date.yml +16 -15
  135. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/journal_article.yml +17 -16
  136. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/journal_article_original_language_title.yml +17 -16
  137. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/journal_article_with.yml +16 -15
  138. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/journal_article_with_RDF_for_container.yml +16 -15
  139. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/journal_article_with_funding.yml +16 -15
  140. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/journal_issue.yml +17 -16
  141. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/mEDRA.yml +16 -15
  142. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/markup.yml +17 -16
  143. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/missing_creator.yml +16 -15
  144. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/multiple_issn.yml +16 -15
  145. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/multiple_titles.yml +17 -16
  146. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/multiple_titles_with_missing.yml +16 -15
  147. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/not_found_error.yml +15 -16
  148. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/peer_review.yml +16 -15
  149. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/posted_content.yml +16 -15
  150. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/posted_content_copernicus.yml +17 -16
  151. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/report_osti.yml +17 -16
  152. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/vor_with_url.yml +16 -15
  153. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/yet_another_book.yml +16 -15
  154. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/yet_another_book_chapter.yml +16 -15
  155. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_json_metadata/metadata_from_api.yml +31 -18
  156. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/BlogPosting.yml +31 -18
  157. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/DOI_in_staging_system.yml +31 -18
  158. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/DOI_in_staging_system_schema_3.yml +31 -18
  159. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/DOI_in_with_related_id_system.yml +31 -18
  160. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/DOI_not_found.yml +30 -17
  161. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/Dataset.yml +31 -18
  162. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/Funding.yml +31 -18
  163. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/Funding_empty_awardTitle.yml +31 -18
  164. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/Funding_schema_version_4.yml +31 -18
  165. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/Referee_report_in_staging_system.yml +31 -18
  166. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/Schema_org_type.yml +31 -18
  167. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/author_only_full_name.yml +31 -18
  168. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/author_with_scheme.yml +31 -18
  169. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/author_with_wrong_orcid_scheme.yml +31 -18
  170. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/cc-by_3_0_us.yml +31 -18
  171. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/content_url.yml +31 -18
  172. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/date.yml +31 -18
  173. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/dissertation.yml +31 -18
  174. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/doi_with_sign.yml +31 -18
  175. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/empty_subject.yml +31 -18
  176. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/even_more_subject_scheme_FOR.yml +31 -18
  177. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/funding_references.yml +31 -18
  178. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/funding_schema_version_3.yml +31 -18
  179. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/is_identical_to.yml +31 -18
  180. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/keywords_with_attributes.yml +31 -18
  181. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/leading_and_trailing_whitespace.yml +31 -18
  182. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/more_subject_scheme_FOR.yml +31 -18
  183. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/multiple_author_names_in_one_creatorsName.yml +31 -18
  184. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/multiple_licenses.yml +31 -18
  185. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/series-information.yml +31 -18
  186. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/subject_scheme.yml +31 -18
  187. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/subject_scheme_FOR.yml +31 -18
  188. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date/publication_date.yml +7 -7
  189. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_from_date_parts/date.yml +7 -7
  190. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_from_date_parts/year-month.yml +7 -7
  191. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_from_date_parts/year.yml +7 -7
  192. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_from_parts/date.yml +7 -7
  193. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_from_parts/year-month.yml +7 -7
  194. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_from_parts/year.yml +7 -7
  195. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_parts/date.yml +7 -7
  196. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_parts/year-month.yml +7 -7
  197. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_parts/year.yml +7 -7
  198. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datetime_from_time/future.yml +7 -7
  199. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datetime_from_time/invalid.yml +7 -7
  200. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datetime_from_time/nil.yml +7 -7
  201. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datetime_from_time/past.yml +7 -7
  202. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datetime_from_time/present.yml +7 -7
  203. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/has_familyName.yml +22 -10
  204. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/has_name_in_Thai.yml +22 -10
  205. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/has_name_in_display-order.yml +22 -10
  206. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/has_name_in_display-order_with_ORCID.yml +22 -10
  207. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/has_name_in_sort-order.yml +22 -10
  208. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/hyper-authorship.yml +22 -10
  209. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/is_organization.yml +7 -7
  210. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/multiple_author_names_in_one_field.yml +22 -10
  211. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/multiple_name_identifier.yml +22 -10
  212. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/name_with_affiliation.yml +22 -10
  213. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/name_with_affiliation_and_country.yml +7 -7
  214. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/name_with_role.yml +22 -10
  215. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/only_familyName_and_givenName.yml +13 -8
  216. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/BlogPosting.yml +105 -26
  217. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/BlogPosting_with_new_DOI.yml +105 -26
  218. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/get_schema_org_metadata_front_matter/BlogPosting.yml +105 -26
  219. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/harvard_dataverse.yml +9 -7
  220. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/pangaea.yml +13 -8
  221. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/zenodo.yml +9 -9
  222. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_series_information/only_title.yml +7 -7
  223. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_series_information/title_and_pages.yml +7 -7
  224. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_series_information/title_volume_and_pages.yml +7 -7
  225. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_series_information/title_volume_issue_and_pages.yml +7 -7
  226. data/spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_as_cff_url.yml +7 -7
  227. data/spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_as_codemeta_url.yml +7 -7
  228. data/spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_from_url.yml +7 -7
  229. data/spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_from_url_cff_file.yml +7 -7
  230. data/spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_from_url_file.yml +7 -7
  231. data/spec/fixtures/vcr_cassettes/Briard_Metadata/handle_input/DOI_RA_not_Crossref_or_DataCite.yml +9 -8
  232. data/spec/fixtures/vcr_cassettes/Briard_Metadata/handle_input/unknown_DOI_prefix.yml +9 -8
  233. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_contributors/none.yml +22 -10
  234. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_creators/insert.yml +22 -10
  235. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_dates/insert.yml +22 -10
  236. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_descriptions/insert.yml +22 -10
  237. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_identifier/doi.yml +22 -10
  238. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_language/insert.yml +22 -10
  239. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_person/creator_only_name.yml +22 -10
  240. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_publication_year/insert.yml +22 -10
  241. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_publisher/insert.yml +22 -10
  242. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_related_identifiers/insert.yml +22 -10
  243. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_related_identifiers/related_identifier.yml +22 -10
  244. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_resource_type/insert.yml +22 -10
  245. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_rights_list/insert.yml +22 -10
  246. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_sizes/insert.yml +22 -10
  247. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_subjects/insert.yml +22 -10
  248. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_titles/insert.yml +22 -10
  249. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_version/insert.yml +22 -10
  250. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_comma.yml +7 -7
  251. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_family_name.yml +7 -7
  252. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_id.yml +7 -7
  253. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_known_given_name.yml +7 -7
  254. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_no_info.yml +7 -7
  255. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_orcid_id.yml +7 -7
  256. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_type_organization.yml +7 -7
  257. data/spec/fixtures/vcr_cassettes/Briard_Metadata/jsonlint/missing_comma.yml +31 -18
  258. data/spec/fixtures/vcr_cassettes/Briard_Metadata/jsonlint/nil.yml +31 -18
  259. data/spec/fixtures/vcr_cassettes/Briard_Metadata/jsonlint/overlapping_keys.yml +31 -18
  260. data/spec/fixtures/vcr_cassettes/Briard_Metadata/jsonlint/valid.yml +31 -18
  261. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_cc_url/not_found.yml +7 -7
  262. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_cc_url/with_trailing_slash.yml +7 -7
  263. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_cc_url/with_trailing_slash_and_to_https.yml +7 -7
  264. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/SICI_doi.yml +7 -7
  265. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/doi.yml +7 -7
  266. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/doi_force_datacite_sandbox.yml +7 -7
  267. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/doi_from_datacite_sandbox.yml +7 -7
  268. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/doi_from_url_without_doi_proxy.yml +7 -7
  269. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/doi_prefix_too_long.yml +7 -7
  270. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/doi_prefix_with_string.yml +7 -7
  271. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/doi_with_protocol.yml +7 -7
  272. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/dx_doi_org_url.yml +7 -7
  273. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/https_url.yml +7 -7
  274. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/not_valid_doi_prefix.yml +7 -7
  275. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/url_with_one_slash.yml +7 -7
  276. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/doi.yml +7 -7
  277. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/doi_as_url.yml +7 -7
  278. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/ftp.yml +7 -7
  279. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/invalid_url.yml +7 -7
  280. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/sandbox_via_options.yml +7 -7
  281. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/sandbox_via_url.yml +7 -7
  282. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/string.yml +7 -7
  283. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/url.yml +7 -7
  284. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/url_with_utf-8.yml +7 -7
  285. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_ids/doi.yml +7 -7
  286. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_ids/url.yml +7 -7
  287. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_issn/from_array.yml +7 -7
  288. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_issn/from_empty_array.yml +7 -7
  289. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_issn/from_hash.yml +7 -7
  290. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_issn/from_string.yml +7 -7
  291. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_url/uri.yml +7 -7
  292. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_url/with_trailing_slash.yml +7 -7
  293. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_url/with_trailing_slash_and_to_https.yml +7 -7
  294. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/array.yml +7 -7
  295. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/array_of_strings.yml +7 -7
  296. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/first.yml +7 -7
  297. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/hash.yml +7 -7
  298. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/nil.yml +7 -7
  299. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/string.yml +7 -7
  300. data/spec/fixtures/vcr_cassettes/Briard_Metadata/random_doi/decode_anothe_doi.yml +65 -0
  301. data/spec/fixtures/vcr_cassettes/Briard_Metadata/random_doi/decode_doi.yml +65 -0
  302. data/spec/fixtures/vcr_cassettes/Briard_Metadata/random_doi/encode_doi.yml +65 -0
  303. data/spec/fixtures/vcr_cassettes/Briard_Metadata/sanitize/should_only_keep_specific_tags.yml +7 -7
  304. data/spec/fixtures/vcr_cassettes/Briard_Metadata/sanitize/should_remove_a_tags.yml +7 -7
  305. data/spec/fixtures/vcr_cassettes/Briard_Metadata/spdx/hsh_to_spdx_id.yml +7 -7
  306. data/spec/fixtures/vcr_cassettes/Briard_Metadata/spdx/hsh_to_spdx_not_found.yml +7 -7
  307. data/spec/fixtures/vcr_cassettes/Briard_Metadata/spdx/hsh_to_spdx_url.yml +7 -7
  308. data/spec/fixtures/vcr_cassettes/Briard_Metadata/spdx/name_to_spdx_exists.yml +7 -7
  309. data/spec/fixtures/vcr_cassettes/Briard_Metadata/spdx/name_to_spdx_id.yml +7 -7
  310. data/spec/fixtures/vcr_cassettes/Briard_Metadata/to_schema_org/with_id.yml +7 -7
  311. data/spec/fixtures/vcr_cassettes/Briard_Metadata/to_schema_org_identifiers/with_identifiers.yml +7 -7
  312. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_doi/doi.yml +7 -7
  313. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_10.yml +7 -7
  314. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_11.yml +7 -7
  315. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_12.yml +7 -7
  316. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_13.yml +7 -7
  317. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_14.yml +7 -7
  318. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_4.yml +7 -7
  319. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_5.yml +7 -7
  320. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_6.yml +7 -7
  321. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_7.yml +7 -7
  322. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_8.yml +7 -7
  323. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_9.yml +7 -7
  324. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/funder_doi.yml +7 -7
  325. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/funder_doi_without_prefix.yml +7 -7
  326. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/non-funder_doi.yml +7 -7
  327. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid.yml +7 -7
  328. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_https.yml +7 -7
  329. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_id.yml +7 -7
  330. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_sandbox.yml +7 -7
  331. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_sandbox_https.yml +7 -7
  332. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_with_spaces.yml +7 -7
  333. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_wrong_id.yml +7 -7
  334. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_www.yml +7 -7
  335. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid_scheme/validate_orcid_scheme.yml +7 -7
  336. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid_scheme/validate_orcid_scheme_https.yml +7 -7
  337. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid_scheme/validate_orcid_scheme_trailing_slash.yml +7 -7
  338. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid_scheme/validate_orcid_scheme_www.yml +7 -7
  339. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_prefix/doi.yml +7 -7
  340. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_prefix/doi_as_url.yml +7 -7
  341. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_prefix/doi_with_protocol.yml +7 -7
  342. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_prefix/only_prefix.yml +7 -7
  343. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_url/DOI.yml +7 -7
  344. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_url/ISSN.yml +7 -7
  345. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_url/URL.yml +7 -7
  346. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_url/string.yml +7 -7
  347. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/BlogPosting.yml +22 -10
  348. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/Dataset.yml +22 -10
  349. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/authors_with_affiliations.yml +7 -7
  350. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/climate_data.yml +22 -10
  351. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/from_schema_org.yml +83 -66
  352. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/keywords_subject_scheme.yml +22 -10
  353. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/maremma.yml +9 -9
  354. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/text.yml +22 -10
  355. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/with_data_citation.yml +8 -8
  356. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/with_pages.yml +8 -8
  357. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_cff/Collection_of_Jupyter_notebooks.yml +22 -10
  358. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_cff/SoftwareSourceCode_Zenodo.yml +22 -10
  359. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_cff/SoftwareSourceCode_also_Zenodo.yml +22 -10
  360. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_cff/ruby-cff.yml +11 -11
  361. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/Dataset.yml +22 -10
  362. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/Journal_article.yml +8 -8
  363. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/Journal_article_vancouver_style.yml +8 -8
  364. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/Missing_author.yml +7 -7
  365. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/interactive_resource_without_dates.yml +22 -10
  366. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/software_w/version.yml +22 -10
  367. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/Another_dataset.yml +22 -10
  368. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/BlogPosting.yml +22 -10
  369. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/BlogPosting_schema_org.yml +83 -66
  370. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/Dataset.yml +22 -10
  371. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/container_title.yml +22 -10
  372. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/interactive_resource_without_dates.yml +22 -10
  373. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/journal_article.yml +8 -8
  374. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/keywords_subject_scheme.yml +22 -10
  375. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/maremma.yml +10 -10
  376. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/missing_creator.yml +7 -7
  377. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/multiple_abstracts.yml +22 -10
  378. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/organization_author.yml +8 -8
  379. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/software.yml +22 -10
  380. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/software_w/version.yml +22 -10
  381. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/with_only_first_page.yml +7 -7
  382. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/with_pages.yml +8 -8
  383. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite.yml +22 -10
  384. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite_check_codemeta_v2.yml +22 -10
  385. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crosscite/datacite_database_attributes.yml +22 -10
  386. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crosscite/maremma.yml +10 -10
  387. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crosscite/with_ORCID_ID.yml +8 -8
  388. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crosscite/with_data_citation.yml +8 -8
  389. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crosscite/with_data_citation_schema_org.yml +55 -66
  390. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/another_schema_org_from_front-matter.yml +134 -0
  391. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/journal_article_from_datacite.yml +73 -0
  392. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/posted_content.yml +17 -16
  393. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/schema_org_from_front_matter.yml +106 -27
  394. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/schema_org_from_zenodo.yml +62 -0
  395. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csv/climate_data.yml +22 -10
  396. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csv/maremma.yml +9 -9
  397. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csv/text.yml +22 -10
  398. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csv/with_data_citation.yml +8 -8
  399. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csv/with_pages.yml +8 -8
  400. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_json/from_schema_org.yml +134 -0
  401. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_json/maremma.yml +11 -11
  402. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_json/with_ORCID_ID.yml +8 -8
  403. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_json/with_data_citation.yml +8 -8
  404. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_json/with_data_citation_schema_org.yml +57 -66
  405. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_xml/DOI_not_found.yml +21 -9
  406. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_xml/Dataset_in_schema_4_0.yml +22 -10
  407. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_xml/Text_pass-thru.yml +22 -10
  408. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_xml/Text_pass-thru_with_doi_in_options.yml +22 -10
  409. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_xml/maremma.yml +9 -9
  410. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_xml/with_ORCID_ID.yml +8 -8
  411. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_xml/with_data_citation.yml +8 -8
  412. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_xml/with_data_citation_schema_org.yml +55 -66
  413. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_xml/with_editor.yml +8 -8
  414. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_xml/with_version.yml +22 -10
  415. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/Dataset_in_schema_4_0.yml +22 -10
  416. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/Text_pass-thru.yml +22 -10
  417. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/book_chapter.yml +8 -8
  418. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/from_schema_org.yml +134 -0
  419. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/interactive_resource_without_dates.yml +22 -10
  420. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/maremma.yml +9 -9
  421. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/with_ORCID_ID.yml +8 -8
  422. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/with_data_citation.yml +8 -8
  423. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/with_data_citation_schema_org.yml +55 -66
  424. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/with_editor.yml +8 -8
  425. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_rdf_xml/BlogPosting.yml +22 -10
  426. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_rdf_xml/BlogPosting_schema_org.yml +83 -66
  427. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_rdf_xml/journal_article.yml +8 -8
  428. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_rdf_xml/maremma.yml +9 -9
  429. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_rdf_xml/with_pages.yml +8 -8
  430. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/BlogPosting.yml +22 -10
  431. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/BlogPosting_schema_org.yml +83 -66
  432. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/Dataset.yml +22 -10
  433. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/alternate_name.yml +22 -10
  434. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/journal_article.yml +8 -8
  435. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/keywords_with_subject_scheme.yml +22 -10
  436. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/maremma.yml +9 -9
  437. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/with_pages.yml +8 -8
  438. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Another_Schema_org_JSON.yml +73 -0
  439. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Funding.yml +31 -18
  440. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Funding_OpenAIRE.yml +31 -18
  441. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Schema_org_JSON.yml +22 -10
  442. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Schema_org_JSON_Cyark.yml +31 -18
  443. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Schema_org_JSON_IsSupplementTo.yml +31 -18
  444. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Schema_org_JSON_isReferencedBy.yml +22 -10
  445. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/alternate_identifiers.yml +22 -10
  446. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/data_catalog.yml +22 -10
  447. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/geo_location_box.yml +22 -10
  448. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/interactive_resource_without_dates.yml +22 -10
  449. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/journal_article.yml +8 -8
  450. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/maremma_schema_org_JSON.yml +9 -9
  451. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/series_information.yml +22 -10
  452. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/subject_scheme.yml +22 -10
  453. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/subject_scheme_multiple_keywords.yml +22 -10
  454. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_turtle/BlogPosting.yml +22 -10
  455. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_turtle/BlogPosting_schema_org.yml +83 -66
  456. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_turtle/Dataset.yml +22 -10
  457. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_turtle/journal_article.yml +8 -8
  458. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_turtle/with_pages.yml +8 -8
  459. data/spec/metadata_spec.rb +1 -1
  460. data/spec/readers/cff_reader_spec.rb +9 -9
  461. data/spec/readers/codemeta_reader_spec.rb +1 -1
  462. data/spec/readers/crossref_reader_spec.rb +7 -7
  463. data/spec/readers/datacite_json_reader_spec.rb +1 -1
  464. data/spec/readers/datacite_reader_spec.rb +16 -16
  465. data/spec/readers/schema_org_reader_spec.rb +25 -80
  466. data/spec/utils_spec.rb +30 -5
  467. data/spec/writers/bibtex_writer_spec.rb +7 -7
  468. data/spec/writers/cff_writer_spec.rb +2 -2
  469. data/spec/writers/citeproc_writer_spec.rb +6 -6
  470. data/spec/writers/crosscite_writer_spec.rb +1 -12
  471. data/spec/writers/crossref_writer_spec.rb +44 -17
  472. data/spec/writers/datacite_json_writer_spec.rb +11 -5
  473. data/spec/writers/datacite_writer_spec.rb +5 -15
  474. data/spec/writers/jats_writer_spec.rb +8 -7
  475. data/spec/writers/rdf_xml_writer_spec.rb +7 -7
  476. data/spec/writers/ris_writer_spec.rb +14 -14
  477. data/spec/writers/schema_org_writer_spec.rb +5 -6
  478. data/spec/writers/turtle_writer_spec.rb +3 -2
  479. metadata +36 -11
  480. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_cff_metadata/pidgraph-notebooks-python.yml +0 -75
  481. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/BlogPosting_yet_another_URL.yml +0 -55
  482. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_cff/SoftwareSourceCode_DataCite.yml +0 -61
  483. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/schema_org_from_datacite.yml +0 -117
data/spec/utils_spec.rb CHANGED
@@ -207,13 +207,18 @@ describe Briard::Metadata, vcr: true do
207
207
  it "doi" do
208
208
  ids = [{"@type"=>"CreativeWork", "@id"=>"https://doi.org/10.5438/0012"}, {"@type"=>"CreativeWork", "@id"=>"https://doi.org/10.5438/55E5-T5C0"}]
209
209
  response = subject.normalize_ids(ids: ids)
210
- expect(response).to eq([{"relatedIdentifier"=>"10.5438/0012", "relatedIdentifierType"=>"DOI"}, {"relatedIdentifier"=>"10.5438/55e5-t5c0", "relatedIdentifierType"=>"DOI"}])
210
+ expect(response).to eq([{"relatedIdentifier"=>"10.5438/0012",
211
+ "relatedIdentifierType"=>"DOI",
212
+ "resourceTypeGeneral"=>"Text"},
213
+ {"relatedIdentifier"=>"10.5438/55e5-t5c0",
214
+ "relatedIdentifierType"=>"DOI",
215
+ "resourceTypeGeneral"=>"Text"}])
211
216
  end
212
217
 
213
218
  it "url" do
214
219
  ids = [{"@type"=>"CreativeWork", "@id"=>"https://blog.datacite.org/eating-your-own-dog-food/"}]
215
220
  response = subject.normalize_ids(ids: ids)
216
- expect(response).to eq("relatedIdentifier"=>"https://blog.datacite.org/eating-your-own-dog-food", "relatedIdentifierType"=>"URL")
221
+ expect(response).to eq("relatedIdentifier"=>"https://blog.datacite.org/eating-your-own-dog-food", "relatedIdentifierType"=>"URL", "resourceTypeGeneral" => "Text")
217
222
  end
218
223
  end
219
224
 
@@ -568,7 +573,7 @@ describe Briard::Metadata, vcr: true do
568
573
  it "name_to_fos match" do
569
574
  name = "Biological sciences"
570
575
  response = subject.name_to_fos(name)
571
- expect(response).to eq([{"subject"=>"Biological sciences"},
576
+ expect(response).to eq([{"subject"=>"biological sciences"},
572
577
  {"schemeUri"=>"http://www.oecd.org/science/inno/38235147.pdf",
573
578
  "subject"=>"FOS: Biological sciences",
574
579
  "subjectScheme"=>"Fields of Science and Technology (FOS)"}])
@@ -577,7 +582,7 @@ describe Briard::Metadata, vcr: true do
577
582
  it "name_to_fos for match" do
578
583
  name = "Statistics"
579
584
  response = subject.name_to_fos(name)
580
- expect(response).to eq([{"subject"=>"Statistics"},
585
+ expect(response).to eq([{"subject"=>"statistics"},
581
586
  {"schemeUri"=>"http://www.oecd.org/science/inno/38235147.pdf",
582
587
  "subject"=>"FOS: Mathematics",
583
588
  "subjectScheme"=>"Fields of Science and Technology (FOS)"}])
@@ -586,7 +591,7 @@ describe Briard::Metadata, vcr: true do
586
591
  it "name_to_fos no match" do
587
592
  name = "Random tag"
588
593
  response = subject.name_to_fos(name)
589
- expect(response).to eq([{"subject"=>"Random tag"}])
594
+ expect(response).to eq([{"subject"=>"random tag"}])
590
595
  end
591
596
 
592
597
  it "hsh_to_fos match" do
@@ -624,6 +629,26 @@ describe Briard::Metadata, vcr: true do
624
629
  response = subject.hsh_to_fos(hsh)
625
630
  expect(response).to eq([{"subject"=>"Random tag"}])
626
631
  end
632
+ end
627
633
 
634
+ context "random doi" do
635
+ it "encode doi" do
636
+ prefix = "10.53731"
637
+ response = subject.encode_doi(prefix)
638
+ expect(response).to match(/#{prefix}\/[-._;()\/:A-Za-z0-9]+/)
639
+ expect(response.length).to eq(40)
640
+ end
641
+
642
+ it "decode doi" do
643
+ doi = "https://doi.org/10.53731/revzwnv-rpd913d-8drwz"
644
+ response = subject.decode_doi(doi)
645
+ expect(response).to eq (30286005717401267192153432991)
646
+ end
647
+
648
+ it "decode anothe doi" do
649
+ doi = "https://doi.org/10.53731/rckvde5-tzg61kj-7zvc1"
650
+ response = subject.decode_doi(doi)
651
+ expect(response).to eq (30198793950250854133601922433)
652
+ end
628
653
  end
629
654
  end
@@ -130,16 +130,16 @@ describe Briard::Metadata, vcr: true do
130
130
  end
131
131
 
132
132
  it "from schema_org" do
133
- input = "https://blog.datacite.org/eating-your-own-dog-food/"
133
+ input = "https://blog.front-matter.io/posts/eating-your-own-dog-food/"
134
134
  subject = Briard::Metadata.new(input: input, from: "schema_org")
135
135
  bibtex = BibTeX.parse(subject.bibtex).to_a(quotes: '').first
136
136
  expect(bibtex[:bibtex_type].to_s).to eq("article")
137
- expect(bibtex[:bibtex_key]).to eq("https://doi.org/10.5438/4k3m-nyvg")
138
- expect(bibtex[:doi]).to eq("10.5438/4k3m-nyvg")
137
+ expect(bibtex[:bibtex_key]).to eq("https://doi.org/10.53731/r79vxn1-97aq74v-ag58n")
138
+ expect(bibtex[:doi]).to eq("10.53731/r79vxn1-97aq74v-ag58n")
139
139
  expect(bibtex[:title]).to eq("Eating your own Dog Food")
140
140
  expect(bibtex[:author]).to eq("Fenner, Martin")
141
- expect(bibtex[:publisher]).to eq("DataCite")
142
- expect(bibtex[:keywords]).to eq("datacite, doi, metadata, featured")
141
+ expect(bibtex[:publisher]).to eq("Front Matter")
142
+ expect(bibtex[:keywords]).to eq("feature")
143
143
  expect(bibtex[:year]).to eq("2016")
144
144
  end
145
145
 
@@ -163,7 +163,7 @@ describe Briard::Metadata, vcr: true do
163
163
  expect(bibtex[:bibtex_type].to_s).to eq("misc")
164
164
  expect(bibtex[:bibtex_key]).to eq("https://doi.org/10.1594/pangaea.721193")
165
165
  expect(bibtex[:doi]).to eq("10.1594/pangaea.721193")
166
- expect(bibtex[:keywords]).to start_with("Animalia, Bottles or small containers/Aquaria (<20 L), Calcification/Dissolution")
166
+ expect(bibtex[:keywords]).to start_with("animalia, bottles or small containers/aquaria (<20 l), calcification/dissolution")
167
167
  expect(bibtex[:year]).to eq("2007")
168
168
  expect(bibtex[:copyright]).to eq("Creative Commons Attribution 3.0 Unported")
169
169
  end
@@ -188,7 +188,7 @@ describe Briard::Metadata, vcr: true do
188
188
  expect(bibtex[:title]).to eq("Single-unit recordings from two auditory areas in male zebra finches")
189
189
  expect(bibtex[:author]).to eq("Theunissen, Frederic E. and Hauber, ME and Woolley, Sarah M. N. and Gill, Patrick and Shaevitz, SS and Amin, Noopur and Hsu, A and Singh, NC and Grace, GA and Fremouw, Thane and Zhang, Junli and Cassey, P and Doupe, AJ and David, SV and Vinje, WE")
190
190
  expect(bibtex[:publisher]).to eq("CRCNS.org")
191
- expect(bibtex[:keywords]).to eq("Neuroscience, Electrophysiology, auditory area, avian (zebra finch)")
191
+ expect(bibtex[:keywords]).to eq("neuroscience, electrophysiology, auditory area, avian (zebra finch)")
192
192
  expect(bibtex[:year]).to eq("2009")
193
193
  end
194
194
  end
@@ -23,7 +23,7 @@ describe Briard::Metadata, vcr: true do
23
23
  expect(json["abstract"]).to eq("<em>PyPinT</em> is a framework for Parallel-in-Time integration routines. The main purpose of <em>PyPinT</em> is to provide a framework for educational use and prototyping new parallel-in-time algorithms. As well it will aid in developing a high-performance C++ implementation for massively parallel computers providing the benefits of parallel-in-time routines to a zoo of time integrators in various applications.")
24
24
  expect(json["date-released"]).to eq("2014-05-27")
25
25
  expect(json["repository-code"]).to eq("https://zenodo.org/record/10164")
26
- expect(json["keywords"]).to eq(["Parallel-in-Time Integration", "Spectral Deferred Corrections", "Multigrid", "Multi-Level Spectral Deferred Corrections", "Python Framework"])
26
+ expect(json["keywords"]).to eq(["parallel-in-time integration", "spectral deferred corrections", "multigrid", "multi-level spectral deferred corrections", "python framework"])
27
27
  expect(json["license"]).to be_nil
28
28
  expect(json["references"]).to eq("identifiers"=>[{"type"=>"url", "value"=>"https://github.com/Parallel-in-Time/PyPinT/tree/release-v0.0.4"}])
29
29
  end
@@ -70,7 +70,7 @@ describe Briard::Metadata, vcr: true do
70
70
  expect(json["abstract"]).to eq("This library provides a Ruby interface to manipulate Citation File Format files")
71
71
  expect(json["date-released"]).to eq("2021-08-18")
72
72
  expect(json["repository-code"]).to eq("https://github.com/citation-file-format/ruby-cff")
73
- expect(json["keywords"]).to eq(["ruby", "credit", "software citation", "research software", "software sustainability", "metadata", "citation file format", "CFF"])
73
+ expect(json["keywords"]).to eq(["ruby", "credit", "software citation", "research software", "software sustainability", "metadata", "citation file format", "cff"])
74
74
  expect(json["license"]).to eq("apache-2.0")
75
75
  expect(json["references"]).to eq("identifiers"=>[{"type"=>"doi", "value"=>"10.5281/zenodo.1003149"}])
76
76
  end
@@ -55,15 +55,15 @@ describe Briard::Metadata, vcr: true do
55
55
  end
56
56
 
57
57
  it "BlogPosting schema.org" do
58
- input = "https://blog.datacite.org/eating-your-own-dog-food/"
58
+ input = "https://blog.front-matter.io/posts/eating-your-own-dog-food/"
59
59
  subject = Briard::Metadata.new(input: input, from: "schema_org")
60
60
  json = JSON.parse(subject.citeproc)
61
- expect(json["type"]).to eq("post-weblog")
62
- expect(json["id"]).to eq("https://doi.org/10.5438/4k3m-nyvg")
63
- expect(json["DOI"]).to eq("10.5438/4k3m-nyvg")
61
+ expect(json["type"]).to eq("article-newspaper")
62
+ expect(json["id"]).to eq("https://doi.org/10.53731/r79vxn1-97aq74v-ag58n")
63
+ expect(json["DOI"]).to eq("10.53731/r79vxn1-97aq74v-ag58n")
64
64
  expect(json["title"]).to eq("Eating your own Dog Food")
65
65
  expect(json["author"]).to eq([{"family"=>"Fenner", "given"=>"Martin"}])
66
- expect(json["publisher"]).to eq("DataCite")
66
+ expect(json["publisher"]).to eq("Front Matter")
67
67
  expect(json["issued"]).to eq("date-parts" => [[2016, 12, 20]])
68
68
  end
69
69
 
@@ -263,7 +263,7 @@ describe Briard::Metadata, vcr: true do
263
263
  expect(json["type"]).to eq("dataset")
264
264
  expect(json["id"]).to eq("https://doi.org/10.1594/pangaea.721193")
265
265
  expect(json["DOI"]).to eq("10.1594/pangaea.721193")
266
- expect(json["categories"]).to include("Animalia", "Bottles or small containers/Aquaria (&lt;20 L)")
266
+ expect(json["categories"]).to include("animalia", "bottles or small containers/aquaria (&lt;20 l)")
267
267
  expect(json["copyright"]).to eq("Creative Commons Attribution 3.0 Unported")
268
268
  end
269
269
 
@@ -11,7 +11,7 @@ describe Briard::Metadata, vcr: true do
11
11
  expect(crosscite.fetch("url")).to eq("https://elifesciences.org/articles/01567")
12
12
  expect(crosscite.fetch("types")).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
13
13
  expect(crosscite.fetch("titles")).to eq([{"title"=>"Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth"}])
14
- expect(crosscite.fetch("related_identifiers").length).to eq(27)
14
+ expect(crosscite.fetch("related_identifiers").length).to eq(28)
15
15
  expect(crosscite.fetch("related_identifiers").first).to eq("relatedIdentifier"=>"2050-084X", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
16
16
  expect(crosscite.fetch("related_identifiers").last).to eq("relatedIdentifier"=>"10.1038/ncb2764", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
17
17
  expect(crosscite.fetch("rights_list")).to eq([{"rights"=>"Creative Commons Attribution 3.0 Unported",
@@ -107,16 +107,5 @@ describe Briard::Metadata, vcr: true do
107
107
  "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}],
108
108
  "nameType"=>"Personal"}])
109
109
  end
110
-
111
- it "with data citation schema.org" do
112
- input = "https://blog.datacite.org/eating-your-own-dog-food/"
113
- subject = Briard::Metadata.new(input: input, from: "schema_org")
114
- expect(subject.valid?).to be true
115
- crosscite = JSON.parse(subject.crosscite)
116
- expect(crosscite.fetch("titles")).to eq([{"title"=>"Eating your own Dog Food"}])
117
- expect(crosscite.fetch("related_identifiers").count).to eq(3)
118
- expect(crosscite.fetch("related_identifiers").first).to eq("relatedIdentifier"=>"10.5438/0000-00ss", "relatedIdentifierType"=>"DOI", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Text")
119
- expect(crosscite.fetch("related_identifiers").last).to eq("relatedIdentifier"=>"10.5438/55e5-t5c0", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
120
- end
121
110
  end
122
111
  end
@@ -24,33 +24,33 @@ describe Briard::Metadata, vcr: true do
24
24
  expect(crossref.dig("doi_data", "doi")).to eq("10.1101/2020.12.01.406702")
25
25
  end
26
26
 
27
- it "schema.org from datacite" do
28
- input = "https://blog.datacite.org/farewell-to-datacite/"
29
- subject = Briard::Metadata.new(input: input, from: "schema_org")
27
+ it "journal article from datacite" do
28
+ input = "10.2312/geowissenschaften.1989.7.181"
29
+ subject = Briard::Metadata.new(input: input, from: "datacite")
30
+
30
31
  expect(subject.valid?).to be true
31
- expect(subject.doi).to eq("10.5438/zx3k-3923")
32
- expect(subject.url).to eq("https://blog.datacite.org/farewell-to-datacite")
33
- expect(subject.types["schemaOrg"]).to eq("BlogPosting")
34
- expect(subject.types["resourceTypeGeneral"]).to eq("Preprint")
35
- expect(subject.types["ris"]).to eq("GEN")
36
- expect(subject.types["citeproc"]).to eq("post-weblog")
37
- expect(subject.container).to eq("title"=>"DataCite Blog", "type"=>"Blog")
38
- expect(subject.titles).to eq([{"title"=>"Farewell to DataCite"}])
39
- expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Attribution 4.0 International", "rightsUri"=>"https://creativecommons.org/licenses/by/4.0/legalcode", "rightsIdentifier"=>"cc-by-4.0", "rightsIdentifierScheme"=>"SPDX", "schemeUri"=>"https://spdx.org/licenses/"}])
40
- crossref = Maremma.from_xml(subject.crossref).dig("doi_batch", "body", "posted_content")
41
- expect(crossref.dig("titles", "title")).to eq("Farewell to DataCite")
32
+ expect(subject.doi).to eq("10.2312/geowissenschaften.1989.7.181")
33
+ expect(subject.url).to eq("https://www.tib.eu/suchen/id/awi:7058a56c5e43afd705af945d01536b9aaeeee491")
34
+ expect(subject.types["schemaOrg"]).to eq("ScholarlyArticle")
35
+ expect(subject.types["resourceTypeGeneral"]).to eq("JournalArticle")
36
+ expect(subject.types["ris"]).to eq("JOUR")
37
+ expect(subject.types["citeproc"]).to eq("article-journal")
38
+ expect(subject.titles).to eq([{"title"=>"An Overview of the Geology of Canadian Gold Occurrences"}])
39
+ expect(subject.publisher).to eq("VCH Verlagsgesellschaft mbH")
40
+ expect(subject.rights_list).to eq([{"rights"=>"VCH Verlagsgesellschaft mbH"}])
42
41
  end
43
42
 
44
43
  it "schema.org from front matter" do
45
44
  input = "https://blog.front-matter.io/posts/editorial-by-more-than-200-call-for-emergency-action-to-limit-global-temperature-increases-restore-biodiversity-and-protect-health"
46
45
  subject = Briard::Metadata.new(input: input, from: "schema_org")
46
+
47
47
  expect(subject.valid?).to be true
48
48
  expect(subject.doi).to eq("10.53731/r9nqx6h-97aq74v-ag7bw")
49
49
  expect(subject.url).to eq("https://blog.front-matter.io/posts/editorial-by-more-than-200-call-for-emergency-action-to-limit-global-temperature-increases-restore-biodiversity-and-protect-health")
50
- expect(subject.types["schemaOrg"]).to eq("BlogPosting")
50
+ expect(subject.types["schemaOrg"]).to eq("Article")
51
51
  expect(subject.types["resourceTypeGeneral"]).to eq("Preprint")
52
52
  expect(subject.types["ris"]).to eq("GEN")
53
- expect(subject.types["citeproc"]).to eq("post-weblog")
53
+ expect(subject.types["citeproc"]).to eq("article-newspaper")
54
54
  expect(subject.titles).to eq([{"title"=>"Editorial by more than 200 health journals: Call for emergency action to limit global temperature increases, restore biodiversity, and protect health"}])
55
55
  expect(subject.creators).to eq([{"affiliation"=>[],
56
56
  "familyName"=>"Fenner",
@@ -62,13 +62,40 @@ describe Briard::Metadata, vcr: true do
62
62
  "schemeUri"=>"https://orcid.org"}],
63
63
  "nameType"=>"Personal"}])
64
64
  expect(subject.subjects).to eq([{"subject"=>"news"}])
65
- expect(subject.container).to eq("identifier"=>"2749-9952", "identifierType"=>"ISSN", "title"=>"Front Matter", "type"=>"Blog")
66
65
  expect(subject.language).to eq("en")
67
66
  expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Attribution 4.0 International", "rightsUri"=>"https://creativecommons.org/licenses/by/4.0/legalcode", "rightsIdentifier"=>"cc-by-4.0", "rightsIdentifierScheme"=>"SPDX", "schemeUri"=>"https://spdx.org/licenses/"}])
68
67
  crossref = Maremma.from_xml(subject.crossref).dig("doi_batch", "body", "posted_content")
69
68
  expect(crossref.dig("titles", "title")).to eq("Editorial by more than 200 health journals: Call for emergency action to limit global temperature increases, restore biodiversity, and protect health")
70
69
  end
71
70
 
71
+ it "another schema.org from front-matter" do
72
+ input = "https://blog.front-matter.io/posts/dryad-interview-jen-gibson"
73
+ subject = Briard::Metadata.new(input: input, from: "schema_org")
74
+ expect(subject.valid?).to be true
75
+ expect(subject.doi).to eq("10.53731/rceh7pn-tzg61kj-7zv63")
76
+ expect(subject.url).to eq("https://blog.front-matter.io/posts/dryad-interview-jen-gibson")
77
+ expect(subject.types["schemaOrg"]).to eq("Article")
78
+ expect(subject.types["resourceTypeGeneral"]).to eq("Preprint")
79
+ expect(subject.types["ris"]).to eq("GEN")
80
+ expect(subject.types["citeproc"]).to eq("article-newspaper")
81
+ expect(subject.titles).to eq([{"title"=>"Dryad: Interview with Jen Gibson"}])
82
+ expect(subject.creators).to eq([{"affiliation"=>[],
83
+ "familyName"=>"Fenner",
84
+ "givenName"=>"Martin",
85
+ "name"=>"Fenner, Martin",
86
+ "nameIdentifiers"=>
87
+ [{"nameIdentifier"=>"https://orcid.org/0000-0003-1419-2405",
88
+ "nameIdentifierScheme"=>"ORCID",
89
+ "schemeUri"=>"https://orcid.org"}],
90
+ "nameType"=>"Personal"}])
91
+ expect(subject.subjects).to eq([{"subject"=>"interview"}])
92
+ expect(subject.container).to eq("identifier"=>"2749-9952", "identifierType"=>"ISSN", "title"=>"Front Matter", "type"=>"Blog")
93
+ expect(subject.language).to eq("en")
94
+ expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Attribution 4.0 International", "rightsUri"=>"https://creativecommons.org/licenses/by/4.0/legalcode", "rightsIdentifier"=>"cc-by-4.0", "rightsIdentifierScheme"=>"SPDX", "schemeUri"=>"https://spdx.org/licenses/"}])
95
+ crossref = Maremma.from_xml(subject.crossref).dig("doi_batch", "body", "posted_content")
96
+ expect(crossref.dig("titles", "title")).to eq("Dryad: Interview with Jen Gibson")
97
+ end
98
+
72
99
  it "embedded schema.org from front matter" do
73
100
  input = fixture_path + 'schema_org_front-matter.json'
74
101
  subject = Briard::Metadata.new(input: input, from: "schema_org")
@@ -11,7 +11,7 @@ describe Briard::Metadata, vcr: true do
11
11
  expect(datacite.fetch("url")).to eq("https://elifesciences.org/articles/01567")
12
12
  expect(datacite.fetch("types")).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
13
13
  expect(datacite.fetch("titles")).to eq([{"title"=>"Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth"}])
14
- expect(datacite.fetch("relatedIdentifiers").length).to eq(27)
14
+ expect(datacite.fetch("relatedIdentifiers").length).to eq(28)
15
15
  expect(datacite.fetch("relatedIdentifiers").first).to eq("relatedIdentifier"=>"2050-084X", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
16
16
  expect(datacite.fetch("rightsList")).to eq([{"rights"=>"Creative Commons Attribution 3.0 Unported",
17
17
  "rightsIdentifier"=>"cc-by-3.0",
@@ -77,14 +77,20 @@ describe Briard::Metadata, vcr: true do
77
77
  "nameType"=>"Personal"}])
78
78
  end
79
79
 
80
- it "with data citation schema.org" do
81
- input = "https://blog.datacite.org/eating-your-own-dog-food/"
80
+ it "from schema.org" do
81
+ input = "https://blog.front-matter.io/posts/eating-your-own-dog-food/"
82
82
  subject = Briard::Metadata.new(input: input, from: "schema_org")
83
83
  expect(subject.valid?).to be true
84
84
  datacite = JSON.parse(subject.datacite_json)
85
85
  expect(datacite.fetch("titles")).to eq([{"title"=>"Eating your own Dog Food"}])
86
- expect(datacite.fetch("relatedIdentifiers").count).to eq(3)
87
- expect(datacite.fetch("relatedIdentifiers").first).to eq("relatedIdentifier"=>"10.5438/0000-00ss", "relatedIdentifierType"=>"DOI", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Text")
86
+ expect(datacite.fetch("creators")).to eq([{"affiliation"=>[],
87
+ "familyName"=>"Fenner",
88
+ "givenName"=>"Martin",
89
+ "name"=>"Fenner, Martin",
90
+ "nameIdentifiers"=>
91
+ [{"nameIdentifier"=>"https://orcid.org/0000-0003-1419-2405",
92
+ "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}],
93
+ "nameType"=>"Personal"}])
88
94
  end
89
95
  end
90
96
  end
@@ -11,7 +11,7 @@ describe Briard::Metadata, vcr: true do
11
11
  datacite = Maremma.from_xml(subject.datacite).fetch("resource", {})
12
12
  expect(datacite.dig("resourceType", "resourceTypeGeneral")).to eq("JournalArticle")
13
13
  expect(datacite.dig("titles", "title")).to eq("Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth")
14
- expect(datacite.dig("relatedIdentifiers", "relatedIdentifier").length).to eq(27)
14
+ expect(datacite.dig("relatedIdentifiers", "relatedIdentifier").length).to eq(28)
15
15
  expect(datacite.dig("relatedIdentifiers", "relatedIdentifier").first).to eq("relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "__content__"=>"2050-084X", "resourceTypeGeneral"=>"Collection")
16
16
  expect(datacite.dig("relatedIdentifiers", "relatedIdentifier")[1]).to eq("relatedIdentifierType"=>"DOI", "relationType"=>"References", "__content__"=>"10.1038/nature02100")
17
17
  expect(datacite.dig("rightsList", "rights")).to eq("rightsURI"=>"https://creativecommons.org/licenses/by/3.0/legalcode", "rightsIdentifier"=>"cc-by-3.0", "rightsIdentifierScheme"=>"SPDX", "schemeURI"=>"https://spdx.org/licenses/", "__content__"=>"Creative Commons Attribution 3.0 Unported")
@@ -169,7 +169,7 @@ describe Briard::Metadata, vcr: true do
169
169
  expect(subject.dates).to eq([{"date"=>"2017-06-28", "dateType"=>"Created"}, {"date"=>"2017-06-28", "dateType"=>"Updated"}, {"date"=>"2017", "dateType"=>"Issued"}])
170
170
  expect(subject.publication_year).to eq("2017")
171
171
  expect(subject.publisher).to eq("Figshare")
172
- expect(subject.subjects).to eq([{"subject"=>"Information Systems"},
172
+ expect(subject.subjects).to eq([{"subject"=>"information systems"},
173
173
  {"schemeUri"=>"http://www.oecd.org/science/inno/38235147.pdf",
174
174
  "subject"=>"FOS: Computer and information sciences",
175
175
  "subjectScheme"=>"Fields of Science and Technology (FOS)"}])
@@ -195,7 +195,7 @@ describe Briard::Metadata, vcr: true do
195
195
  expect(subject.dates).to eq([{"date"=>"2017-06-28", "dateType"=>"Created"}, {"date"=>"2017-06-28", "dateType"=>"Updated"}, {"date"=>"2017", "dateType"=>"Issued"}])
196
196
  expect(subject.publication_year).to eq("2017")
197
197
  expect(subject.publisher).to eq("Figshare")
198
- expect(subject.subjects).to eq([{"subject"=>"Information Systems"},
198
+ expect(subject.subjects).to eq([{"subject"=>"information systems"},
199
199
  {"schemeUri"=>"http://www.oecd.org/science/inno/38235147.pdf",
200
200
  "subject"=>"FOS: Computer and information sciences",
201
201
  "subjectScheme"=>"Fields of Science and Technology (FOS)"}])
@@ -222,7 +222,7 @@ describe Briard::Metadata, vcr: true do
222
222
  expect(subject.publication_year).to eq("2011")
223
223
  expect(subject.related_identifiers.length).to eq(1)
224
224
  expect(subject.related_identifiers.last).to eq("relatedIdentifier" => "10.1371/journal.ppat.1000446",
225
- "relatedIdentifierType" => "DOI","relationType"=>"Cites")
225
+ "relatedIdentifierType" => "DOI","relationType"=>"IsCitedBy")
226
226
  expect(subject.publisher).to eq("Dryad")
227
227
  expect(subject.agency).to eq("datacite")
228
228
  expect(subject.schema_version).to eq("http://datacite.org/schema/kernel-4")
@@ -257,16 +257,6 @@ describe Briard::Metadata, vcr: true do
257
257
  expect(datacite.dig("creators", "creator", 0, "affiliation")).to eq(["UC Merced", "NSF"])
258
258
  end
259
259
 
260
- it "with data citation schema.org" do
261
- input = "https://blog.datacite.org/eating-your-own-dog-food/"
262
- subject = Briard::Metadata.new(input: input, from: "schema_org")
263
- expect(subject.valid?).to be true
264
- datacite = Maremma.from_xml(subject.datacite).fetch("resource", {})
265
- expect(datacite.dig("titles", "title")).to eq("Eating your own Dog Food")
266
- expect(datacite.dig("relatedIdentifiers", "relatedIdentifier").count).to eq(3)
267
- expect(datacite.dig("relatedIdentifiers", "relatedIdentifier").first).to eq("__content__"=>"10.5438/0000-00ss", "relatedIdentifierType"=>"DOI", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Text")
268
- end
269
-
270
260
  it "DOI not found" do
271
261
  input = "https://doi.org/10.4124/05F6C379-DD68-4CDB-880D-33D3E9576D52/1"
272
262
  subject = Briard::Metadata.new(input: input, from: "datacite")
@@ -302,7 +292,7 @@ describe Briard::Metadata, vcr: true do
302
292
  expect(datacite.dig("identifier", "__content__")).to eq("10.5061/DRYAD.8515")
303
293
  expect(datacite.dig("resourceType", "resourceTypeGeneral")).to eq("Dataset")
304
294
  expect(datacite.dig("titles", "title")).to eq("Data from: Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth")
305
- expect(datacite.dig("relatedIdentifiers", "relatedIdentifier").length).to eq(27)
295
+ expect(datacite.dig("relatedIdentifiers", "relatedIdentifier").length).to eq(28)
306
296
  expect(datacite.dig("relatedIdentifiers", "relatedIdentifier").first).to eq("__content__"=>"2050-084X", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
307
297
  expect(datacite.dig("relatedIdentifiers", "relatedIdentifier")[1]).to eq("relatedIdentifierType"=>"DOI", "relationType"=>"References", "__content__"=>"10.1038/nature02100")
308
298
  expect(datacite.dig("rightsList", "rights")).to eq("rightsURI"=>"https://creativecommons.org/licenses/by/3.0/legalcode", "rightsIdentifier"=>"cc-by-3.0", "rightsIdentifierScheme"=>"SPDX", "schemeURI"=>"https://spdx.org/licenses/", "__content__"=>"Creative Commons Attribution 3.0 Unported")
@@ -145,18 +145,19 @@ describe Briard::Metadata, vcr: true do
145
145
  expect(jats.dig("pub_id")).to eq("pub_id_type"=>"doi", "__content__"=>"10.5061/dryad.8515")
146
146
  end
147
147
 
148
- it "with data citation schema.org" do
149
- input = "https://blog.datacite.org/eating-your-own-dog-food/"
148
+ it "from schema_org" do
149
+ input = "https://blog.front-matter.io/posts/eating-your-own-dog-food/"
150
150
  subject = Briard::Metadata.new(input: input, from: "schema_org")
151
151
  jats = Maremma.from_xml(subject.jats).fetch("element_citation", {})
152
- expect(jats.dig("publication_type")).to be_nil
153
- expect(jats.dig("source")).to eq("Eating your own Dog Food")
154
- expect(jats.dig("publisher_name")).to eq("DataCite")
152
+ expect(jats.dig("publication_type")).to eq("journal")
153
+ expect(jats.dig("article_title")).to eq("Eating your own Dog Food")
154
+ expect(jats.dig("source")).to eq("Front Matter")
155
+ expect(jats.dig("publisher_name")).to eq("Front Matter")
155
156
  expect(jats.dig("person_group", "name")).to eq("surname"=>"Fenner", "given_names"=>"Martin")
156
- expect(jats.dig("year")).to eq("iso_8601_date"=>"2016-12-20", "__content__"=>"2016")
157
+ expect(jats.dig("year")).to eq("iso_8601_date"=>"2016-12-20T00:00:00Z", "__content__"=>"2016")
157
158
  expect(jats.dig("month")).to eq("12")
158
159
  expect(jats.dig("day")).to eq("20")
159
- expect(jats.dig("pub_id")).to eq("pub_id_type"=>"doi", "__content__"=>"10.5438/4k3m-nyvg")
160
+ expect(jats.dig("pub_id")).to eq("pub_id_type"=>"doi", "__content__"=>"10.53731/r79vxn1-97aq74v-ag58n")
160
161
  end
161
162
 
162
163
  it "interactive resource without dates" do
@@ -71,16 +71,16 @@ describe Briard::Metadata, vcr: true do
71
71
  end
72
72
 
73
73
  it "BlogPosting schema.org" do
74
- input = "https://blog.datacite.org/eating-your-own-dog-food/"
74
+ input = "https://blog.front-matter.io/posts/eating-your-own-dog-food/"
75
75
  subject = Briard::Metadata.new(input: input, from: "schema_org")
76
76
  expect(subject.valid?).to be true
77
77
  rdf_xml = Maremma.from_xml(subject.rdf_xml).fetch("RDF", {})
78
- expect(rdf_xml.dig("BlogPosting", "rdf:about")).to eq("https://doi.org/10.5438/4k3m-nyvg")
79
- expect(rdf_xml.dig("BlogPosting", "author", "Person", "rdf:about")).to eq("https://orcid.org/0000-0003-1419-2405")
80
- expect(rdf_xml.dig("BlogPosting", "author", "Person", "name")).to eq("Martin Fenner")
81
- expect(rdf_xml.dig("BlogPosting", "name")).to eq("Eating your own Dog Food")
82
- expect(rdf_xml.dig("BlogPosting", "keywords")).to eq("datacite, doi, metadata, featured")
83
- expect(rdf_xml.dig("BlogPosting", "datePublished", "__content__")).to eq("2016-12-20")
78
+ expect(rdf_xml.dig("Article", "rdf:about")).to eq("https://doi.org/10.53731/r79vxn1-97aq74v-ag58n")
79
+ expect(rdf_xml.dig("Article", "author", "Person", "rdf:about")).to eq("https://orcid.org/0000-0003-1419-2405")
80
+ expect(rdf_xml.dig("Article", "author", "Person", "name")).to eq("Martin Fenner")
81
+ expect(rdf_xml.dig("Article", "name")).to eq("Eating your own Dog Food")
82
+ expect(rdf_xml.dig("Article", "keywords")).to eq("feature")
83
+ expect(rdf_xml.dig("Article", "datePublished", "__content__")).to eq("2016-12-20T00:00:00Z")
84
84
  end
85
85
  end
86
86
  end
@@ -115,7 +115,7 @@ describe Briard::Metadata, vcr: true do
115
115
  expect(ris[4]).to eq("DO - 10.5438/4k3m-nyvg")
116
116
  expect(ris[5]).to eq("UR - https://blog.datacite.org/eating-your-own-dog-food")
117
117
  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...")
118
- expect(ris[7]).to eq("KW - Phylogeny")
118
+ expect(ris[7]).to eq("KW - phylogeny")
119
119
  expect(ris[14]).to eq("PY - 2016")
120
120
  expect(ris[15]).to eq("PB - DataCite")
121
121
  expect(ris[16]).to eq("ER - ")
@@ -138,21 +138,21 @@ describe Briard::Metadata, vcr: true do
138
138
  end
139
139
 
140
140
  it "BlogPosting schema.org" do
141
- input = "https://blog.datacite.org/eating-your-own-dog-food/"
141
+ input = "https://blog.front-matter.io/posts/eating-your-own-dog-food/"
142
142
  subject = Briard::Metadata.new(input: input, from: "schema_org")
143
143
  ris = subject.ris.split("\r\n")
144
144
  expect(ris[0]).to eq("TY - GEN")
145
145
  expect(ris[1]).to eq("T1 - Eating your own Dog Food")
146
- expect(ris[2]).to eq("T2 - DataCite Blog")
146
+ expect(ris[2]).to eq("T2 - Front Matter")
147
147
  expect(ris[3]).to eq("AU - Fenner, Martin")
148
- expect(ris[4]).to eq("DO - 10.5438/4k3m-nyvg")
149
- expect(ris[5]).to eq("UR - https://blog.datacite.org/eating-your-own-dog-food")
150
- 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...")
151
- expect(ris[7]).to eq("KW - datacite")
152
- expect(ris[11]).to eq("PY - 2016")
153
- expect(ris[12]).to eq("PB - DataCite")
154
- expect(ris[13]).to eq("SN - 10.5438/0000-00ss")
155
- expect(ris[14]).to eq("ER - ")
148
+ expect(ris[4]).to eq("DO - 10.53731/r79vxn1-97aq74v-ag58n")
149
+ expect(ris[5]).to eq("UR - https://blog.front-matter.io/posts/eating-your-own-dog-food")
150
+ 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 the scholarly outputs we produce. For the most part this is not research data, but rather technical documents such as the DataCite Schema and its documentation (2016). These outputs also include the posts on this blog, where we discuss topics relev")
151
+ expect(ris[7]).to eq("KW - feature")
152
+ expect(ris[8]).to eq("PY - 2016")
153
+ expect(ris[9]).to eq("PB - Front Matter")
154
+ expect(ris[10]).to eq("LA - en")
155
+ expect(ris[11]).to eq("ER - ")
156
156
  end
157
157
 
158
158
  it "Dataset" do
@@ -165,7 +165,7 @@ describe Briard::Metadata, vcr: true do
165
165
  expect(ris[2]).to eq("AU - Ollomo, Benjamin")
166
166
  expect(ris[10]).to eq("DO - 10.5061/dryad.8515")
167
167
  expect(ris[11]).to eq("UR - http://datadryad.org/stash/dataset/doi:10.5061/dryad.8515")
168
- expect(ris[13]).to eq("KW - Plasmodium")
168
+ expect(ris[13]).to eq("KW - plasmodium")
169
169
  expect(ris[18]).to eq("PB - Dryad")
170
170
  expect(ris[19]).to eq("LA - en")
171
171
  expect(ris[20]).to eq("ER - ")
@@ -196,8 +196,8 @@ describe Briard::Metadata, vcr: true do
196
196
  expect(ris).to include("AU - Kurihara, Haruko")
197
197
  expect(ris).to include("DO - 10.1594/pangaea.721193")
198
198
  expect(ris).to include("UR - https://doi.pangaea.de/10.1594/PANGAEA.721193")
199
- expect(ris).to include("KW - Animalia")
200
- expect(ris).to include("KW - Bottles or small containers/Aquaria (&lt;20 L)")
199
+ expect(ris).to include("KW - animalia")
200
+ expect(ris).to include("KW - bottles or small containers/aquaria (&lt;20 l)")
201
201
  expect(ris).to include("PY - 2007")
202
202
  expect(ris).to include("PB - PANGAEA - Data Publisher for Earth & Environmental Science")
203
203
  expect(ris).to include("LA - en")
@@ -12,7 +12,7 @@ describe Briard::Metadata, vcr: true do
12
12
  expect(json["@type"]).to eq("ScholarlyArticle")
13
13
  expect(json["isPartOf"]).to eq("@type"=>"Periodical", "issn"=>"2050-084X")
14
14
  expect(json["periodical"]).to eq("@type"=>"Journal", "firstPage" => "e01567", "identifier"=>"2050-084X", "identifierType"=>"ISSN", "name"=>"eLife", "volume"=>"3")
15
- expect(json["citation"].length).to eq(26)
15
+ expect(json["citation"].length).to eq(27)
16
16
  expect(json["citation"].first).to eq("@id"=>"https://doi.org/10.1038/nature02100", "@type"=>"CreativeWork")
17
17
  expect(json["funder"]).to eq([{"name"=>"SystemsX", "@type"=>"Organization"},
18
18
  {"name"=>"EMBO",
@@ -47,15 +47,14 @@ describe Briard::Metadata, vcr: true do
47
47
  expect(json["license"]).to eq(["https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode", "info:eu-repo/semantics/openAccess"])
48
48
  end
49
49
 
50
- it "Schema.org JSON isReferencedBy" do
50
+ it "Another Schema.org JSON" do
51
51
  input = "https://doi.org/10.5061/DRYAD.8515"
52
52
  subject = Briard::Metadata.new(input: input, from: "datacite")
53
53
  json = JSON.parse(subject.schema_org)
54
54
  expect(json["@id"]).to eq("https://doi.org/10.5061/dryad.8515")
55
55
  expect(json["@type"]).to eq("Dataset")
56
- expect(json["citation"]).to eq("@id"=>"https://doi.org/10.1371/journal.ppat.1000446", "@type"=>"CreativeWork")
57
56
  expect(json["license"]).to eq("https://creativecommons.org/publicdomain/zero/1.0/legalcode")
58
- expect(json["keywords"]).to eq("Plasmodium, malaria, mitochondrial genome, Parasites")
57
+ expect(json["keywords"]).to eq("plasmodium, malaria, mitochondrial genome, parasites")
59
58
  end
60
59
 
61
60
  it "Schema.org JSON IsSupplementTo" do
@@ -96,7 +95,7 @@ describe Briard::Metadata, vcr: true do
96
95
  "affiliation"=>{"@type"=>"Organization", "name"=>"NCEAS"}},
97
96
  {"name"=>"University Of California, Santa Barbara", "@type"=>"Organization"}])
98
97
  expect(json["version"]).to eq("2.0.0")
99
- expect(json["keywords"]).to eq("data sharing, data repository, DataONE")
98
+ expect(json["keywords"]).to eq("data sharing, data repository, dataone")
100
99
  end
101
100
 
102
101
  it "Funding" do
@@ -138,7 +137,7 @@ describe Briard::Metadata, vcr: true do
138
137
  expect(json["@id"]).to eq("https://doi.org/10.1594/pangaea.721193")
139
138
  expect(json["@type"]).to eq("Dataset")
140
139
  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")
141
- expect(json["keywords"]).to include("Animalia, Bottles or small containers/Aquaria (&lt;20 L)")
140
+ expect(json["keywords"]).to include("animalia, bottles or small containers/aquaria (&lt;20 l)")
142
141
  expect(json["license"]).to eq("https://creativecommons.org/licenses/by/3.0/legalcode")
143
142
  end
144
143
 
@@ -47,12 +47,13 @@ describe Briard::Metadata, vcr: true do
47
47
  end
48
48
 
49
49
  it "BlogPosting schema.org" do
50
- input = "https://blog.datacite.org/eating-your-own-dog-food/"
50
+ input = "https://blog.front-matter.io/posts/eating-your-own-dog-food//"
51
51
  subject = Briard::Metadata.new(input: input, from: "schema_org")
52
52
  expect(subject.valid?).to be true
53
53
  ttl = subject.turtle.split("\n")
54
54
  expect(ttl[0]).to eq("@prefix schema: <http://schema.org/> .")
55
- expect(ttl[2]).to eq("<https://doi.org/10.5438/4k3m-nyvg> a schema:BlogPosting;")
55
+ expect(ttl[2]).to eq("<https://doi.org/10.53731/r79vxn1-97aq74v-ag58n> a schema:Article;")
56
+ expect(ttl[3]).to eq(" schema:author <https://orcid.org/0000-0003-1419-2405>;")
56
57
  end
57
58
 
58
59
  it "DataONE" do