Package not found. Please check the package name and try again.

commonmeta-ruby 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (791) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/build.yml +38 -0
  3. data/.github/workflows/changelog.yml +36 -0
  4. data/.github/workflows/codeql-analysis.yml +72 -0
  5. data/.github/workflows/rubocop.yml +50 -0
  6. data/.gitignore +59 -0
  7. data/.rubocop.yml +182 -0
  8. data/.rubocop_todo.yml +76 -0
  9. data/.tool-versions +1 -0
  10. data/CHANGELOG.md +124 -0
  11. data/CITATION +16 -0
  12. data/CITATION.cff +20 -0
  13. data/Gemfile +5 -0
  14. data/Gemfile.lock +270 -0
  15. data/LICENSE.md +21 -0
  16. data/README.md +733 -0
  17. data/Rakefile +13 -0
  18. data/bin/commonmeta +9 -0
  19. data/commonmeta.gemspec +68 -0
  20. data/lib/commonmeta/array.rb +13 -0
  21. data/lib/commonmeta/author_utils.rb +172 -0
  22. data/lib/commonmeta/cli.rb +70 -0
  23. data/lib/commonmeta/crossref_utils.rb +343 -0
  24. data/lib/commonmeta/doi_utils.rb +81 -0
  25. data/lib/commonmeta/metadata.rb +269 -0
  26. data/lib/commonmeta/metadata_utils.rb +184 -0
  27. data/lib/commonmeta/pubmed.rb +36 -0
  28. data/lib/commonmeta/readers/bibtex_reader.rb +62 -0
  29. data/lib/commonmeta/readers/cff_reader.rb +146 -0
  30. data/lib/commonmeta/readers/codemeta_reader.rb +90 -0
  31. data/lib/commonmeta/readers/crossref_reader.rb +186 -0
  32. data/lib/commonmeta/readers/crossref_xml_reader.rb +379 -0
  33. data/lib/commonmeta/readers/csl_reader.rb +85 -0
  34. data/lib/commonmeta/readers/datacite_reader.rb +169 -0
  35. data/lib/commonmeta/readers/npm_reader.rb +94 -0
  36. data/lib/commonmeta/readers/ris_reader.rb +66 -0
  37. data/lib/commonmeta/readers/schema_org_reader.rb +300 -0
  38. data/lib/commonmeta/schema_utils.rb +19 -0
  39. data/lib/commonmeta/string.rb +7 -0
  40. data/lib/commonmeta/utils.rb +1351 -0
  41. data/lib/commonmeta/version.rb +5 -0
  42. data/lib/commonmeta/whitelist_scrubber.rb +54 -0
  43. data/lib/commonmeta/writers/bibtex_writer.rb +36 -0
  44. data/lib/commonmeta/writers/cff_writer.rb +63 -0
  45. data/lib/commonmeta/writers/citation_writer.rb +14 -0
  46. data/lib/commonmeta/writers/codemeta_writer.rb +33 -0
  47. data/lib/commonmeta/writers/crossref_xml_writer.rb +11 -0
  48. data/lib/commonmeta/writers/csl_writer.rb +11 -0
  49. data/lib/commonmeta/writers/csv_writer.rb +26 -0
  50. data/lib/commonmeta/writers/datacite_writer.rb +94 -0
  51. data/lib/commonmeta/writers/jats_writer.rb +138 -0
  52. data/lib/commonmeta/writers/rdf_xml_writer.rb +11 -0
  53. data/lib/commonmeta/writers/ris_writer.rb +41 -0
  54. data/lib/commonmeta/writers/schema_org_writer.rb +61 -0
  55. data/lib/commonmeta/writers/turtle_writer.rb +11 -0
  56. data/lib/commonmeta/xml_converter.rb +14 -0
  57. data/lib/commonmeta.rb +35 -0
  58. data/resources/2008/09/xsd.xsl +997 -0
  59. data/resources/cff.json +1827 -0
  60. data/resources/commonmeta_v0.9.json +393 -0
  61. data/resources/crossref/AccessIndicators.xsd +47 -0
  62. data/resources/crossref/JATS-journalpublishing1-3d2-mathml3-elements.xsd +10130 -0
  63. data/resources/crossref/JATS-journalpublishing1-3d2-mathml3.xsd +48 -0
  64. data/resources/crossref/JATS-journalpublishing1-elements.xsd +8705 -0
  65. data/resources/crossref/JATS-journalpublishing1-mathml3-elements.xsd +8608 -0
  66. data/resources/crossref/JATS-journalpublishing1-mathml3.xsd +49 -0
  67. data/resources/crossref/JATS-journalpublishing1.xsd +6176 -0
  68. data/resources/crossref/clinicaltrials.xsd +61 -0
  69. data/resources/crossref/common5.3.1.xsd +1530 -0
  70. data/resources/crossref/crossref5.3.1.xsd +1949 -0
  71. data/resources/crossref/crossref_query_output3.0.xsd +1097 -0
  72. data/resources/crossref/fundref.xsd +49 -0
  73. data/resources/crossref/module-ali.xsd +39 -0
  74. data/resources/crossref/relations.xsd +444 -0
  75. data/resources/datacite-contributorType-v4.xsd +35 -0
  76. data/resources/datacite-dateType-v4.xsd +25 -0
  77. data/resources/datacite-descriptionType-v4.xsd +19 -0
  78. data/resources/datacite-funderIdentifierType-v4.xsd +15 -0
  79. data/resources/datacite-nameType-v4.xsd +10 -0
  80. data/resources/datacite-relatedIdentifierType-v4.xsd +34 -0
  81. data/resources/datacite-relationType-v4.xsd +49 -0
  82. data/resources/datacite-resourceType-v4.xsd +28 -0
  83. data/resources/datacite-titleType-v4.xsd +14 -0
  84. data/resources/datacite-v3.json +508 -0
  85. data/resources/datacite-v4.json +512 -0
  86. data/resources/kernel-3.0/include/datacite-contributorType-v3.xsd +33 -0
  87. data/resources/kernel-3.0/include/datacite-dateType-v3.xsd +21 -0
  88. data/resources/kernel-3.0/include/datacite-descriptionType-v3.xsd +17 -0
  89. data/resources/kernel-3.0/include/datacite-relatedIdentifierType-v3.xsd +27 -0
  90. data/resources/kernel-3.0/include/datacite-relationType-v3.xsd +33 -0
  91. data/resources/kernel-3.0/include/datacite-resourceType-v3.xsd +26 -0
  92. data/resources/kernel-3.0/include/datacite-titleType-v3.xsd +12 -0
  93. data/resources/kernel-3.0/include/xml.xsd +286 -0
  94. data/resources/kernel-3.0/metadata.xsd +377 -0
  95. data/resources/kernel-4/include/datacite-contributorType-v4.xsd +35 -0
  96. data/resources/kernel-4/include/datacite-dateType-v4.xsd +25 -0
  97. data/resources/kernel-4/include/datacite-descriptionType-v4.xsd +19 -0
  98. data/resources/kernel-4/include/datacite-funderIdentifierType-v4.xsd +16 -0
  99. data/resources/kernel-4/include/datacite-nameType-v4.xsd +10 -0
  100. data/resources/kernel-4/include/datacite-numberType-v4.xsd +12 -0
  101. data/resources/kernel-4/include/datacite-relatedIdentifierType-v4.xsd +34 -0
  102. data/resources/kernel-4/include/datacite-relationType-v4.xsd +51 -0
  103. data/resources/kernel-4/include/datacite-resourceType-v4.xsd +43 -0
  104. data/resources/kernel-4/include/datacite-titleType-v4.xsd +14 -0
  105. data/resources/kernel-4/include/xml.xsd +286 -0
  106. data/resources/kernel-4/metadata.xsd +707 -0
  107. data/resources/oecd/dfg-mappings.json +1866 -0
  108. data/resources/oecd/for-mappings.json +1099 -0
  109. data/resources/oecd/fos-mappings.json +198 -0
  110. data/resources/schema_org/jsonldcontext.json +7477 -0
  111. data/resources/spdx/licenses.json +5297 -0
  112. data/resources/xml.xsd +286 -0
  113. data/rubocop.sarif +0 -0
  114. data/sonar-project.properties +11 -0
  115. data/spec/array_spec.rb +22 -0
  116. data/spec/author_utils_spec.rb +132 -0
  117. data/spec/cli_spec.rb +309 -0
  118. data/spec/doi_utils_spec.rb +318 -0
  119. data/spec/find_from_format_spec.rb +144 -0
  120. data/spec/fixtures/CITATION.cff +83 -0
  121. data/spec/fixtures/aida.json +82 -0
  122. data/spec/fixtures/cgimp_package.json +18 -0
  123. data/spec/fixtures/cit_package.json +19 -0
  124. data/spec/fixtures/citeproc-no-author.json +26 -0
  125. data/spec/fixtures/citeproc-no-categories.json +21 -0
  126. data/spec/fixtures/citeproc.json +30 -0
  127. data/spec/fixtures/codemeta.json +86 -0
  128. data/spec/fixtures/codemeta_v2.json +86 -0
  129. data/spec/fixtures/crosscite.json +63 -0
  130. data/spec/fixtures/crossref.bib +14 -0
  131. data/spec/fixtures/crossref.json +572 -0
  132. data/spec/fixtures/crossref.ris +15 -0
  133. data/spec/fixtures/crossref.xml +606 -0
  134. data/spec/fixtures/datacite.json +86 -0
  135. data/spec/fixtures/datacite_software.json +21 -0
  136. data/spec/fixtures/datacite_software_missing_comma.json +18 -0
  137. data/spec/fixtures/datacite_software_overlapping_keys.json +18 -0
  138. data/spec/fixtures/datacite_software_version.json +74 -0
  139. data/spec/fixtures/edam_package.json +12 -0
  140. data/spec/fixtures/maremma/codemeta.json +36 -0
  141. data/spec/fixtures/pure.bib +14 -0
  142. data/spec/fixtures/pure.ris +15 -0
  143. data/spec/fixtures/pure.xml +188 -0
  144. data/spec/fixtures/ris_bug.ris +9 -0
  145. data/spec/fixtures/schema_4.0.xml +140 -0
  146. data/spec/fixtures/schema_org.json +49 -0
  147. data/spec/fixtures/schema_org_front-matter.json +32 -0
  148. data/spec/fixtures/schema_org_geolocation.json +82 -0
  149. data/spec/fixtures/schema_org_geoshape.json +550 -0
  150. data/spec/fixtures/schema_org_gtex.json +75 -0
  151. data/spec/fixtures/schema_org_list.json +12623 -0
  152. data/spec/fixtures/schema_org_tdl_iodp_invalid_authors.json +25 -0
  153. data/spec/fixtures/schema_org_topmed.json +53 -0
  154. data/spec/fixtures/schema_org_type_as_array.json +41 -0
  155. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_file/crossref/default.yml +110 -0
  156. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_file/crossref/to_bibtex.yml +110 -0
  157. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_file/crossref/to_crossref_xml.yml +110 -0
  158. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_file/crossref/to_datacite.yml +110 -0
  159. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_file/crossref/to_schema_org.yml +110 -0
  160. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_file/crossref_xml/default.yml +55 -0
  161. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_file/crossref_xml/to_bibtex.yml +55 -0
  162. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_file/crossref_xml/to_crossref_xml.yml +55 -0
  163. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_file/crossref_xml/to_datacite.yml +55 -0
  164. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_file/crossref_xml/to_schema_org.yml +55 -0
  165. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/default.yml +299 -0
  166. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/to_bibtex.yml +299 -0
  167. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/to_citation.yml +299 -0
  168. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/to_crossref_xml.yml +299 -0
  169. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/to_datacite.yml +299 -0
  170. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/to_jats.yml +299 -0
  171. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/to_schema_org.yml +299 -0
  172. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/default.yml +172 -0
  173. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/to_bibtex.yml +172 -0
  174. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/to_citation.yml +172 -0
  175. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/to_datacite.yml +172 -0
  176. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/to_jats.yml +172 -0
  177. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/to_schema_org.yml +172 -0
  178. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/schema_org/default.yml +1098 -0
  179. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/schema_org/to_datacite.yml +1098 -0
  180. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/schema_org/to_schema_org.yml +1100 -0
  181. data/spec/fixtures/vcr_cassettes/Briard_CLI/find_from_format_by_id/crossref.yml +55 -0
  182. data/spec/fixtures/vcr_cassettes/Briard_CLI/find_from_format_by_id/datacite.yml +55 -0
  183. data/spec/fixtures/vcr_cassettes/Briard_CLI/find_from_format_by_id/jalc.yml +55 -0
  184. data/spec/fixtures/vcr_cassettes/Briard_CLI/find_from_format_by_id/kisti.yml +55 -0
  185. data/spec/fixtures/vcr_cassettes/Briard_CLI/find_from_format_by_id/medra.yml +55 -0
  186. data/spec/fixtures/vcr_cassettes/Briard_CLI/find_from_format_by_id/op.yml +55 -0
  187. data/spec/fixtures/vcr_cassettes/Briard_Metadata/authors_as_string/author.yml +164 -0
  188. data/spec/fixtures/vcr_cassettes/Briard_Metadata/authors_as_string/no_author.yml +164 -0
  189. data/spec/fixtures/vcr_cassettes/Briard_Metadata/authors_as_string/single_author.yml +164 -0
  190. data/spec/fixtures/vcr_cassettes/Briard_Metadata/authors_as_string/with_organization.yml +164 -0
  191. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_metadata_as_datacite_xml/with_data_citation.yml +247 -0
  192. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/crossref.yml +55 -0
  193. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/datacite.yml +55 -0
  194. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/jalc.yml +55 -0
  195. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/kisti.yml +55 -0
  196. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/medra.yml +55 -0
  197. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/not_found.yml +55 -0
  198. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/op.yml +55 -0
  199. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/crossref.yml +55 -0
  200. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/crossref_doi_not_url.yml +55 -0
  201. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/datacite.yml +55 -0
  202. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/datacite_doi_http.yml +55 -0
  203. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/unknown_DOI_registration_agency.yml +55 -0
  204. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/hsh_to_fos_for_match.yml +221 -0
  205. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/hsh_to_fos_for_with_schemeUri_in_hash.yml +221 -0
  206. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/hsh_to_fos_match.yml +221 -0
  207. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/hsh_to_fos_no_match.yml +221 -0
  208. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/name_to_fos_for_match.yml +221 -0
  209. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/name_to_fos_match.yml +221 -0
  210. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/name_to_fos_no_match.yml +221 -0
  211. data/spec/fixtures/vcr_cassettes/Briard_Metadata/from_schema_org/with_id.yml +221 -0
  212. data/spec/fixtures/vcr_cassettes/Briard_Metadata/from_schema_org_creators/with_affiliation.yml +221 -0
  213. data/spec/fixtures/vcr_cassettes/Briard_Metadata/from_schema_org_creators/without_affiliation.yml +221 -0
  214. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_cff_metadata/cff-converter-python.yml +200 -0
  215. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_cff_metadata/ruby-cff.yml +154 -0
  216. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_cff_metadata/ruby-cff_repository_url.yml +154 -0
  217. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_codemeta_metadata/maremma.yml +86 -0
  218. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_codemeta_metadata/metadata_reports.yml +93 -0
  219. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/DOI_with_ORCID_ID.yml +337 -0
  220. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/DOI_with_SICI_DOI.yml +347 -0
  221. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/DOI_with_data_citation.yml +359 -0
  222. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/JaLC.yml +384 -0
  223. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/KISTI.yml +330 -0
  224. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/OP.yml +969 -0
  225. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/affiliation_is_space.yml +358 -0
  226. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/another_book.yml +312 -0
  227. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/another_book_chapter.yml +465 -0
  228. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/article_id_as_page_number.yml +276 -0
  229. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/author_literal.yml +492 -0
  230. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/book.yml +523 -0
  231. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/book_chapter.yml +377 -0
  232. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/book_chapter_with_RDF_for_container.yml +336 -0
  233. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/book_oup.yml +289 -0
  234. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/component.yml +289 -0
  235. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/dataset.yml +299 -0
  236. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/dataset_usda.yml +341 -0
  237. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/date_in_future.yml +570 -0
  238. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/dissertation.yml +301 -0
  239. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/empty_given_name.yml +303 -0
  240. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/invalid_date.yml +307 -0
  241. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/journal_article.yml +461 -0
  242. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/journal_article_original_language_title.yml +276 -0
  243. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/journal_article_with.yml +470 -0
  244. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/journal_article_with_RDF_for_container.yml +519 -0
  245. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/journal_article_with_funding.yml +456 -0
  246. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/journal_issue.yml +270 -0
  247. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/mEDRA.yml +310 -0
  248. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/markup.yml +329 -0
  249. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/missing_creator.yml +307 -0
  250. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/multiple_issn.yml +393 -0
  251. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/multiple_titles.yml +265 -0
  252. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/multiple_titles_with_missing.yml +860 -0
  253. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/not_found_error.yml +209 -0
  254. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/peer_review.yml +287 -0
  255. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/posted_content.yml +326 -0
  256. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/posted_content_copernicus.yml +297 -0
  257. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/report_osti.yml +315 -0
  258. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/vor_with_url.yml +451 -0
  259. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/yet_another_book.yml +816 -0
  260. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/yet_another_book_chapter.yml +324 -0
  261. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_raw/journal_article.yml +110 -0
  262. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/dissertation.yml +152 -0
  263. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/funding_references.yml +175 -0
  264. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/subject_scheme.yml +328 -0
  265. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date/publication_date.yml +221 -0
  266. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_from_date_parts/date.yml +221 -0
  267. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_from_date_parts/year-month.yml +221 -0
  268. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_from_date_parts/year.yml +221 -0
  269. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_from_parts/date.yml +221 -0
  270. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_from_parts/year-month.yml +221 -0
  271. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_from_parts/year.yml +221 -0
  272. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_parts/date.yml +221 -0
  273. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_parts/year-month.yml +221 -0
  274. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_parts/year.yml +221 -0
  275. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datetime_from_time/future.yml +221 -0
  276. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datetime_from_time/invalid.yml +221 -0
  277. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datetime_from_time/nil.yml +221 -0
  278. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datetime_from_time/past.yml +221 -0
  279. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datetime_from_time/present.yml +221 -0
  280. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/has_familyName.yml +133 -0
  281. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/has_name_in_display-order_with_ORCID.yml +153 -0
  282. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/is_organization.yml +164 -0
  283. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/name_with_affiliation_crossref.yml +247 -0
  284. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/only_familyName_and_givenName.yml +468 -0
  285. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/BlogPosting.yml +530 -0
  286. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/BlogPosting_with_new_DOI.yml +530 -0
  287. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/get_schema_org_metadata_front_matter/BlogPosting.yml +534 -0
  288. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/harvard_dataverse.yml +1838 -0
  289. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/pangaea.yml +468 -0
  290. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/upstream_blog.yml +885 -0
  291. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/zenodo.yml +583 -0
  292. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_series_information/only_title.yml +221 -0
  293. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_series_information/title_and_pages.yml +221 -0
  294. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_series_information/title_volume_and_pages.yml +221 -0
  295. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_series_information/title_volume_issue_and_pages.yml +221 -0
  296. data/spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_as_cff_url.yml +221 -0
  297. data/spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_as_codemeta_url.yml +221 -0
  298. data/spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_from_url.yml +221 -0
  299. data/spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_from_url_cff_file.yml +221 -0
  300. data/spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_from_url_file.yml +221 -0
  301. data/spec/fixtures/vcr_cassettes/Briard_Metadata/handle_input/DOI_RA_not_Crossref_or_DataCite.yml +55 -0
  302. data/spec/fixtures/vcr_cassettes/Briard_Metadata/handle_input/unknown_DOI_prefix.yml +55 -0
  303. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_comma.yml +164 -0
  304. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_family_name.yml +164 -0
  305. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_id.yml +164 -0
  306. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_known_given_name.yml +164 -0
  307. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_no_info.yml +164 -0
  308. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_orcid_id.yml +164 -0
  309. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_type_organization.yml +164 -0
  310. data/spec/fixtures/vcr_cassettes/Briard_Metadata/json_schema_errors/is_valid.yml +221 -0
  311. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_cc_url/not_found.yml +221 -0
  312. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_cc_url/with_trailing_slash.yml +221 -0
  313. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_cc_url/with_trailing_slash_and_to_https.yml +221 -0
  314. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/doi.yml +221 -0
  315. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/doi_as_url.yml +221 -0
  316. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/filename.yml +221 -0
  317. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/ftp.yml +221 -0
  318. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/invalid_url.yml +221 -0
  319. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/sandbox_via_options.yml +221 -0
  320. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/sandbox_via_url.yml +221 -0
  321. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/string.yml +221 -0
  322. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/url.yml +221 -0
  323. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/url_with_utf-8.yml +221 -0
  324. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_ids/doi.yml +221 -0
  325. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_ids/url.yml +221 -0
  326. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_issn/from_array.yml +221 -0
  327. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_issn/from_empty_array.yml +221 -0
  328. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_issn/from_hash.yml +221 -0
  329. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_issn/from_string.yml +221 -0
  330. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_url/uri.yml +221 -0
  331. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_url/with_trailing_slash.yml +221 -0
  332. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_url/with_trailing_slash_and_to_https.yml +221 -0
  333. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/array.yml +221 -0
  334. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/array_of_strings.yml +221 -0
  335. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/first.yml +221 -0
  336. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/hash.yml +221 -0
  337. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/hash_with_array_value.yml +221 -0
  338. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/nil.yml +221 -0
  339. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/string.yml +221 -0
  340. data/spec/fixtures/vcr_cassettes/Briard_Metadata/random_doi/decode_anothe_doi.yml +221 -0
  341. data/spec/fixtures/vcr_cassettes/Briard_Metadata/random_doi/decode_doi.yml +221 -0
  342. data/spec/fixtures/vcr_cassettes/Briard_Metadata/random_doi/encode_doi.yml +221 -0
  343. data/spec/fixtures/vcr_cassettes/Briard_Metadata/sanitize/onlies_keep_specific_tags.yml +221 -0
  344. data/spec/fixtures/vcr_cassettes/Briard_Metadata/sanitize/removes_a_tags.yml +221 -0
  345. data/spec/fixtures/vcr_cassettes/Briard_Metadata/spdx/hsh_to_spdx_id.yml +221 -0
  346. data/spec/fixtures/vcr_cassettes/Briard_Metadata/spdx/hsh_to_spdx_not_found.yml +221 -0
  347. data/spec/fixtures/vcr_cassettes/Briard_Metadata/spdx/hsh_to_spdx_url.yml +221 -0
  348. data/spec/fixtures/vcr_cassettes/Briard_Metadata/spdx/name_to_spdx_exists.yml +221 -0
  349. data/spec/fixtures/vcr_cassettes/Briard_Metadata/spdx/name_to_spdx_id.yml +221 -0
  350. data/spec/fixtures/vcr_cassettes/Briard_Metadata/to_schema_org/with_id.yml +221 -0
  351. data/spec/fixtures/vcr_cassettes/Briard_Metadata/to_schema_org_identifiers/with_identifiers.yml +221 -0
  352. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid.yml +221 -0
  353. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_https.yml +221 -0
  354. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_id.yml +221 -0
  355. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_sandbox.yml +221 -0
  356. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_sandbox_https.yml +221 -0
  357. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_with_spaces.yml +221 -0
  358. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_wrong_id.yml +221 -0
  359. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_www.yml +221 -0
  360. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid_scheme/validate_orcid_scheme.yml +221 -0
  361. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid_scheme/validate_orcid_scheme_https.yml +221 -0
  362. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid_scheme/validate_orcid_scheme_trailing_slash.yml +221 -0
  363. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid_scheme/validate_orcid_scheme_www.yml +221 -0
  364. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_url/DOI.yml +221 -0
  365. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_url/ISSN.yml +221 -0
  366. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_url/URL.yml +221 -0
  367. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_url/string.yml +221 -0
  368. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/BlogPosting.yml +81 -0
  369. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/Dataset.yml +120 -0
  370. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/authors_with_affiliations.yml +186 -0
  371. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/climate_data.yml +74 -0
  372. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/from_schema_org.yml +530 -0
  373. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/keywords_subject_scheme.yml +149 -0
  374. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/maremma.yml +86 -0
  375. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/text.yml +100 -0
  376. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/with_data_citation.yml +247 -0
  377. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/with_pages.yml +228 -0
  378. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_cff/Collection_of_Jupyter_notebooks.yml +143 -0
  379. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_cff/SoftwareSourceCode_Zenodo.yml +150 -0
  380. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_cff/SoftwareSourceCode_also_Zenodo.yml +93 -0
  381. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_cff/ruby-cff.yml +154 -0
  382. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/Dataset.yml +120 -0
  383. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/Journal_article.yml +247 -0
  384. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/Journal_article_vancouver_style.yml +299 -0
  385. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/Missing_author.yml +199 -0
  386. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/interactive_resource_without_dates.yml +75 -0
  387. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/software_w/version.yml +86 -0
  388. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite.yml +76 -0
  389. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite_check_codemeta_v2.yml +76 -0
  390. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/another_schema_org_from_front-matter.yml +541 -0
  391. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/journal_article.yml +55 -0
  392. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/journal_article_from_datacite.yml +85 -0
  393. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/posted_content.yml +283 -0
  394. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/schema_org_from_another_science_blog.yml +123 -0
  395. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/schema_org_from_front_matter.yml +477 -0
  396. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/schema_org_from_upstream_blog.yml +1025 -0
  397. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/Another_dataset.yml +110 -0
  398. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/BlogPosting.yml +81 -0
  399. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/BlogPosting_schema_org.yml +530 -0
  400. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/Dataset.yml +120 -0
  401. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/container_title.yml +153 -0
  402. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/interactive_resource_without_dates.yml +75 -0
  403. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/journal_article.yml +247 -0
  404. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/keywords_subject_scheme.yml +149 -0
  405. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/maremma.yml +86 -0
  406. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/missing_creator.yml +199 -0
  407. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/multiple_abstracts.yml +101 -0
  408. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/organization_author.yml +314 -0
  409. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/software.yml +90 -0
  410. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/software_w/version.yml +86 -0
  411. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/with_only_first_page.yml +333 -0
  412. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/with_pages.yml +228 -0
  413. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csv/climate_data.yml +74 -0
  414. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csv/maremma.yml +86 -0
  415. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csv/text.yml +100 -0
  416. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csv/with_data_citation.yml +247 -0
  417. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csv/with_pages.yml +228 -0
  418. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite/from_schema_org.yml +530 -0
  419. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite/maremma.yml +86 -0
  420. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite/with_ORCID_ID.yml +228 -0
  421. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite/with_data_citation.yml +247 -0
  422. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_json/from_schema_org.yml +530 -0
  423. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_json/maremma.yml +86 -0
  424. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_json/with_ORCID_ID.yml +228 -0
  425. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_json/with_data_citation.yml +247 -0
  426. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/Dataset_in_schema_4_0.yml +120 -0
  427. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/Text_pass-thru.yml +106 -0
  428. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/book_chapter.yml +163 -0
  429. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/from_schema_org.yml +530 -0
  430. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/interactive_resource_without_dates.yml +75 -0
  431. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/maremma.yml +86 -0
  432. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/with_ORCID_ID.yml +228 -0
  433. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/with_data_citation.yml +247 -0
  434. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/with_editor.yml +355 -0
  435. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_rdf_xml/BlogPosting.yml +81 -0
  436. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_rdf_xml/BlogPosting_schema_org.yml +530 -0
  437. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_rdf_xml/journal_article.yml +247 -0
  438. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_rdf_xml/maremma.yml +86 -0
  439. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_rdf_xml/with_pages.yml +228 -0
  440. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/BlogPosting.yml +81 -0
  441. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/BlogPosting_schema_org.yml +530 -0
  442. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/Dataset.yml +120 -0
  443. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/alternate_name.yml +138 -0
  444. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/journal_article.yml +115 -0
  445. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/keywords_with_subject_scheme.yml +149 -0
  446. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/maremma.yml +86 -0
  447. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/with_pages.yml +112 -0
  448. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Another_Schema_org_JSON.yml +120 -0
  449. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Funding.yml +192 -0
  450. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Funding_OpenAIRE.yml +150 -0
  451. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Schema_org_JSON.yml +98 -0
  452. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Schema_org_JSON_Cyark.yml +160 -0
  453. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Schema_org_JSON_IsSupplementTo.yml +153 -0
  454. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/alternate_identifiers.yml +131 -0
  455. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/data_catalog.yml +136 -0
  456. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/geo_location_box.yml +181 -0
  457. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/interactive_resource_without_dates.yml +127 -0
  458. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/journal_article.yml +247 -0
  459. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/maremma_schema_org_JSON.yml +86 -0
  460. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/series_information.yml +174 -0
  461. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/subject_scheme.yml +199 -0
  462. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/subject_scheme_multiple_keywords.yml +201 -0
  463. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_turtle/BlogPosting.yml +81 -0
  464. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_turtle/BlogPosting_schema_org.yml +530 -0
  465. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_turtle/Dataset.yml +120 -0
  466. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_turtle/journal_article.yml +247 -0
  467. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_turtle/with_pages.yml +228 -0
  468. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref/default.yml +110 -0
  469. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref/to_bibtex.yml +110 -0
  470. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref/to_crossref_xml.yml +110 -0
  471. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref/to_datacite.yml +110 -0
  472. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref/to_schema_org.yml +110 -0
  473. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref_xml/default.yml +55 -0
  474. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref_xml/to_bibtex.yml +55 -0
  475. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref_xml/to_crossref_xml.yml +55 -0
  476. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref_xml/to_datacite.yml +55 -0
  477. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref_xml/to_schema_org.yml +55 -0
  478. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/crossref/default.yml +299 -0
  479. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/crossref/to_bibtex.yml +299 -0
  480. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/crossref/to_citation.yml +299 -0
  481. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/crossref/to_crossref_xml.yml +299 -0
  482. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/crossref/to_datacite.yml +299 -0
  483. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/crossref/to_jats.yml +299 -0
  484. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/crossref/to_schema_org.yml +299 -0
  485. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/datacite/default.yml +172 -0
  486. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/datacite/to_bibtex.yml +172 -0
  487. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/datacite/to_citation.yml +172 -0
  488. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/datacite/to_datacite.yml +172 -0
  489. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/datacite/to_jats.yml +172 -0
  490. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/datacite/to_schema_org.yml +172 -0
  491. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/schema_org/default.yml +1096 -0
  492. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/schema_org/to_datacite.yml +1096 -0
  493. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/schema_org/to_schema_org.yml +1098 -0
  494. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/find_from_format_by_id/crossref.yml +55 -0
  495. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/find_from_format_by_id/datacite.yml +55 -0
  496. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/find_from_format_by_id/jalc.yml +55 -0
  497. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/find_from_format_by_id/kisti.yml +55 -0
  498. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/find_from_format_by_id/medra.yml +55 -0
  499. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/find_from_format_by_id/op.yml +55 -0
  500. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/change_metadata_as_datacite_xml/with_data_citation.yml +247 -0
  501. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/doi_registration_agency/crossref.yml +55 -0
  502. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/doi_registration_agency/datacite.yml +55 -0
  503. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/doi_registration_agency/jalc.yml +55 -0
  504. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/doi_registration_agency/kisti.yml +55 -0
  505. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/doi_registration_agency/medra.yml +55 -0
  506. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/doi_registration_agency/not_found.yml +55 -0
  507. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/doi_registration_agency/op.yml +55 -0
  508. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/find_from_format_by_ID/crossref.yml +55 -0
  509. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/find_from_format_by_ID/crossref_doi_not_url.yml +55 -0
  510. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/find_from_format_by_ID/datacite.yml +55 -0
  511. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/find_from_format_by_ID/datacite_doi_http.yml +55 -0
  512. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/find_from_format_by_ID/unknown_DOI_registration_agency.yml +55 -0
  513. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/fos/hsh_to_fos_for_match.yml +221 -0
  514. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/fos/hsh_to_fos_for_with_schemeUri_in_hash.yml +221 -0
  515. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/fos/hsh_to_fos_match.yml +221 -0
  516. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/fos/hsh_to_fos_no_match.yml +221 -0
  517. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/fos/name_to_fos_for_match.yml +221 -0
  518. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/fos/name_to_fos_match.yml +221 -0
  519. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/fos/name_to_fos_no_match.yml +221 -0
  520. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/from_schema_org/with_id.yml +221 -0
  521. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_cff_metadata/cff-converter-python.yml +200 -0
  522. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_cff_metadata/ruby-cff.yml +154 -0
  523. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_cff_metadata/ruby-cff_repository_url.yml +154 -0
  524. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_codemeta_metadata/maremma.yml +86 -0
  525. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_codemeta_metadata/metadata_reports.yml +93 -0
  526. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/DOI_with_ORCID_ID.yml +337 -0
  527. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/DOI_with_SICI_DOI.yml +347 -0
  528. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/DOI_with_data_citation.yml +170 -0
  529. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/JaLC.yml +384 -0
  530. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/KISTI.yml +330 -0
  531. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/OP.yml +969 -0
  532. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/affiliation_is_space.yml +358 -0
  533. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/another_book.yml +312 -0
  534. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/another_book_chapter.yml +465 -0
  535. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/article_id_as_page_number.yml +276 -0
  536. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/author_literal.yml +492 -0
  537. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/book.yml +523 -0
  538. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/book_chapter.yml +377 -0
  539. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/book_chapter_with_RDF_for_container.yml +336 -0
  540. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/book_oup.yml +289 -0
  541. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/component.yml +289 -0
  542. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/dataset.yml +300 -0
  543. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/dataset_usda.yml +341 -0
  544. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/date_in_future.yml +570 -0
  545. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/dissertation.yml +301 -0
  546. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/empty_given_name.yml +303 -0
  547. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/invalid_date.yml +307 -0
  548. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/journal_article.yml +461 -0
  549. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/journal_article_original_language_title.yml +276 -0
  550. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/journal_article_with.yml +908 -0
  551. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/journal_article_with_RDF_for_container.yml +519 -0
  552. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/journal_article_with_funding.yml +456 -0
  553. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/journal_issue.yml +270 -0
  554. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/mEDRA.yml +310 -0
  555. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/markup.yml +329 -0
  556. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/missing_creator.yml +307 -0
  557. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/multiple_issn.yml +393 -0
  558. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/multiple_titles.yml +265 -0
  559. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/multiple_titles_with_missing.yml +860 -0
  560. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/not_found_error.yml +209 -0
  561. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/peer_review.yml +287 -0
  562. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/posted_content.yml +326 -0
  563. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/posted_content_copernicus.yml +297 -0
  564. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/report_osti.yml +315 -0
  565. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/vor_with_url.yml +451 -0
  566. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/yet_another_book.yml +816 -0
  567. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/yet_another_book_chapter.yml +324 -0
  568. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_raw/journal_article.yml +110 -0
  569. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_datacite_metadata/dissertation.yml +152 -0
  570. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_datacite_metadata/funding_references.yml +175 -0
  571. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_datacite_metadata/subject_scheme.yml +328 -0
  572. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_date/publication_date.yml +221 -0
  573. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_date_from_date_parts/date.yml +221 -0
  574. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_date_from_date_parts/year-month.yml +221 -0
  575. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_date_from_date_parts/year.yml +221 -0
  576. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_date_from_parts/date.yml +221 -0
  577. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_date_from_parts/year-month.yml +221 -0
  578. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_date_from_parts/year.yml +221 -0
  579. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_date_parts/date.yml +221 -0
  580. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_date_parts/year-month.yml +221 -0
  581. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_date_parts/year.yml +221 -0
  582. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_datetime_from_time/future.yml +221 -0
  583. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_datetime_from_time/invalid.yml +221 -0
  584. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_datetime_from_time/nil.yml +221 -0
  585. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_datetime_from_time/past.yml +221 -0
  586. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_datetime_from_time/present.yml +221 -0
  587. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_one_author/has_familyName.yml +133 -0
  588. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_one_author/has_name_in_display-order_with_ORCID.yml +153 -0
  589. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_one_author/name_with_affiliation_crossref.yml +247 -0
  590. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_one_author/only_familyName_and_givenName.yml +467 -0
  591. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_schema_org_metadata/BlogPosting.yml +530 -0
  592. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_schema_org_metadata/BlogPosting_with_new_DOI.yml +530 -0
  593. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_schema_org_metadata/get_schema_org_metadata_front_matter/BlogPosting.yml +534 -0
  594. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_schema_org_metadata/harvard_dataverse.yml +1838 -0
  595. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_schema_org_metadata/pangaea.yml +467 -0
  596. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_schema_org_metadata/upstream_blog.yml +885 -0
  597. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_schema_org_metadata/zenodo.yml +583 -0
  598. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_series_information/only_title.yml +221 -0
  599. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_series_information/title_and_pages.yml +221 -0
  600. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_series_information/title_volume_and_pages.yml +221 -0
  601. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_series_information/title_volume_issue_and_pages.yml +221 -0
  602. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/github/github_as_cff_url.yml +221 -0
  603. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/github/github_as_codemeta_url.yml +221 -0
  604. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/github/github_from_url.yml +221 -0
  605. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/github/github_from_url_cff_file.yml +221 -0
  606. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/github/github_from_url_file.yml +221 -0
  607. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/handle_input/DOI_RA_not_Crossref_or_DataCite.yml +55 -0
  608. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/handle_input/unknown_DOI_prefix.yml +55 -0
  609. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/json_schema_errors/is_valid.yml +221 -0
  610. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_cc_url/not_found.yml +221 -0
  611. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_cc_url/with_trailing_slash.yml +221 -0
  612. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_cc_url/with_trailing_slash_and_to_https.yml +221 -0
  613. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_id/doi.yml +221 -0
  614. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_id/doi_as_url.yml +221 -0
  615. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_id/filename.yml +221 -0
  616. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_id/ftp.yml +221 -0
  617. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_id/invalid_url.yml +221 -0
  618. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_id/sandbox_via_options.yml +221 -0
  619. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_id/sandbox_via_url.yml +221 -0
  620. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_id/string.yml +221 -0
  621. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_id/url.yml +221 -0
  622. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_id/url_with_utf-8.yml +221 -0
  623. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_issn/from_array.yml +221 -0
  624. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_issn/from_empty_array.yml +221 -0
  625. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_issn/from_hash.yml +221 -0
  626. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_issn/from_string.yml +221 -0
  627. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_url/uri.yml +221 -0
  628. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_url/with_trailing_slash.yml +221 -0
  629. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_url/with_trailing_slash_and_to_https.yml +221 -0
  630. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/parse_attributes/array.yml +221 -0
  631. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/parse_attributes/array_of_strings.yml +221 -0
  632. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/parse_attributes/first.yml +221 -0
  633. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/parse_attributes/hash.yml +221 -0
  634. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/parse_attributes/hash_with_array_value.yml +221 -0
  635. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/parse_attributes/nil.yml +221 -0
  636. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/parse_attributes/string.yml +221 -0
  637. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/random_doi/decode_anothe_doi.yml +221 -0
  638. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/random_doi/decode_doi.yml +221 -0
  639. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/random_doi/encode_doi.yml +221 -0
  640. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/sanitize/onlies_keep_specific_tags.yml +221 -0
  641. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/sanitize/removes_a_tags.yml +221 -0
  642. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/spdx/hsh_to_spdx_id.yml +221 -0
  643. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/spdx/hsh_to_spdx_not_found.yml +221 -0
  644. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/spdx/hsh_to_spdx_url.yml +221 -0
  645. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/spdx/name_to_spdx_exists.yml +221 -0
  646. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/spdx/name_to_spdx_id.yml +221 -0
  647. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/to_schema_org/with_id.yml +221 -0
  648. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/to_schema_org_identifiers/with_identifiers.yml +221 -0
  649. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_orcid/validate_orcid.yml +221 -0
  650. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_orcid/validate_orcid_https.yml +221 -0
  651. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_orcid/validate_orcid_id.yml +221 -0
  652. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_orcid/validate_orcid_sandbox.yml +221 -0
  653. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_orcid/validate_orcid_sandbox_https.yml +221 -0
  654. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_orcid/validate_orcid_with_spaces.yml +221 -0
  655. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_orcid/validate_orcid_wrong_id.yml +221 -0
  656. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_orcid/validate_orcid_www.yml +221 -0
  657. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_orcid_scheme/validate_orcid_scheme.yml +221 -0
  658. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_orcid_scheme/validate_orcid_scheme_https.yml +221 -0
  659. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_orcid_scheme/validate_orcid_scheme_trailing_slash.yml +221 -0
  660. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_orcid_scheme/validate_orcid_scheme_www.yml +221 -0
  661. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_url/DOI.yml +221 -0
  662. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_url/ISSN.yml +221 -0
  663. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_url/URL.yml +221 -0
  664. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_url/string.yml +221 -0
  665. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_bibtex/BlogPosting.yml +81 -0
  666. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_bibtex/Dataset.yml +120 -0
  667. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_bibtex/authors_with_affiliations.yml +186 -0
  668. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_bibtex/climate_data.yml +74 -0
  669. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_bibtex/from_schema_org.yml +530 -0
  670. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_bibtex/keywords_subject_scheme.yml +149 -0
  671. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_bibtex/maremma.yml +86 -0
  672. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_bibtex/text.yml +100 -0
  673. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_bibtex/with_data_citation.yml +247 -0
  674. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_bibtex/with_pages.yml +228 -0
  675. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_cff/Collection_of_Jupyter_notebooks.yml +143 -0
  676. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_cff/SoftwareSourceCode_Zenodo.yml +150 -0
  677. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_cff/SoftwareSourceCode_also_Zenodo.yml +93 -0
  678. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_cff/ruby-cff.yml +154 -0
  679. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_citation/Dataset.yml +120 -0
  680. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_citation/Journal_article.yml +247 -0
  681. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_citation/Journal_article_vancouver_style.yml +299 -0
  682. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_citation/Missing_author.yml +199 -0
  683. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_citation/interactive_resource_without_dates.yml +75 -0
  684. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_citation/software_w/version.yml +86 -0
  685. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite.yml +76 -0
  686. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite_check_codemeta_v2.yml +76 -0
  687. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/another_schema_org_from_front-matter.yml +541 -0
  688. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/journal_article.yml +55 -0
  689. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/journal_article_from_datacite.yml +85 -0
  690. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/posted_content.yml +283 -0
  691. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/schema_org_from_another_science_blog.yml +123 -0
  692. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/schema_org_from_front_matter.yml +477 -0
  693. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/schema_org_from_upstream_blog.yml +1025 -0
  694. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/Another_dataset.yml +110 -0
  695. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/BlogPosting.yml +81 -0
  696. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/BlogPosting_schema_org.yml +530 -0
  697. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/Dataset.yml +120 -0
  698. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/container_title.yml +153 -0
  699. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/interactive_resource_without_dates.yml +75 -0
  700. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/journal_article.yml +247 -0
  701. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/keywords_subject_scheme.yml +149 -0
  702. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/maremma.yml +86 -0
  703. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/missing_creator.yml +199 -0
  704. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/multiple_abstracts.yml +101 -0
  705. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/organization_author.yml +314 -0
  706. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/software.yml +90 -0
  707. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/software_w/version.yml +86 -0
  708. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/with_only_first_page.yml +333 -0
  709. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/with_pages.yml +228 -0
  710. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csv/climate_data.yml +74 -0
  711. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csv/maremma.yml +86 -0
  712. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csv/text.yml +100 -0
  713. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csv/with_data_citation.yml +247 -0
  714. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csv/with_pages.yml +228 -0
  715. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_datacite/dissertation.yml +218 -0
  716. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_datacite/from_schema_org.yml +530 -0
  717. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_datacite/journal_article.yml +407 -0
  718. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_datacite/maremma.yml +86 -0
  719. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_datacite/with_ORCID_ID.yml +228 -0
  720. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_datacite/with_data_citation.yml +247 -0
  721. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_jats_xml/Dataset_in_schema_4_0.yml +120 -0
  722. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_jats_xml/Text_pass-thru.yml +106 -0
  723. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_jats_xml/book_chapter.yml +163 -0
  724. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_jats_xml/from_schema_org.yml +530 -0
  725. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_jats_xml/interactive_resource_without_dates.yml +75 -0
  726. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_jats_xml/maremma.yml +86 -0
  727. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_jats_xml/with_ORCID_ID.yml +228 -0
  728. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_jats_xml/with_data_citation.yml +247 -0
  729. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_jats_xml/with_editor.yml +355 -0
  730. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_rdf_xml/BlogPosting.yml +81 -0
  731. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_rdf_xml/BlogPosting_schema_org.yml +530 -0
  732. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_rdf_xml/journal_article.yml +247 -0
  733. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_rdf_xml/maremma.yml +86 -0
  734. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_rdf_xml/with_pages.yml +228 -0
  735. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_ris/BlogPosting.yml +81 -0
  736. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_ris/BlogPosting_schema_org.yml +530 -0
  737. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_ris/Dataset.yml +120 -0
  738. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_ris/alternate_name.yml +138 -0
  739. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_ris/journal_article.yml +115 -0
  740. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_ris/keywords_with_subject_scheme.yml +149 -0
  741. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_ris/maremma.yml +86 -0
  742. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_ris/with_pages.yml +112 -0
  743. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/Another_Schema_org_JSON.yml +120 -0
  744. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/Funding.yml +192 -0
  745. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/Funding_OpenAIRE.yml +150 -0
  746. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/Schema_org_JSON.yml +98 -0
  747. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/Schema_org_JSON_Cyark.yml +160 -0
  748. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/Schema_org_JSON_IsSupplementTo.yml +153 -0
  749. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/alternate_identifiers.yml +131 -0
  750. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/data_catalog.yml +136 -0
  751. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/geo_location_box.yml +181 -0
  752. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/interactive_resource_without_dates.yml +127 -0
  753. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/journal_article.yml +247 -0
  754. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/maremma_schema_org_JSON.yml +86 -0
  755. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/series_information.yml +174 -0
  756. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/subject_scheme.yml +199 -0
  757. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/subject_scheme_multiple_keywords.yml +201 -0
  758. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_turtle/BlogPosting.yml +81 -0
  759. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_turtle/BlogPosting_schema_org.yml +530 -0
  760. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_turtle/Dataset.yml +120 -0
  761. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_turtle/journal_article.yml +247 -0
  762. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_turtle/with_pages.yml +228 -0
  763. data/spec/fixtures/vivli.xml +17 -0
  764. data/spec/metadata_spec.rb +147 -0
  765. data/spec/readers/bibtex_reader_spec.rb +58 -0
  766. data/spec/readers/cff_reader_spec.rb +148 -0
  767. data/spec/readers/codemeta_reader_spec.rb +116 -0
  768. data/spec/readers/crossref_reader_spec.rb +919 -0
  769. data/spec/readers/crossref_xml_reader_spec.rb +948 -0
  770. data/spec/readers/csl_reader_spec.rb +61 -0
  771. data/spec/readers/datacite_reader_spec.rb +156 -0
  772. data/spec/readers/npm_reader_spec.rb +69 -0
  773. data/spec/readers/ris_reader_spec.rb +70 -0
  774. data/spec/readers/schema_org_reader_spec.rb +416 -0
  775. data/spec/schema_utils_spec.rb +16 -0
  776. data/spec/spec_helper.rb +96 -0
  777. data/spec/utils_spec.rb +631 -0
  778. data/spec/writers/bibtex_writer_spec.rb +160 -0
  779. data/spec/writers/cff_writer_spec.rb +118 -0
  780. data/spec/writers/citation_writer_spec.rb +51 -0
  781. data/spec/writers/codemeta_writer_spec.rb +47 -0
  782. data/spec/writers/crossref_xml_writer_spec.rb +173 -0
  783. data/spec/writers/csl_writer_spec.rb +291 -0
  784. data/spec/writers/csv_writer_spec.rb +82 -0
  785. data/spec/writers/datacite_writer_spec.rb +150 -0
  786. data/spec/writers/jats_writer_spec.rb +210 -0
  787. data/spec/writers/rdf_xml_writer_spec.rb +91 -0
  788. data/spec/writers/ris_writer_spec.rb +206 -0
  789. data/spec/writers/schema_org_writer_spec.rb +301 -0
  790. data/spec/writers/turtle_writer_spec.rb +85 -0
  791. metadata +1514 -0
@@ -0,0 +1,530 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://blog.front-matter.io/posts/eating-your-own-dog-food
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ Connection:
11
+ - close
12
+ Host:
13
+ - blog.front-matter.io
14
+ User-Agent:
15
+ - http.rb/5.1.1
16
+ response:
17
+ status:
18
+ code: 301
19
+ message: Moved Permanently
20
+ headers:
21
+ Connection:
22
+ - close
23
+ Content-Length:
24
+ - '0'
25
+ Server:
26
+ - openresty
27
+ Status:
28
+ - 301 Moved Permanently
29
+ X-Request-Id:
30
+ - 0250dd585615e3bd68fdc4f20fc0517f
31
+ - 0250dd585615e3bd68fdc4f20fc0517f
32
+ Location:
33
+ - "/posts/eating-your-own-dog-food/"
34
+ Ghost-Cache:
35
+ - MISS
36
+ Cache-Control:
37
+ - public, max-age=31536000
38
+ Ghost-Age:
39
+ - '0'
40
+ Accept-Ranges:
41
+ - bytes
42
+ Date:
43
+ - Sun, 19 Mar 2023 17:37:47 GMT
44
+ Via:
45
+ - 1.1 varnish
46
+ Age:
47
+ - '453118'
48
+ X-Served-By:
49
+ - cache-ams21075-AMS
50
+ X-Cache:
51
+ - HIT
52
+ X-Cache-Hits:
53
+ - '1'
54
+ X-Timer:
55
+ - S1679247467.461675,VS0,VE1
56
+ Vary:
57
+ - Cookie
58
+ Ghost-Fastly:
59
+ - 'true'
60
+ Alt-Svc:
61
+ - clear
62
+ body:
63
+ encoding: ASCII-8BIT
64
+ string: ''
65
+ recorded_at: Sun, 19 Mar 2023 17:37:47 GMT
66
+ - request:
67
+ method: get
68
+ uri: https://blog.front-matter.io/posts/eating-your-own-dog-food/
69
+ body:
70
+ encoding: UTF-8
71
+ string: ''
72
+ headers:
73
+ Connection:
74
+ - close
75
+ User-Agent:
76
+ - http.rb/5.1.1
77
+ Host:
78
+ - blog.front-matter.io
79
+ response:
80
+ status:
81
+ code: 200
82
+ message: OK
83
+ headers:
84
+ Connection:
85
+ - close
86
+ Content-Length:
87
+ - '36415'
88
+ Server:
89
+ - openresty
90
+ Content-Type:
91
+ - text/html; charset=utf-8
92
+ Status:
93
+ - 200 OK
94
+ X-Request-Id:
95
+ - 746ec0a98f0bfacbcba9e3f1bb1f54a2
96
+ - bcd5cedc92ee9e415619da28b6746be2
97
+ Etag:
98
+ - W/"8e3f-bQQ4ZnKSMLdEhx6qBPNeBCp6abk"
99
+ Ghost-Cache:
100
+ - HIT
101
+ Cache-Control:
102
+ - public, max-age=0
103
+ Ghost-Age:
104
+ - '58924'
105
+ Accept-Ranges:
106
+ - bytes
107
+ Date:
108
+ - Sun, 19 Mar 2023 17:37:47 GMT
109
+ Via:
110
+ - 1.1 varnish
111
+ Age:
112
+ - '271921'
113
+ X-Served-By:
114
+ - cache-ams21050-AMS
115
+ X-Cache:
116
+ - HIT
117
+ X-Cache-Hits:
118
+ - '2'
119
+ X-Timer:
120
+ - S1679247468.589026,VS0,VE0
121
+ Vary:
122
+ - Cookie, Accept-Encoding
123
+ Ghost-Fastly:
124
+ - 'true'
125
+ Alt-Svc:
126
+ - clear
127
+ body:
128
+ encoding: UTF-8
129
+ string: "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n <meta charset=\"utf-8\">\n
130
+ \ <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n
131
+ \ <title>Eating your own Dog Food</title>\n <link rel=\"stylesheet\"
132
+ href=\"https://blog.front-matter.io/assets/built/screen.css?v=1ff70c2f6a\">\n\n
133
+ \ <meta name=\"citation_doi\" content=\"https://doi.org/10.53731/r79vxn1-97aq74v-ag58n\">\n
134
+ \ <meta name=\"citation_title\" content=\"Eating your own Dog Food\">\n
135
+ \ <meta name=\"citation_abstract\" content=\"Eating your own dog food is
136
+ a slang term to describe that an organization should itself use the products
137
+ and services it provides. For DataCite this means that we should use DOIs
138
+ with appropriate metadata and strategies for long-term preservation for the
139
+ scholarly outputs we produce. For the most part\">\n <meta name=\"citation_author\"
140
+ content=\"Martin Fenner\">\n <meta name=\"citation_date\" content=\"2016-12-20\"/>\n
141
+ \ <meta name=\"citation_keywords\" content=\"Feature\"/>\n <meta name=\"citation_journal_title\"
142
+ content=\"Front Matter\"/>\n <meta name=\"citation_language\" content=\"en\">\n\n
143
+ \ <meta name=\"citation_issn\" content=\"2749-9952\">\n\n <meta name=\"dc.identifier\"
144
+ content=\"https://doi.org/10.53731/r79vxn1-97aq74v-ag58n\">\n <meta name=\"dc.creator\"
145
+ content=\"Martin Fenner\" />\n <meta name=\"dc.title\" content=\"Eating
146
+ your own Dog Food\" />\n <meta name=\"dc.description\" content=\"Eating
147
+ your own dog food is a slang term to describe that an organization should
148
+ itself use the products and services it provides. For DataCite this means
149
+ that we should use DOIs with appropriate metadata and strategies for long-term
150
+ preservation for the scholarly outputs we produce. For the most part\" />\n
151
+ \ <meta name=\"dc.date\" content=\"2016-12-20\" />\n <meta name=\"dc.subject\"
152
+ content=\"Feature\" />\n <meta name=\"dc.language\" content=\"en\" /> \n
153
+ \ <meta name=\"dc.format\" content=\"text/html\" /> \n <meta name=\"dc.source\"
154
+ content=\"Front Matter\" />\n <meta name=\"dc.type\" content=\"article\"
155
+ />\n \n <meta name=\"dc.rights\" content=\"https://creativecommons.org/licenses/by/4.0/legalcode\"
156
+ />\n\n <link rel=\"icon\" href=\"https://blog.front-matter.io/content/images/size/w256h256/2022/12/android-chrome-192x192.png\"
157
+ type=\"image/png\" />\n <link rel=\"canonical\" href=\"https://doi.org/10.53731/r79vxn1-97aq74v-ag58n\"
158
+ />\n <meta name=\"referrer\" content=\"no-referrer-when-downgrade\" />\n
159
+ \ <link rel=\"amphtml\" href=\"https://blog.front-matter.io/posts/eating-your-own-dog-food/amp/\"
160
+ />\n \n <meta property=\"og:site_name\" content=\"Front Matter\" />\n
161
+ \ <meta property=\"og:type\" content=\"article\" />\n <meta property=\"og:title\"
162
+ content=\"Eating your own Dog Food\" />\n <meta property=\"og:description\"
163
+ content=\"Eating your own dog food is a slang term to describe that an organization
164
+ should itself use the products and services it provides. For DataCite this
165
+ means that we should use DOIs with appropriate metadata and strategies for
166
+ long-term preservation for the scholarly outputs we produce. For the most
167
+ part\" />\n <meta property=\"og:url\" content=\"https://doi.org/10.53731/r79vxn1-97aq74v-ag58n\"
168
+ />\n <meta property=\"og:image\" content=\"https://blog.front-matter.io/content/images/2022/08/230785.jpeg\"
169
+ />\n <meta property=\"article:published_time\" content=\"2016-12-20T00:00:00.000Z\"
170
+ />\n <meta property=\"article:modified_time\" content=\"2022-08-15T09:06:22.000Z\"
171
+ />\n <meta property=\"article:tag\" content=\"Feature\" />\n \n <meta
172
+ name=\"twitter:card\" content=\"summary_large_image\" />\n <meta name=\"twitter:title\"
173
+ content=\"Eating your own Dog Food\" />\n <meta name=\"twitter:description\"
174
+ content=\"Eating your own dog food is a slang term to describe that an organization
175
+ should itself use the products and services it provides. For DataCite this
176
+ means that we should use DOIs with appropriate metadata and strategies for
177
+ long-term preservation for the scholarly outputs we produce. For the most
178
+ part\" />\n <meta name=\"twitter:url\" content=\"https://doi.org/10.53731/r79vxn1-97aq74v-ag58n\"
179
+ />\n <meta name=\"twitter:image\" content=\"https://blog.front-matter.io/content/images/2022/08/230785.jpeg\"
180
+ />\n <meta name=\"twitter:label1\" content=\"Written by\" />\n <meta
181
+ name=\"twitter:data1\" content=\"Martin Fenner\" />\n <meta name=\"twitter:label2\"
182
+ content=\"Filed under\" />\n <meta name=\"twitter:data2\" content=\"Feature\"
183
+ />\n <meta property=\"og:image:width\" content=\"2000\" />\n <meta property=\"og:image:height\"
184
+ content=\"1372\" />\n \n <script type=\"application/ld+json\">\n{\n
185
+ \ \"@context\": \"https://schema.org\",\n \"@type\": \"Article\",\n \"publisher\":
186
+ {\n \"@type\": \"Organization\",\n \"name\": \"Front Matter\",\n
187
+ \ \"url\": \"https://blog.front-matter.io/\",\n \"logo\": {\n
188
+ \ \"@type\": \"ImageObject\",\n \"url\": \"https://blog.front-matter.io/content/images/2022/12/logo.png\",\n
189
+ \ \"width\": 200,\n \"height\": 31\n }\n },\n
190
+ \ \"author\": {\n \"@type\": \"Person\",\n \"name\": \"Martin
191
+ Fenner\",\n \"image\": {\n \"@type\": \"ImageObject\",\n
192
+ \ \"url\": \"https://www.gravatar.com/avatar/8adea77ad740876f5cb832f92d49f08d?s=250&r=x&d=mp\",\n
193
+ \ \"width\": 250,\n \"height\": 250\n },\n \"url\":
194
+ \"https://blog.front-matter.io/author/martin/\",\n \"sameAs\": [\n
195
+ \ \"https://orcid.org/0000-0003-1419-2405\"\n ]\n },\n
196
+ \ \"headline\": \"Eating your own Dog Food\",\n \"url\": \"https://blog.front-matter.io/posts/eating-your-own-dog-food/\",\n
197
+ \ \"datePublished\": \"2016-12-20T00:00:00.000Z\",\n \"dateModified\":
198
+ \"2022-08-15T09:06:22.000Z\",\n \"image\": {\n \"@type\": \"ImageObject\",\n
199
+ \ \"url\": \"https://blog.front-matter.io/content/images/2022/08/230785.jpeg\",\n
200
+ \ \"width\": 2000,\n \"height\": 1372\n },\n \"keywords\":
201
+ \"Feature\",\n \"description\": \"Eating your own dog food is a slang term
202
+ to describe that an organization should itself use the products and services
203
+ it provides. For DataCite this means that we should use DOIs with appropriate
204
+ metadata and strategies for long-term preservation for the scholarly outputs
205
+ we produce. For the most part this is not research data, but rather technical
206
+ documents such as the DataCite Schema and its documentation (2016).\\n\\nThese
207
+ outputs also include the posts on this blog, where we discuss topics relev\",\n
208
+ \ \"mainEntityOfPage\": {\n \"@type\": \"WebPage\",\n \"@id\":
209
+ \"https://blog.front-matter.io/\"\n }\n}\n </script>\n\n <meta name=\"generator\"
210
+ content=\"Ghost 5.38\" />\n <link rel=\"alternate\" type=\"application/rss+xml\"
211
+ title=\"Front Matter\" href=\"https://blog.front-matter.io/rss/\" />\n <script
212
+ defer src=\"https://cdn.jsdelivr.net/ghost/portal@~2.25/umd/portal.min.js\"
213
+ data-ghost=\"https://blog.front-matter.io/\" data-key=\"d0d5aabcc0f96718307d5944b6\"
214
+ data-api=\"https://front-matter.ghost.io/ghost/api/content/\" crossorigin=\"anonymous\"></script><style
215
+ id=\"gh-members-styles\">.gh-post-upgrade-cta-content,\n.gh-post-upgrade-cta
216
+ {\n display: flex;\n flex-direction: column;\n align-items: center;\n
217
+ \ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen,
218
+ Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;\n text-align:
219
+ center;\n width: 100%;\n color: #ffffff;\n font-size: 16px;\n}\n\n.gh-post-upgrade-cta-content
220
+ {\n border-radius: 8px;\n padding: 40px 4vw;\n}\n\n.gh-post-upgrade-cta
221
+ h2 {\n color: #ffffff;\n font-size: 28px;\n letter-spacing: -0.2px;\n
222
+ \ margin: 0;\n padding: 0;\n}\n\n.gh-post-upgrade-cta p {\n margin:
223
+ 20px 0 0;\n padding: 0;\n}\n\n.gh-post-upgrade-cta small {\n font-size:
224
+ 16px;\n letter-spacing: -0.2px;\n}\n\n.gh-post-upgrade-cta a {\n color:
225
+ #ffffff;\n cursor: pointer;\n font-weight: 500;\n box-shadow: none;\n
226
+ \ text-decoration: underline;\n}\n\n.gh-post-upgrade-cta a:hover {\n color:
227
+ #ffffff;\n opacity: 0.8;\n box-shadow: none;\n text-decoration: underline;\n}\n\n.gh-post-upgrade-cta
228
+ a.gh-btn {\n display: block;\n background: #ffffff;\n text-decoration:
229
+ none;\n margin: 28px 0 0;\n padding: 8px 18px;\n border-radius: 4px;\n
230
+ \ font-size: 16px;\n font-weight: 600;\n}\n\n.gh-post-upgrade-cta a.gh-btn:hover
231
+ {\n opacity: 0.92;\n}</style><script async src=\"https://js.stripe.com/v3/\"></script>\n
232
+ \ <script defer src=\"https://cdn.jsdelivr.net/ghost/sodo-search@~1.1/umd/sodo-search.min.js\"
233
+ data-key=\"d0d5aabcc0f96718307d5944b6\" data-styles=\"https://cdn.jsdelivr.net/ghost/sodo-search@~1.1/umd/main.css\"
234
+ data-sodo-search=\"https://front-matter.ghost.io/\" crossorigin=\"anonymous\"></script>\n
235
+ \ <link href=\"https://blog.front-matter.io/webmentions/receive/\" rel=\"webmention\"
236
+ />\n <script defer src=\"/public/cards.min.js?v=1ff70c2f6a\"></script>\n
237
+ \ <link rel=\"stylesheet\" type=\"text/css\" href=\"/public/cards.min.css?v=1ff70c2f6a\">\n
238
+ \ <script defer src=\"/public/comment-counts.min.js?v=1ff70c2f6a\" data-ghost-comments-counts-api=\"https://blog.front-matter.io/members/api/comments/counts/\"></script>\n
239
+ \ <script defer data-domain=\"blog.front-matter.io\" src=\"https://plausible.io/js/plausible.js\"></script><style>:root
240
+ {--ghost-accent-color: #059669;}</style>\n</head>\n\n<body class=\"post-template
241
+ tag-feature is-head-stacked has-serif-body\">\n<div class=\"gh-site\">\n\n
242
+ \ <header id=\"gh-head\" class=\"gh-head gh-outer\">\n <div class=\"gh-head-inner
243
+ gh-inner\">\n <div class=\"gh-head-brand\">\n <div
244
+ class=\"gh-head-brand-wrapper\">\n <a class=\"gh-head-logo\"
245
+ href=\"https://blog.front-matter.io\">\n <img src=\"https://blog.front-matter.io/content/images/2022/12/logo.png\"
246
+ alt=\"Front Matter\">\n </a>\n </div>\n
247
+ \ <button class=\"gh-search gh-icon-btn\" data-ghost-search><svg
248
+ xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"
249
+ stroke-width=\"2\" width=\"20\" height=\"20\"><path stroke-linecap=\"round\"
250
+ stroke-linejoin=\"round\" d=\"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z\"></path></svg></button>\n
251
+ \ <button class=\"gh-burger\"></button>\n </div>\n\n
252
+ \ <nav class=\"gh-head-menu\">\n <ul class=\"nav\">\n
253
+ \ <li class=\"nav-feature\"><a href=\"https://blog.front-matter.io/tag/feature/\">Feature</a></li>\n
254
+ \ <li class=\"nav-news\"><a href=\"https://blog.front-matter.io/tag/news/\">News</a></li>\n
255
+ \ <li class=\"nav-meeting-report\"><a href=\"https://blog.front-matter.io/tag/meeting-report/\">Meeting
256
+ Report</a></li>\n <li class=\"nav-interview\"><a href=\"https://blog.front-matter.io/tag/interview/\">Interview</a></li>\n
257
+ \ <li class=\"nav-chart\"><a href=\"https://blog.front-matter.io/tag/chart/\">Chart</a></li>\n
258
+ \ <li class=\"nav-science-hack\"><a href=\"https://blog.front-matter.io/tag/science-hack/\">Science
259
+ Hack</a></li>\n <li class=\"nav-book-review\"><a href=\"https://blog.front-matter.io/tag/book-review/\">Book
260
+ Review</a></li>\n <li class=\"nav-gazette\"><a href=\"https://blog.front-matter.io/tag/gazette/\">Gazette</a></li>\n</ul>\n\n
261
+ \ </nav>\n\n <div class=\"gh-head-actions\">\n <button
262
+ class=\"gh-search gh-icon-btn\" data-ghost-search><svg xmlns=\"http://www.w3.org/2000/svg\"
263
+ fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"
264
+ width=\"20\" height=\"20\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\"
265
+ d=\"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z\"></path></svg></button>\n
266
+ \ <div class=\"gh-head-members\">\n <a
267
+ class=\"gh-head-link\" href=\"#/portal/signin\" data-portal=\"signin\">Sign
268
+ in</a>\n <a class=\"gh-head-btn gh-btn gh-primary-btn\"
269
+ href=\"#/portal/signup\" data-portal=\"signup\">Subscribe</a>\n </div>\n
270
+ \ </div>\n </div>\n </header>\n\n \n<main class=\"gh-main\">\n
271
+ \ <article class=\"gh-article post tag-feature\">\n\n <header
272
+ class=\"gh-article-header gh-canvas\">\n <a class=\"gh-article-tag\"
273
+ href=\"https://blog.front-matter.io/tag/feature/\">Feature</a>\n\n <h1
274
+ class=\"gh-article-title\">Eating your own Dog Food</h1>\n\n <aside
275
+ class=\"gh-article-sidebar\">\n\n <div class=\"gh-author-image-list\">\n
276
+ \ <a class=\"gh-author-image\" href=\"/author/martin/\">\n <img
277
+ src=\"https://www.gravatar.com/avatar/8adea77ad740876f5cb832f92d49f08d?s&#x3D;250&amp;r&#x3D;x&amp;d&#x3D;mp\"
278
+ alt=\"Martin Fenner\">\n </a>\n </div>\n\n <div
279
+ class=\"gh-author-name-list\">\n <h4 class=\"gh-author-name\">\n
280
+ \ <a href=\"/author/martin/\">Martin Fenner</a>\n </h4>\n
281
+ \ \n </div>\n\n <div class=\"gh-article-meta\">\n
282
+ \ <div class=\"gh-article-meta-inner\">\n <time class=\"gh-article-date\"
283
+ datetime=\"2016-12-20\">Dec 20, 2016</time>\n <span class=\"gh-article-meta-sep\"></span>\n
284
+ \ <span class=\"gh-article-length\">4 min</span>\n </div>\n
285
+ \ <a class=\"gh-card-link\" href=\"https://doi.org/10.53731/r79vxn1-97aq74v-ag58n\">https://doi.org/10.53731/r79vxn1-97aq74v-ag58n</a>\n
286
+ \ </div>\n\n </aside>\n\n\n <figure class=\"gh-article-image\">\n
287
+ \ <img\n srcset=\"/content/images/size/w300/2022/08/230785.jpeg
288
+ 300w,\n /content/images/size/w720/2022/08/230785.jpeg 720w,\n
289
+ \ /content/images/size/w960/2022/08/230785.jpeg 960w,\n
290
+ \ /content/images/size/w1200/2022/08/230785.jpeg 1200w,\n
291
+ \ /content/images/size/w2000/2022/08/230785.jpeg 2000w\"\n
292
+ \ sizes=\"(max-width: 1200px) 100vw, 1200px\"\n src=\"/content/images/size/w1200/2022/08/230785.jpeg\"\n
293
+ \ alt=\"Eating your own Dog Food\"\n >\n <figcaption>Photo
294
+ by <a href=\"https://www.pexels.com/photo/black-and-tan-yorkshire-terrier-puppy-230785/\">Bill
295
+ Emrich</a>. <a href=\"https://creativecommons.org/publicdomain/zero/1.0/\">CC
296
+ Zero</a>.</figcaption>\n </figure>\n </header>\n\n <section
297
+ class=\"gh-content gh-canvas\">\n <p><a href=\"https://newrepublic.com/article/115349/dogfooding-tech-slang-working-out-glitches\">Eating
298
+ your own dog food</a> is a slang term to describe that an organization should
299
+ itself use the products and services it provides. For DataCite this means
300
+ that we should use DOIs with appropriate metadata and strategies for long-term
301
+ preservation for the scholarly outputs we produce. For the most part this
302
+ is not research data, but rather technical documents such as the DataCite
303
+ Schema and its documentation (<a href=\"https://blog.datacite.org/eating-your-own-dog-food/#ref-https://doi.org/10.5438/0012\">2016</a>).</p><p>These
304
+ outputs also include the posts on this blog, where we discuss topics relevant
305
+ for the DataCite community, but also of broader interest to anyone who cares
306
+ about research data, persistent identifiers, and scholarly infrastructure.
307
+ And starting today all blog posts on this blog will have a DOI, metadata and
308
+ use a persistent storage mechanism.</p><h3 id=\"technical-implementation\">Technical
309
+ Implementation</h3><p>This blog is powered by the static site generator <a
310
+ href=\"https://middlemanapp.com/\">Middleman</a>, with blog posts written
311
+ in <a href=\"http://commonmark.org/\">Markdown</a> and converted to HTML using
312
+ <a href=\"http://pandoc.org/\">Pandoc</a> and the <a href=\"https://travis-ci.org/\">Travis
313
+ CI</a> continuous integration service. Static site generator means that there
314
+ is no database or application server powering the site, making website adminstration
315
+ simpler, cheaper and safer. In addition to the blog, the <a href=\"https://www.datacite.org/\">DataCite
316
+ homepage</a> and <a href=\"https://schema.datacite.org/\">Metadata Schema
317
+ subsite</a> are also generated using Middleman.</p><p>The simplicity is particularly
318
+ important here, as registering the DOIs and metadata can be accomplished using
319
+ a command line utility written by DataCite staff that doesn't need to know
320
+ much about the internals of Middleman, and thus can be easily adapted to other
321
+ static site generators such as <a href=\"http://jekyllrb.com/\">Jekyll</a>,
322
+ <a href=\"http://gohugo.io/\">Hugo</a> or <a href=\"https://hexo.io/\">Hexo</a>.
323
+ The command line utility is <a href=\"https://github.com/datacite/cirneco\">Cirneco</a>,
324
+ generating the metadata XML according to the DataCite Metadata Schema, and
325
+ registering DOI and metadata with the DataCite MDS. Like all tools mentioned
326
+ in this post Cirneco is open source software, please reach out to us if you
327
+ are interested in implementing similar functionality for your blog.</p><h3
328
+ id=\"generating-dois\">Generating DOIs</h3><p>The DOIs for this blog are generated
329
+ automatically, using a modified base32 encoding algorithm that is provided
330
+ by Cirneco, as discussed last week (Fenner, <a href=\"https://blog.datacite.org/eating-your-own-dog-food/#ref-https://doi.org/10.5438/55E5-T5C0\">2016</a>).
331
+ The DOI is generated and minted when a new post is pushed to <a href=\"https://blog.datacite.org/\">https://blog.datacite.org</a>.
332
+ This avoids two problems: a) DOI-like strings in the wild before publication
333
+ and b) the randomly generated DOI exists already (we can simply generate a
334
+ new one). All DOIs are short, without semantic infomation that might change
335
+ over time, and with a checksum to minimize transcription errors, for example
336
+ <strong><strong>https://doi.org/10.5438/XCBJ-G7ZY</strong></strong>. Going
337
+ forward we encourage users to link to the DataCite Blog using the DOI, as
338
+ these links will continue to work even if we ever move the blog to a different
339
+ location.</p><h3 id=\"generating-metadata\">Generating Metadata</h3><p>For
340
+ the generation of metadata, we need to strike a balance between simple author
341
+ provided metadata, but rich enough to aid discovery. We are doing this via
342
+ three mechanisms:</p><ul><li>metadata provided by the author</li><li>default
343
+ metadata for the blog</li><li>metadata automatically extracted from content</li></ul><p>The
344
+ metadata provided by the author are the typical metadata for blog posts, provided
345
+ via <a href=\"https://gohugo.io/content/front-matter/\">YAML front matter</a>
346
+ at the beginning of each post:</p><pre><code>---\nlayout: post\ntitle: Eating
347
+ your own Dog Food\nauthor: mfenner\ndate: 2016-12-19\ntags:\n- datacite\n-
348
+ doi\n- metadata\n---</code></pre><p>We can reuse all these metadata when generating
349
+ DataCite metadata, using the tags as <code>subjects</code>.</p><p>The default
350
+ metadata are metadata that always stay the same for the blog, such as <code>publisher</code>,
351
+ <code>HostingInstitution</code> and <code>rights</code>. We can store them
352
+ in a site-wide configuration file. We can also assume reasonable defaults
353
+ that can be overridden in the YAML front matter, e.g. <code>resourceType</code>
354
+ (we use <a href=\"https://schema.org/BlogPosting\">BlogPosting</a> with <code>resourceTypeGeneral</code>
355
+ Text) and <code>version</code>. We store more information about authors outside
356
+ the blog post, including <code>givenName</code>, <code>familyName</code> and
357
+ <code>nameIdentifier</code> (we now show the ORCID ID of every blog author
358
+ at the bottom of the post).</p><p>Finally, there are metadata that we can
359
+ automatically extract from the blog post, and we are currently doing this
360
+ for the <code>description</code> and <code>relatedIdentifier</code>. This
361
+ blog uses Pandoc and BibTex to generate the references section at the end,
362
+ and we can fetch this information and convert it into the format needed for
363
+ <code>relatedIdentifier</code>.</p><p>Taken together we can provide all metadata
364
+ that are <em>required</em> or <em>recommended</em> in the Metadata Schema
365
+ documentation (<a href=\"https://blog.datacite.org/eating-your-own-dog-food/#ref-https://doi.org/10.5438/0012\">2016</a>),
366
+ and we can do this without any extra effort for the author. The full XML is
367
+ avalailable <a href=\"https://data.crosscite.org/application/vnd.datacite.datacite+xml/10.5438/4K3M-NYVG\">here</a>.</p><p>Not
368
+ all blog posts need to be cited formally with metadata in a <em>references</em>
369
+ list formatted according to a specific citation style. But these metadata
370
+ greatly help with discovery, a search in DataCite Search for <a href=\"http://search.datacite.org/works?query=eating+dog+food\">eating
371
+ dog food</a> will for example bring up this blog post as the first hit.</p><h3
372
+ id=\"persistent-storage\">Persistent storage</h3><p>Using DOIs means that
373
+ readers not only expect rich metadata that help with citation and discovery,
374
+ but also that DataCite takes extra care to preserve the blog posts, thinking
375
+ beyond the particular technical implementation or even the contiuing existence
376
+ of this blog. This is an area where we do need to do more work, starting with
377
+ a decision about the best archival format for a blog post (HTML, PDF, <a href=\"https://jats.nlm.nih.gov/\">JATS</a>?).
378
+ For now blog posts are hosted in multiple Git repositories (<a href=\"https://github.com/datacite/blog\">one
379
+ of them on Github</a>), and in two independent Amazon S3 buckets that each
380
+ use <a href=\"http://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html\">versioning</a>.
381
+ Multiple locations with versioning are a good start, but more work is clearly
382
+ needed.</p><p><em>This blog post was <a href=\"https://doi.org/10.5438/4k3m-nyvg\">originally
383
+ published</a> on the DataCite Blog.</em></p><h2 id=\"references\">References</h2><p>DataCite
384
+ Metadata Working Group. (2016). DataCite metadata schema for the publication
385
+ and citation of research data v4.0. <em>DataCite</em>. <a href=\"https://doi.org/10.5438/0012\">https://doi.org/10.5438/0012</a></p><p>Fenner,
386
+ M. (2016). Cool doi’s. <em>DataCite</em>. <a href=\"https://doi.org/10.5438/55E5-T5C0\">https://doi.org/10.5438/55E5-T5C0</a></p>\n
387
+ \ <div class=\"gh-license\">\n Copyright
388
+ © 2016 Martin Fenner. Distributed under the terms of the\n <a\n
389
+ \ class=\"gh-license-link\"\n href=\"https://creativecommons.org/licenses/by/4.0/legalcode\"\n
390
+ \ >\n Creative Commons
391
+ Attribution 4.0 License.\n </a>\n </div>\n
392
+ \ </section> \n </section>\n\n </article>\n\n
393
+ \ <div class=\"gh-read-next gh-canvas\">\n <section
394
+ class=\"gh-pagehead\">\n <h4 class=\"gh-pagehead-title\">Read
395
+ next</h4>\n </section>\n\n <div class=\"gh-topic
396
+ gh-topic-grid\">\n <div class=\"gh-topic-content\">\n <article
397
+ class=\"gh-card post\">\n <a class=\"gh-card-link\" href=\"/posts/talking-about-talbot/\">\n
398
+ \ <figure class=\"gh-card-image\">\n <img\n srcset=\"/content/images/size/w300/2023/02/TalbotHound_Talbot_Shrewsbury_Book_1445.png
399
+ 300w,\n /content/images/size/w720/2023/02/TalbotHound_Talbot_Shrewsbury_Book_1445.png
400
+ 720w,\n /content/images/size/w960/2023/02/TalbotHound_Talbot_Shrewsbury_Book_1445.png
401
+ 960w,\n /content/images/size/w1200/2023/02/TalbotHound_Talbot_Shrewsbury_Book_1445.png
402
+ 1200w,\n /content/images/size/w2000/2023/02/TalbotHound_Talbot_Shrewsbury_Book_1445.png
403
+ 2000w\"\n sizes=\"(max-width: 1200px) 100vw, 1200px\"\n
404
+ \ src=\"/content/images/size/w720/2023/02/TalbotHound_Talbot_Shrewsbury_Book_1445.png\"\n
405
+ \ alt=\"A talbot hound\"\n >\n </figure>\n\n
406
+ \ <div class=\"gh-card-wrapper\">\n <header class=\"gh-card-header\">\n
407
+ \ <h3 class=\"gh-card-title\">Talking about Talbot</h3>\n </header>\n\n
408
+ \ <div class=\"gh-card-excerpt\">Talbot is a Python package
409
+ I started working on at the end of 2022 and plan to release to the Python
410
+ Package Index (PyPi) in March. Talbot converts scholarly metadata in various
411
+ formats, including Crossref, DataCite, Schema.org, BibTeX, RIS, and formatted
412
+ citations – the complete list of supported formats is</div>\n\n <footer
413
+ class=\"gh-card-footer\">\n <span class=\"gh-card-author\">Martin
414
+ Fenner</span>\n <time class=\"gh-card-date\" datetime=\"2023-02-13\">Feb
415
+ 13, 2023</time>\n <script\n data-ghost-comment-count=\"63ea6985b3d553003d317d11\"\n
416
+ \ data-ghost-comment-count-empty=\"\"\n data-ghost-comment-count-singular=\"comment\"\n
417
+ \ data-ghost-comment-count-plural=\"comments\"\n data-ghost-comment-count-tag=\"span\"\n
418
+ \ data-ghost-comment-count-class-name=\"gh-card-comments\"\n data-ghost-comment-count-autowrap=\"true\"\n>\n</script>\n
419
+ \ </footer>\n </div>\n </a>\n</article> <article
420
+ class=\"gh-card post\">\n <a class=\"gh-card-link\" href=\"/posts/guidelines-for-scholarly-blogs/\">\n
421
+ \ <figure class=\"gh-card-image\">\n <img\n srcset=\"https://images.unsplash.com/photo-1584631277142-0ca0cfc76aec?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;MnwxMTc3M3wwfDF8c2VhcmNofDZ8fGd1aWRlbGluZXxlbnwwfHx8fDE2NzU2ODM0NDc&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;300
422
+ 300w,\n https://images.unsplash.com/photo-1584631277142-0ca0cfc76aec?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;MnwxMTc3M3wwfDF8c2VhcmNofDZ8fGd1aWRlbGluZXxlbnwwfHx8fDE2NzU2ODM0NDc&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;720
423
+ 720w,\n https://images.unsplash.com/photo-1584631277142-0ca0cfc76aec?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;MnwxMTc3M3wwfDF8c2VhcmNofDZ8fGd1aWRlbGluZXxlbnwwfHx8fDE2NzU2ODM0NDc&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;960
424
+ 960w,\n https://images.unsplash.com/photo-1584631277142-0ca0cfc76aec?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;MnwxMTc3M3wwfDF8c2VhcmNofDZ8fGd1aWRlbGluZXxlbnwwfHx8fDE2NzU2ODM0NDc&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;1200
425
+ 1200w,\n https://images.unsplash.com/photo-1584631277142-0ca0cfc76aec?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;MnwxMTc3M3wwfDF8c2VhcmNofDZ8fGd1aWRlbGluZXxlbnwwfHx8fDE2NzU2ODM0NDc&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;2000
426
+ 2000w\"\n sizes=\"(max-width: 1200px) 100vw, 1200px\"\n
427
+ \ src=\"https://images.unsplash.com/photo-1584631277142-0ca0cfc76aec?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;MnwxMTc3M3wwfDF8c2VhcmNofDZ8fGd1aWRlbGluZXxlbnwwfHx8fDE2NzU2ODM0NDc&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;720\"\n
428
+ \ alt=\"Guidelines for Scholarly Blogs\"\n >\n
429
+ \ </figure>\n\n <div class=\"gh-card-wrapper\">\n <header
430
+ class=\"gh-card-header\">\n <h3 class=\"gh-card-title\">Guidelines
431
+ for Scholarly Blogs</h3>\n </header>\n\n <div
432
+ class=\"gh-card-excerpt\">These guidelines are recommendations for authors
433
+ of scholarly blogs to help with long-term archiving, discoverability, and
434
+ citation of blog content.\nThey are modeled after the publication A Data Citation
435
+ Roadmap for Scholarly Data Repositories, where many of the same guidelines
436
+ apply, and where I was the first author and co-chair</div>\n\n <footer
437
+ class=\"gh-card-footer\">\n <span class=\"gh-card-author\">Martin
438
+ Fenner</span>\n <time class=\"gh-card-date\" datetime=\"2023-02-06\">Feb
439
+ 6, 2023</time>\n <script\n data-ghost-comment-count=\"63e0dd6e35c7ab003d9cda81\"\n
440
+ \ data-ghost-comment-count-empty=\"\"\n data-ghost-comment-count-singular=\"comment\"\n
441
+ \ data-ghost-comment-count-plural=\"comments\"\n data-ghost-comment-count-tag=\"span\"\n
442
+ \ data-ghost-comment-count-class-name=\"gh-card-comments\"\n data-ghost-comment-count-autowrap=\"true\"\n>\n</script>\n
443
+ \ </footer>\n </div>\n </a>\n</article> <article
444
+ class=\"gh-card post\">\n <a class=\"gh-card-link\" href=\"/posts/need-to-fix-science-blogs/\">\n
445
+ \ <figure class=\"gh-card-image\">\n <img\n srcset=\"https://images.unsplash.com/photo-1585838017777-5003198884b5?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;MnwxMTc3M3wwfDF8c2VhcmNofDMyfHxicm9rZW58ZW58MHx8fHwxNjc0NjUyMTEy&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;300
446
+ 300w,\n https://images.unsplash.com/photo-1585838017777-5003198884b5?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;MnwxMTc3M3wwfDF8c2VhcmNofDMyfHxicm9rZW58ZW58MHx8fHwxNjc0NjUyMTEy&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;720
447
+ 720w,\n https://images.unsplash.com/photo-1585838017777-5003198884b5?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;MnwxMTc3M3wwfDF8c2VhcmNofDMyfHxicm9rZW58ZW58MHx8fHwxNjc0NjUyMTEy&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;960
448
+ 960w,\n https://images.unsplash.com/photo-1585838017777-5003198884b5?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;MnwxMTc3M3wwfDF8c2VhcmNofDMyfHxicm9rZW58ZW58MHx8fHwxNjc0NjUyMTEy&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;1200
449
+ 1200w,\n https://images.unsplash.com/photo-1585838017777-5003198884b5?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;MnwxMTc3M3wwfDF8c2VhcmNofDMyfHxicm9rZW58ZW58MHx8fHwxNjc0NjUyMTEy&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;2000
450
+ 2000w\"\n sizes=\"(max-width: 1200px) 100vw, 1200px\"\n
451
+ \ src=\"https://images.unsplash.com/photo-1585838017777-5003198884b5?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;MnwxMTc3M3wwfDF8c2VhcmNofDMyfHxicm9rZW58ZW58MHx8fHwxNjc0NjUyMTEy&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;720\"\n
452
+ \ alt=\"Do we need to fix science blogs?\"\n >\n
453
+ \ </figure>\n\n <div class=\"gh-card-wrapper\">\n <header
454
+ class=\"gh-card-header\">\n <h3 class=\"gh-card-title\">Do
455
+ we need to fix science blogs?</h3>\n </header>\n\n <div
456
+ class=\"gh-card-excerpt\">Science blogs have been around for at least 20 years
457
+ and have become an important part of science communication. So are there any
458
+ fundamental issues that need fixing?\n\n\nBarriers to Entry\n\nBlogging platforms
459
+ are mature at this point, and the technology is not imposing barriers to entry
460
+ for most people.</div>\n\n <footer class=\"gh-card-footer\">\n
461
+ \ <span class=\"gh-card-author\">Martin Fenner</span>\n <time
462
+ class=\"gh-card-date\" datetime=\"2023-01-25\">Jan 25, 2023</time>\n <script\n
463
+ \ data-ghost-comment-count=\"63c889b63b62db003dc5eb9c\"\n data-ghost-comment-count-empty=\"\"\n
464
+ \ data-ghost-comment-count-singular=\"comment\"\n data-ghost-comment-count-plural=\"comments\"\n
465
+ \ data-ghost-comment-count-tag=\"span\"\n data-ghost-comment-count-class-name=\"gh-card-comments\"\n
466
+ \ data-ghost-comment-count-autowrap=\"true\"\n>\n</script>\n </footer>\n
467
+ \ </div>\n </a>\n</article> </div>\n </div>\n
468
+ \ </div>\n\n <div class=\"gh-comments gh-read-next
469
+ gh-canvas\">\n <section class=\"gh-pagehead\">\n <h4
470
+ class=\"gh-pagehead-title\">Comments (<script\n data-ghost-comment-count=\"62d42bbd41e317003df48efd\"\n
471
+ \ data-ghost-comment-count-empty=\"0\"\n data-ghost-comment-count-singular=\"\"\n
472
+ \ data-ghost-comment-count-plural=\"\"\n data-ghost-comment-count-tag=\"span\"\n
473
+ \ data-ghost-comment-count-class-name=\"\"\n data-ghost-comment-count-autowrap=\"true\"\n>\n</script>)</h3>\n
474
+ \ </section>\n \n <script defer src=\"https://cdn.jsdelivr.net/ghost/comments-ui@~0.12/umd/comments-ui.min.js\"
475
+ data-ghost-comments=\"https://blog.front-matter.io/\" data-api=\"https://front-matter.ghost.io/ghost/api/content/\"
476
+ data-admin=\"https://front-matter.ghost.io/ghost/\" data-key=\"d0d5aabcc0f96718307d5944b6\"
477
+ data-styles=\"https://cdn.jsdelivr.net/ghost/comments-ui@~0.12/umd/main.css\"
478
+ data-title=\"\" data-count=\"false\" data-post-id=\"62d42bbd41e317003df48efd\"
479
+ data-sentry-dsn=\"\" data-color-scheme=\"auto\" data-avatar-saturation=\"60\"
480
+ data-accent-color=\"#059669\" data-app-version=\"0.12\" data-comments-enabled=\"all\"
481
+ data-publication=\"Front Matter\" crossorigin=\"anonymous\"></script>\n \n
482
+ \ </div>\n</main>\n\n <footer class=\"gh-foot gh-outer\">\n <div
483
+ class=\"gh-foot-inner gh-inner\">\n <section class=\"gh-subscribe\">\n
484
+ \ <h3 class=\"gh-subscribe-title\">Subscribe to Front Matter</h3>\n
485
+ \ <div class=\"gh-subscribe-description\">Subscribe
486
+ to the Front Matter Blog to automatically receive blog posts via email newsletter.</div>\n
487
+ \ <button class=\"gh-subscribe-btn gh-btn\" data-portal=\"signup\"><svg
488
+ width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\"
489
+ xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M3.33332 3.33334H16.6667C17.5833
490
+ 3.33334 18.3333 4.08334 18.3333 5.00001V15C18.3333 15.9167 17.5833 16.6667
491
+ 16.6667 16.6667H3.33332C2.41666 16.6667 1.66666 15.9167 1.66666 15V5.00001C1.66666
492
+ 4.08334 2.41666 3.33334 3.33332 3.33334Z\" stroke-width=\"1.5\" stroke-linecap=\"round\"
493
+ stroke-linejoin=\"round\"/>\n <path d=\"M18.3333 5L9.99999 10.8333L1.66666
494
+ 5\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>
495
+ Subscribe now</button>\n </section>\n\n <nav class=\"gh-foot-menu\">\n
496
+ \ <ul class=\"nav\">\n <li class=\"nav-front-matter\"><a
497
+ href=\"https://front-matter.io\">Front Matter</a></li>\n <li class=\"nav-about\"><a
498
+ href=\"https://blog.front-matter.io/about/\">About</a></li>\n <li class=\"nav-gazette\"><a
499
+ href=\"https://blog.front-matter.io/gazette/\">Gazette</a></li>\n <li class=\"nav-privacy-policy\"><a
500
+ href=\"https://blog.front-matter.io/privacy-policy/\">Privacy Policy</a></li>\n
501
+ \ <li class=\"nav-rss\"><a href=\"https://blog.front-matter.io/rss/\">RSS</a></li>\n
502
+ \ <li class=\"nav-usage-stats\"><a href=\"https://plausible.io/blog.front-matter.io\">Usage
503
+ Stats</a></li>\n <li class=\"nav-discord\"><a href=\"https://front-matter.io/discord\">Discord</a></li>\n</ul>\n\n
504
+ \ </nav>\n\n <div class=\"gh-copyright\">\n Front
505
+ Matter © 2023. Powered by <a href=\"https://ghost.org/\" target=\"_blank\"
506
+ rel=\"noopener\">Ghost</a>\n </div>\n </div>\n </footer>\n\n</div>\n\n
507
+ \ <div class=\"pswp\" tabindex=\"-1\" role=\"dialog\" aria-hidden=\"true\">\n
508
+ \ <div class=\"pswp__bg\"></div>\n\n <div class=\"pswp__scroll-wrap\">\n
509
+ \ <div class=\"pswp__container\">\n <div class=\"pswp__item\"></div>\n
510
+ \ <div class=\"pswp__item\"></div>\n <div class=\"pswp__item\"></div>\n
511
+ \ </div>\n\n <div class=\"pswp__ui pswp__ui--hidden\">\n <div
512
+ class=\"pswp__top-bar\">\n <div class=\"pswp__counter\"></div>\n\n
513
+ \ <button class=\"pswp__button pswp__button--close\" title=\"Close
514
+ (Esc)\"></button>\n <button class=\"pswp__button pswp__button--share\"
515
+ title=\"Share\"></button>\n <button class=\"pswp__button pswp__button--fs\"
516
+ title=\"Toggle fullscreen\"></button>\n <button class=\"pswp__button
517
+ pswp__button--zoom\" title=\"Zoom in/out\"></button>\n\n <div
518
+ class=\"pswp__preloader\">\n <div class=\"pswp__preloader__icn\">\n
519
+ \ <div class=\"pswp__preloader__cut\">\n <div
520
+ class=\"pswp__preloader__donut\"></div>\n </div>\n
521
+ \ </div>\n </div>\n </div>\n\n
522
+ \ <div class=\"pswp__share-modal pswp__share-modal--hidden pswp__single-tap\">\n
523
+ \ <div class=\"pswp__share-tooltip\"></div>\n </div>\n\n
524
+ \ <button class=\"pswp__button pswp__button--arrow--left\" title=\"Previous
525
+ (arrow left)\"></button>\n <button class=\"pswp__button pswp__button--arrow--right\"
526
+ title=\"Next (arrow right)\"></button>\n\n <div class=\"pswp__caption\">\n
527
+ \ <div class=\"pswp__caption__center\"></div>\n </div>\n
528
+ \ </div>\n </div>\n</div>\n<script src=\"https://blog.front-matter.io/assets/built/main.min.js?v=1ff70c2f6a\"></script>\n\n\n\n</body>\n\n</html>\n"
529
+ recorded_at: Sun, 19 Mar 2023 17:37:47 GMT
530
+ recorded_with: VCR 6.1.0