bolognese 0.9.8 → 0.9.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (322) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +16 -16
  3. data/README.md +9 -0
  4. data/lib/bolognese.rb +0 -8
  5. data/lib/bolognese/array.rb +2 -2
  6. data/lib/bolognese/author_utils.rb +18 -6
  7. data/lib/bolognese/cli.rb +2 -17
  8. data/lib/bolognese/datacite_utils.rb +8 -7
  9. data/lib/bolognese/metadata.rb +291 -178
  10. data/lib/bolognese/readers/bibtex_reader.rb +66 -0
  11. data/lib/bolognese/readers/citeproc_reader.rb +74 -0
  12. data/lib/bolognese/readers/codemeta_reader.rb +71 -0
  13. data/lib/bolognese/readers/crosscite_reader.rb +12 -0
  14. data/lib/bolognese/readers/crossref_reader.rb +209 -0
  15. data/lib/bolognese/readers/datacite_json_reader.rb +75 -0
  16. data/lib/bolognese/readers/datacite_reader.rb +181 -0
  17. data/lib/bolognese/readers/ris_reader.rb +84 -0
  18. data/lib/bolognese/readers/schema_org_reader.rb +119 -0
  19. data/lib/bolognese/utils.rb +42 -67
  20. data/lib/bolognese/version.rb +1 -1
  21. data/lib/bolognese/writers/bibtex_writer.rb +25 -0
  22. data/lib/bolognese/writers/citeproc_writer.rb +29 -0
  23. data/lib/bolognese/writers/codemeta_writer.rb +25 -0
  24. data/lib/bolognese/writers/crosscite_writer.rb +49 -0
  25. data/lib/bolognese/writers/crossref_writer.rb +9 -0
  26. data/lib/bolognese/writers/datacite_json_writer.rb +45 -0
  27. data/lib/bolognese/writers/datacite_writer.rb +10 -0
  28. data/lib/bolognese/writers/rdf_xml_writer.rb +9 -0
  29. data/lib/bolognese/writers/ris_writer.rb +26 -0
  30. data/lib/bolognese/writers/schema_org_writer.rb +45 -0
  31. data/lib/bolognese/writers/turtle_writer.rb +9 -0
  32. data/spec/author_utils_spec.rb +74 -34
  33. data/spec/cli_spec.rb +6 -6
  34. data/spec/datacite_utils_spec.rb +10 -11
  35. data/spec/doi_utils_spec.rb +2 -1
  36. data/spec/fixtures/crossref.ris +2 -1
  37. data/spec/fixtures/datacite.json +6 -9
  38. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/default.yml +9 -7
  39. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_bibtex.yml +9 -7
  40. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_crossref.yml +6 -6
  41. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_datacite.yml +6 -6
  42. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_schema_org.yml +8 -6
  43. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/default.yml +10 -6
  44. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_bibtex.yml +8 -6
  45. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_datacite.yml +11 -7
  46. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_datacite_json.yml +10 -6
  47. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_schema_org.yml +10 -6
  48. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/default.yml +201 -200
  49. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_bibtex.yml +201 -200
  50. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_datacite.yml +201 -200
  51. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_schema_org.yml +201 -200
  52. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/is_personal_name_/has_type_organization.yml → Bolognese_Metadata/authors_as_string/author.yml} +61 -2
  53. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/authors_as_string/single_author.yml → Bolognese_Metadata/authors_as_string/no_author.yml} +60 -3
  54. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/single_author.yml +203 -0
  55. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/with_organization.yml +203 -0
  56. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/doi.yml +203 -0
  57. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/not_a_doi.yml +203 -0
  58. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/url.yml +203 -0
  59. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/crossref.yml +204 -6
  60. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/datacite.yml +204 -4
  61. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/medra.yml +204 -4
  62. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_a_valid_prefix.yml +203 -0
  63. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_found.yml +204 -4
  64. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref.yml +102 -4
  65. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref_doi_not_url.yml +100 -4
  66. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite.yml +102 -4
  67. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite_doi_http.yml +100 -4
  68. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/github.yml +97 -0
  69. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/orcid.yml +99 -0
  70. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/get_name_identifier/has_ORCID.yml → Bolognese_Metadata/find_from_format_by_ID/schema_org.yml} +61 -2
  71. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/bibtex.yml +99 -0
  72. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/citeproc.yml +99 -0
  73. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/get_one_author/has_familyName.yml → Bolognese_Metadata/find_from_format_from_file/codemeta.yml} +61 -2
  74. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/crossref.yml +99 -0
  75. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite.yml +99 -0
  76. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite_json.yml +99 -0
  77. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/ris.yml +99 -0
  78. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/schema_org.yml +97 -0
  79. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/is_personal_name_/has_no_info.yml → Bolognese_Metadata/from_schema_org/with_id.yml} +59 -2
  80. data/spec/fixtures/vcr_cassettes/{Bolognese_Codemeta/get_metadata → Bolognese_Metadata/get_codemeta_metadata}/maremma.yml +9 -9
  81. data/spec/fixtures/vcr_cassettes/{Bolognese_Codemeta/get_metadata → Bolognese_Metadata/get_codemeta_metadata}/no_codemeta_json.yml +8 -8
  82. data/spec/fixtures/vcr_cassettes/{Bolognese_Codemeta/get_metadata → Bolognese_Metadata/get_codemeta_metadata}/not_found_error.yml +8 -8
  83. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/get_metadata → Bolognese_Metadata/get_crossref_metadata}/DOI_with_ORCID_ID.yml +61 -2
  84. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/get_metadata → Bolognese_Metadata/get_crossref_metadata}/DOI_with_SICI_DOI.yml +62 -3
  85. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/get_metadata → Bolognese_Metadata/get_crossref_metadata}/DOI_with_data_citation.yml +61 -2
  86. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/get_metadata → Bolognese_Metadata/get_crossref_metadata}/date_in_future.yml +61 -2
  87. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/get_metadata → Bolognese_Metadata/get_crossref_metadata}/journal_article.yml +62 -3
  88. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/not_found_error.yml +97 -0
  89. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/posted_content.yml +203 -0
  90. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/BlogPosting.yml +99 -0
  91. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Dataset.yml +99 -0
  92. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding_schema_version_4.yml +97 -0
  93. data/spec/fixtures/vcr_cassettes/{Bolognese_Datacite/get_metadata → Bolognese_Metadata/get_datacite_metadata}/author_only_full_name.yml +61 -2
  94. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_scheme.yml +97 -0
  95. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/get_name_identifier/has_no_ORCID.yml → Bolognese_Metadata/get_datacite_metadata/date.yml} +63 -2
  96. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/funding_schema_version_3.yml +99 -0
  97. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/is_identical_to.yml +99 -0
  98. data/spec/fixtures/vcr_cassettes/{Bolognese_Datacite/get_metadata → Bolognese_Metadata/get_datacite_metadata}/keywords_with_attributes.yml +64 -3
  99. data/spec/fixtures/vcr_cassettes/{Bolognese_Datacite/get_metadata → Bolognese_Metadata/get_datacite_metadata}/multiple_author_names_in_one_creatorName.yml +63 -2
  100. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/get_one_author/has_name_in_display-order.yml → Bolognese_Metadata/get_datacite_metadata/multiple_licenses.yml} +63 -2
  101. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/get_metadata/posted_content.yml → Bolognese_Metadata/get_date_from_date_parts/date.yml} +59 -2
  102. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year-month.yml +203 -0
  103. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year.yml +203 -0
  104. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/date.yml +203 -0
  105. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year-month.yml +203 -0
  106. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year.yml +201 -0
  107. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_name_identifier/has_ORCID.yml +136 -0
  108. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_name_identifier/has_jacow_org_scheme.yml +136 -0
  109. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_name_identifier/has_no_ORCID.yml +136 -0
  110. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_familyName.yml +136 -0
  111. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_multiple_names_in_display-order.yml +136 -0
  112. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_Thai.yml +134 -0
  113. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order.yml +136 -0
  114. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order_with_ORCID.yml +136 -0
  115. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_sort-order.yml +136 -0
  116. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/hyper-authorship.yml +132 -0
  117. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/is_organization.yml +203 -0
  118. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_author_names_in_one_field.yml +136 -0
  119. data/spec/fixtures/vcr_cassettes/{Bolognese_SchemaOrg/get_metadata → Bolognese_Metadata/get_schema_org_metadata}/BlogPosting.yml +201 -200
  120. data/spec/fixtures/vcr_cassettes/{Bolognese_SchemaOrg/get_metadata → Bolognese_Metadata/get_schema_org_metadata}/not_found_error.yml +2 -2
  121. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_alternate_identifiers/insert.yml +97 -0
  122. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_contributors/none.yml +99 -0
  123. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_creators/insert.yml +99 -0
  124. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_dates/insert.yml +99 -0
  125. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_descriptions/insert.yml +99 -0
  126. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_identifier/doi.yml +99 -0
  127. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_person/creator_only_name.yml +99 -0
  128. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publication_year/insert.yml +99 -0
  129. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publisher/insert.yml +99 -0
  130. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/insert.yml +99 -0
  131. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/related_identifier.yml +99 -0
  132. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_resource_type/insert.yml +99 -0
  133. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_rights_list/insert.yml +97 -0
  134. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_subjects/insert.yml +99 -0
  135. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_titles/insert.yml +99 -0
  136. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_version/insert.yml +97 -0
  137. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_comma.yml +203 -0
  138. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref → Bolognese_Metadata}/is_personal_name_/has_family_name.yml +61 -2
  139. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_id.yml +201 -0
  140. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref → Bolognese_Metadata}/is_personal_name_/has_known_given_name.yml +61 -2
  141. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/is_personal_name_/has_type_person.yml → Bolognese_Metadata/is_personal_name_/has_no_info.yml} +61 -2
  142. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_type_organization.yml +203 -0
  143. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/missing_comma.yml +99 -0
  144. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/nil.yml +99 -0
  145. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/overlapping_keys.yml +97 -0
  146. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/valid.yml +99 -0
  147. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/authors_as_string/author.yml → Bolognese_Metadata/normalize_doi/SICI_doi.yml} +59 -2
  148. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi.yml +203 -0
  149. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_from_url_without_doi_proxy.yml +203 -0
  150. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_too_long.yml +203 -0
  151. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_with_string.yml +203 -0
  152. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/authors_as_string/no_author.yml → Bolognese_Metadata/normalize_doi/doi_with_protocol.yml} +59 -2
  153. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/dx_doi_org_url.yml +203 -0
  154. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/https_url.yml +203 -0
  155. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/not_valid_doi_prefix.yml +203 -0
  156. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/url_with_one_slash.yml +203 -0
  157. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi.yml +203 -0
  158. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi_as_url.yml +203 -0
  159. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/ftp.yml +203 -0
  160. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/invalid_url.yml +203 -0
  161. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/string.yml +203 -0
  162. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/get_one_author/is_organization.yml → Bolognese_Metadata/normalize_id/url.yml} +59 -2
  163. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url_with_utf-8.yml +203 -0
  164. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/doi.yml +203 -0
  165. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/url.yml +203 -0
  166. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/is_personal_name_/has_comma.yml → Bolognese_Metadata/normalize_url/uri.yml} +2 -2
  167. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/authors_as_string/with_organization.yml → Bolognese_Metadata/normalize_url/with_trailing_slash.yml} +2 -2
  168. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/array.yml +203 -0
  169. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/is_personal_name_/has_id.yml → Bolognese_Metadata/parse_attributes/hash.yml} +59 -2
  170. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/nil.yml +203 -0
  171. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/string.yml +203 -0
  172. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_only_keep_specific_tags.yml +203 -0
  173. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_remove_a_tags.yml +203 -0
  174. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org/with_id.yml +203 -0
  175. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/DOI.yml +203 -0
  176. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/ISSN.yml +203 -0
  177. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/URL.yml +203 -0
  178. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/string.yml +203 -0
  179. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/BlogPosting.yml +99 -0
  180. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/Dataset.yml +99 -0
  181. data/spec/fixtures/vcr_cassettes/{Bolognese_SchemaOrg/get_metadata/BlogPosting_schema_org_JSON.yml → Bolognese_Metadata/write_metadata_as_bibtex/from_schema_org.yml} +201 -200
  182. data/spec/fixtures/vcr_cassettes/{Bolognese_Codemeta/get_metadata_as_datacite_xml → Bolognese_Metadata/write_metadata_as_bibtex}/maremma.yml +9 -9
  183. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_data_citation.yml +731 -0
  184. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/get_metadata_as_citeproc → Bolognese_Metadata/write_metadata_as_bibtex}/with_pages.yml +61 -2
  185. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting.yml +99 -0
  186. data/spec/fixtures/vcr_cassettes/{Bolognese_SchemaOrg/get_metadata_as_bibtex/with_data_citation.yml → Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting_schema_org.yml} +201 -200
  187. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/Dataset.yml +99 -0
  188. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/get_metadata_as_citeproc → Bolognese_Metadata/write_metadata_as_citeproc}/journal_article.yml +62 -3
  189. data/spec/fixtures/vcr_cassettes/{Bolognese_Codemeta/get_metadata_as_ris → Bolognese_Metadata/write_metadata_as_citeproc}/maremma.yml +8 -8
  190. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/get_metadata_as_ris → Bolognese_Metadata/write_metadata_as_citeproc}/with_pages.yml +61 -2
  191. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite.yml +99 -0
  192. data/spec/fixtures/vcr_cassettes/{Bolognese_Codemeta/get_metadata_as_bibtex → Bolognese_Metadata/write_metadata_as_crosscite}/maremma.yml +9 -9
  193. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/get_metadata_as_datacite_xml → Bolognese_Metadata/write_metadata_as_crosscite}/with_ORCID_ID.yml +61 -2
  194. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation.yml +731 -0
  195. data/spec/fixtures/vcr_cassettes/{Bolognese_SchemaOrg/get_metadata_as_citeproc/BlogPosting.yml → Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation_schema_org.yml} +201 -200
  196. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/get_metadata_as_datacite_xml → Bolognese_Metadata/write_metadata_as_crosscite}/with_editor.yml +62 -3
  197. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/get_one_author/has_name_in_sort-order.yml → Bolognese_Metadata/write_metadata_as_crossref/from_DataCite.yml} +61 -2
  198. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/maremma.yml +100 -0
  199. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_ORCID_ID.yml +377 -0
  200. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/get_metadata_as_datacite_xml → Bolognese_Metadata/write_metadata_as_datacite_json}/with_data_citation.yml +61 -2
  201. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_data_citation_schema_org.yml +654 -0
  202. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Dataset_in_schema_4_0.yml +97 -0
  203. data/spec/fixtures/vcr_cassettes/{Bolognese_Codemeta/get_metadata_as_citeproc → Bolognese_Metadata/write_metadata_as_datacite_xml}/maremma.yml +9 -9
  204. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_ORCID_ID.yml +377 -0
  205. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/get_metadata_as_ris/journal_article.yml → Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation.yml} +61 -2
  206. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation_schema_org.yml +654 -0
  207. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_editor.yml +944 -0
  208. data/spec/fixtures/vcr_cassettes/{Bolognese_DataciteJson/get_metadata_as_rdf_xml → Bolognese_Metadata/write_metadata_as_rdf_xml}/BlogPosting.yml +88 -23
  209. data/spec/fixtures/vcr_cassettes/{Bolognese_Citeproc/get_metadata_as_rdf_xml/BlogPosting.yml → Bolognese_Metadata/write_metadata_as_rdf_xml/BlogPosting_Citeproc_JSON.yml} +26 -20
  210. data/spec/fixtures/vcr_cassettes/{Bolognese_Bibtex/get_metadata_as_rdf_xml → Bolognese_Metadata/write_metadata_as_rdf_xml}/Crossref_DOI.yml +26 -20
  211. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/get_metadata_as_rdf_xml → Bolognese_Metadata/write_metadata_as_rdf_xml}/journal_article.yml +87 -22
  212. data/spec/fixtures/vcr_cassettes/{Bolognese_Codemeta/get_metadata_as_rdf_xml → Bolognese_Metadata/write_metadata_as_rdf_xml}/maremma.yml +35 -29
  213. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/get_metadata_as_turtle → Bolognese_Metadata/write_metadata_as_rdf_xml}/with_pages.yml +88 -23
  214. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting.yml +99 -0
  215. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting_schema_org.yml +654 -0
  216. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/Dataset.yml +99 -0
  217. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/get_metadata_as_bibtex/with_data_citation.yml → Bolognese_Metadata/write_metadata_as_ris/journal_article.yml} +59 -2
  218. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/maremma.yml +100 -0
  219. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/get_metadata_as_bibtex → Bolognese_Metadata/write_metadata_as_ris}/with_pages.yml +62 -3
  220. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_IsSupplementTo.yml +99 -0
  221. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_isReferencedBy.yml +99 -0
  222. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/get_metadata/Schema_org_JSON.yml → Bolognese_Metadata/write_metadata_as_schema_org/journal_article.yml} +61 -2
  223. data/spec/fixtures/vcr_cassettes/{Bolognese_Codemeta/get_metadata → Bolognese_Metadata/write_metadata_as_schema_org}/maremma_schema_org_JSON.yml +9 -9
  224. data/spec/fixtures/vcr_cassettes/{Bolognese_Datacite/get_metadata_as_rdf_xml → Bolognese_Metadata/write_metadata_as_turtle}/BlogPosting.yml +88 -23
  225. data/spec/fixtures/vcr_cassettes/{Bolognese_Citeproc/get_metadata_as_turtle/BlogPosting.yml → Bolognese_Metadata/write_metadata_as_turtle/BlogPosting_Citeproc_JSON.yml} +26 -20
  226. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/BlogPosting_DataCite_JSON.yml +4589 -0
  227. data/spec/fixtures/vcr_cassettes/{Bolognese_Bibtex/get_metadata_as_turtle → Bolognese_Metadata/write_metadata_as_turtle}/Crossref_DOI.yml +26 -20
  228. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/DataONE.yml +4589 -0
  229. data/spec/fixtures/vcr_cassettes/{Bolognese_Datacite/get_metadata_as_turtle → Bolognese_Metadata/write_metadata_as_turtle}/Dataset.yml +88 -23
  230. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/get_metadata_as_turtle → Bolognese_Metadata/write_metadata_as_turtle}/journal_article.yml +87 -22
  231. data/spec/fixtures/vcr_cassettes/{Bolognese_Crossref/get_metadata_as_rdf_xml → Bolognese_Metadata/write_metadata_as_turtle}/with_pages.yml +87 -22
  232. data/spec/metadata_spec.rb +8 -2
  233. data/spec/readers/bibtex_reader_spec.rb +30 -0
  234. data/spec/readers/citeproc_reader_spec.rb +28 -0
  235. data/spec/readers/codemeta_reader_spec.rb +90 -0
  236. data/spec/readers/crossref_reader_spec.rb +142 -0
  237. data/spec/readers/datacite_json_reader_spec.rb +48 -0
  238. data/spec/readers/datacite_reader_spec.rb +215 -0
  239. data/spec/readers/ris_reader_spec.rb +32 -0
  240. data/spec/readers/schema_org_reader_spec.rb +63 -0
  241. data/spec/utils_spec.rb +24 -25
  242. data/spec/writers/bibtex_writer_spec.rb +102 -0
  243. data/spec/writers/citeproc_writer_spec.rb +138 -0
  244. data/spec/writers/codemeta_writer_spec.rb +36 -0
  245. data/spec/writers/crosscite_writer_spec.rb +81 -0
  246. data/spec/writers/crossref_writer_spec.rb +19 -0
  247. data/spec/writers/datacite_json_writer_spec.rb +74 -0
  248. data/spec/writers/datacite_writer_spec.rb +124 -0
  249. data/spec/writers/rdf_xml_writer_spec.rb +97 -0
  250. data/spec/writers/ris_writer_spec.rb +153 -0
  251. data/spec/writers/schema_org_writer_spec.rb +59 -0
  252. data/spec/writers/turtle_writer_spec.rb +82 -0
  253. metadata +213 -132
  254. data/codemeta.json +0 -39
  255. data/lib/bolognese/bibtex.rb +0 -163
  256. data/lib/bolognese/citeproc.rb +0 -120
  257. data/lib/bolognese/codemeta.rb +0 -153
  258. data/lib/bolognese/crossref.rb +0 -281
  259. data/lib/bolognese/datacite.rb +0 -288
  260. data/lib/bolognese/datacite_json.rb +0 -220
  261. data/lib/bolognese/ris.rb +0 -117
  262. data/lib/bolognese/schema_org.rb +0 -196
  263. data/spec/bibtex_spec.rb +0 -90
  264. data/spec/citeproc_spec.rb +0 -66
  265. data/spec/codemeta_spec.rb +0 -221
  266. data/spec/crossref_spec.rb +0 -348
  267. data/spec/datacite_json_spec.rb +0 -125
  268. data/spec/datacite_spec.rb +0 -406
  269. data/spec/fixtures/vcr_cassettes/Bolognese_Codemeta/get_metadata_as_schema_org_JSON/maremma.yml +0 -100
  270. data/spec/fixtures/vcr_cassettes/Bolognese_Codemeta/get_metadata_as_turtle/maremma.yml +0 -4680
  271. data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_metadata/not_found_error.yml +0 -38
  272. data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_metadata_as_string/DOI_with_data_citation.yml +0 -672
  273. data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_one_author/author.yml +0 -38
  274. data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_one_author/has_multiple_names_in_display-order.yml +0 -38
  275. data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_one_author/has_name_in_Thai.yml +0 -38
  276. data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_one_author/has_name_in_display-order_with_ORCID.yml +0 -38
  277. data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_one_author/hyper-authorship.yml +0 -38
  278. data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_one_author/multiple_author_names.yml +0 -38
  279. data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_one_author/multiple_author_names_in_one_field.yml +0 -38
  280. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata/BlogPosting.yml +0 -40
  281. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata/Dataset.yml +0 -40
  282. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata/Date.yml +0 -40
  283. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata/Funding_schema_version_3.yml +0 -40
  284. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata/Funding_schema_version_4.yml +0 -38
  285. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata/Schema_org_JSON_IsSupplementTo.yml +0 -40
  286. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata/Schema_org_JSON_isReferencedBy.yml +0 -40
  287. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata/author.yml +0 -38
  288. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata/author_with_scheme.yml +0 -38
  289. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata/is_identical_to.yml +0 -40
  290. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata/jsonlint.yml +0 -38
  291. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata/multiple_licenses.yml +0 -40
  292. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata_as_bibtex/BlogPosting.yml +0 -40
  293. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata_as_bibtex/Dataset.yml +0 -40
  294. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata_as_citeproc/BlogPosting.yml +0 -38
  295. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata_as_citeproc/Dataset.yml +0 -40
  296. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata_as_codemeta/SoftwareSourceCode.yml +0 -40
  297. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata_as_datacite_xml_4_0/Dataset.yml +0 -40
  298. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata_as_ris/BlogPosting.yml +0 -40
  299. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata_as_ris/Dataset.yml +0 -40
  300. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata_as_turtle/BlogPosting.yml +0 -4620
  301. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_alternate_identifiers/insert.yml +0 -38
  302. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_contributors/none.yml +0 -40
  303. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_creators/insert.yml +0 -40
  304. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_dates/insert.yml +0 -40
  305. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_descriptions/insert.yml +0 -38
  306. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_identifier/doi.yml +0 -40
  307. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_person/creator_only_name.yml +0 -38
  308. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_publication_year/insert.yml +0 -38
  309. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_publisher/insert.yml +0 -38
  310. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_related_identifiers/insert.yml +0 -38
  311. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_related_identifiers/related_identifier.yml +0 -40
  312. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_resource_type/insert.yml +0 -40
  313. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_rights_list/insert.yml +0 -40
  314. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_subjects/insert.yml +0 -40
  315. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_titles/insert.yml +0 -40
  316. data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_version/insert.yml +0 -40
  317. data/spec/fixtures/vcr_cassettes/Bolognese_DataciteJson/get_metadata_as_turtle/BlogPosting.yml +0 -4583
  318. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/generate/datacite.yml +0 -40
  319. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/read/datacite.yml +0 -40
  320. data/spec/fixtures/vcr_cassettes/Bolognese_SchemaOrg/get_metadata_as_datacite_xml/with_data_citation.yml +0 -653
  321. data/spec/fixtures/vcr_cassettes/Bolognese_SchemaOrg/get_metadata_as_ris/BlogPosting.yml +0 -653
  322. data/spec/schema_org_spec.rb +0 -151
@@ -0,0 +1,97 @@
1
+ require 'spec_helper'
2
+
3
+ describe Bolognese::Metadata, vcr: true do
4
+ context "write metadata as rdf xml" do
5
+ # it "journal article" do
6
+ # input = "10.7554/eLife.01567"
7
+ # subject = Bolognese::Metadata.new(input: input, from: "crossref")
8
+ # expect(subject.valid?).to be true
9
+ # rdf_xml = Maremma.from_xml(subject.rdf_xml).fetch("RDF", {})
10
+ # expect(rdf_xml.dig("ScholarlyArticle", "rdf:about")).to eq("https://doi.org/10.7554/elife.01567")
11
+ # expect(rdf_xml.dig("ScholarlyArticle", "name")).to eq("Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth")
12
+ # expect(rdf_xml.dig("ScholarlyArticle", "datePublished", "__content__")).to eq("2014-02-11")
13
+ # end
14
+ #
15
+ # it "with pages" do
16
+ # input = "https://doi.org/10.1155/2012/291294"
17
+ # subject = Bolognese::Metadata.new(input: input, from: "crossref")
18
+ # expect(subject.valid?).to be true
19
+ # rdf_xml = Maremma.from_xml(subject.rdf_xml).fetch("RDF", {})
20
+ # expect(rdf_xml.dig("ScholarlyArticle", "rdf:about")).to eq("https://doi.org/10.1155/2012/291294")
21
+ # expect(rdf_xml.dig("ScholarlyArticle", "name")).to eq("Delineating a Retesting Zone Using Receiver Operating Characteristic Analysis on Serial QuantiFERON Tuberculosis Test Results in US Healthcare Workers")
22
+ # expect(rdf_xml.dig("ScholarlyArticle", "datePublished", "__content__")).to eq("2012")
23
+ # expect(rdf_xml.dig("ScholarlyArticle", "pagination")).to eq("1-7")
24
+ # end
25
+
26
+ it "Crossref DOI" do
27
+ input = fixture_path + "crossref.bib"
28
+ subject = Bolognese::Metadata.new(input: input, from: "bibtex")
29
+ rdf_xml = Maremma.from_xml(subject.rdf_xml).fetch("RDF", {})
30
+ expect(rdf_xml.dig("ScholarlyArticle", "rdf:about")).to eq("https://doi.org/10.7554/elife.01567")
31
+ expect(rdf_xml.dig("ScholarlyArticle", "name")).to eq("Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth")
32
+ expect(rdf_xml.dig("ScholarlyArticle", "datePublished", "__content__")).to eq("2014")
33
+ expect(rdf_xml.dig("ScholarlyArticle", "isPartOf", "Periodical", "name")).to eq("eLife")
34
+ end
35
+
36
+ it "BlogPosting" do
37
+ input = "https://doi.org/10.5438/4K3M-NYVG"
38
+ subject = Bolognese::Metadata.new(input: input, from: "datacite")
39
+ expect(subject.valid?).to be true
40
+ rdf_xml = Maremma.from_xml(subject.rdf_xml).fetch("RDF", {})
41
+ expect(rdf_xml.dig("ScholarlyArticle", "rdf:about")).to eq("https://doi.org/10.5438/4k3m-nyvg")
42
+ expect(rdf_xml.dig("ScholarlyArticle", "author", "Person", "rdf:about")).to eq("http://orcid.org/0000-0003-1419-2405")
43
+ expect(rdf_xml.dig("ScholarlyArticle", "author", "Person", "name")).to eq("Fenner, Martin")
44
+ expect(rdf_xml.dig("ScholarlyArticle", "name")).to eq("Eating your own Dog Food")
45
+ expect(rdf_xml.dig("ScholarlyArticle", "keywords")).to eq("datacite, doi, metadata")
46
+ expect(rdf_xml.dig("ScholarlyArticle", "datePublished", "__content__")).to eq("2016-12-20")
47
+ end
48
+
49
+ it "BlogPosting Citeproc JSON" do
50
+ input = fixture_path + "citeproc.json"
51
+ subject = Bolognese::Metadata.new(input: input, from: "citeproc")
52
+ rdf_xml = Maremma.from_xml(subject.rdf_xml).fetch("RDF", {})
53
+ expect(rdf_xml.dig("BlogPosting", "rdf:about")).to eq("https://doi.org/10.5438/4k3m-nyvg")
54
+ expect(rdf_xml.dig("BlogPosting", "author", "Person", "name")).to eq("Martin Fenner")
55
+ expect(rdf_xml.dig("BlogPosting", "name")).to eq("Eating your own Dog Food")
56
+ expect(rdf_xml.dig("BlogPosting", "datePublished", "__content__")).to eq("2016-12-20")
57
+ end
58
+
59
+ it "maremma" do
60
+ input = "https://github.com/datacite/maremma"
61
+ subject = Bolognese::Metadata.new(input: input, from: "codemeta")
62
+ rdf_xml = Maremma.from_xml(subject.rdf_xml).fetch("RDF", {})
63
+ expect(rdf_xml.dig("SoftwareSourceCode", "rdf:about")).to eq("https://doi.org/10.5438/qeg0-3gm3")
64
+ expect(rdf_xml.dig("SoftwareSourceCode", "author", "Person", "rdf:about")).to eq("http://orcid.org/0000-0003-0077-4738")
65
+ expect(rdf_xml.dig("SoftwareSourceCode", "author", "Person", "name")).to eq("Martin Fenner")
66
+ expect(rdf_xml.dig("SoftwareSourceCode", "name")).to eq("Maremma: a Ruby library for simplified network calls")
67
+ expect(rdf_xml.dig("SoftwareSourceCode", "keywords")).to eq("faraday, excon, net/http")
68
+ expect(rdf_xml.dig("SoftwareSourceCode", "datePublished", "__content__")).to eq("2017-02-24")
69
+ end
70
+
71
+ # it "BlogPosting schema.org" do
72
+ # input = "https://blog.datacite.org/eating-your-own-dog-food/"
73
+ # subject = Bolognese::Metadata.new(input: input, from: "schema_org")
74
+ # expect(subject.valid?).to be true
75
+ # rdf_xml = Maremma.from_xml(subject.rdf_xml).fetch("RDF", {})
76
+ # expect(rdf_xml.dig("ScholarlyArticle", "rdf:about")).to eq("https://doi.org/10.5438/4k3m-nyvg")
77
+ # expect(rdf_xml.dig("ScholarlyArticle", "author", "Person", "rdf:about")).to eq("http://orcid.org/0000-0003-1419-2405")
78
+ # expect(rdf_xml.dig("ScholarlyArticle", "author", "Person", "name")).to eq("Fenner, Martin")
79
+ # expect(rdf_xml.dig("ScholarlyArticle", "name")).to eq("Eating your own Dog Food")
80
+ # expect(rdf_xml.dig("ScholarlyArticle", "keywords")).to eq("datacite, doi, metadata")
81
+ # expect(rdf_xml.dig("ScholarlyArticle", "datePublished", "__content__")).to eq("2016-12-20")
82
+ # end
83
+
84
+ # it "BlogPosting" do
85
+ # id = "https://doi.org/10.5438/4K3M-NYVG"
86
+ # subject = Bolognese::Metadata.new(id: id)
87
+ # expect(subject.valid?).to be true
88
+ # rdfxml = Maremma.from_xml(subject.rdf_xml).fetch("RDF", {})
89
+ # expect(rdfxml.dig("ScholarlyArticle", "rdf:about")).to eq("https://doi.org/10.5438/4k3m-nyvg")
90
+ # expect(rdfxml.dig("ScholarlyArticle", "author", "Person", "rdf:about")).to eq("http://orcid.org/0000-0003-1419-2405")
91
+ # expect(rdfxml.dig("ScholarlyArticle", "author", "Person", "name")).to eq("Fenner, Martin")
92
+ # expect(rdfxml.dig("ScholarlyArticle", "name")).to eq("Eating your own Dog Food")
93
+ # expect(rdfxml.dig("ScholarlyArticle", "keywords")).to eq("datacite, doi, metadata")
94
+ # expect(rdfxml.dig("ScholarlyArticle", "datePublished", "__content__")).to eq("2016-12-20")
95
+ # end
96
+ end
97
+ end
@@ -0,0 +1,153 @@
1
+ require 'spec_helper'
2
+
3
+ describe Bolognese::Metadata, vcr: true do
4
+ context "write metadata as ris" do
5
+ it "journal article" do
6
+ input = "10.7554/eLife.01567"
7
+ subject = Bolognese::Metadata.new(input: input, from: "crossref")
8
+ expect(subject.valid?).to be true
9
+ ris = subject.ris.split("\r\n")
10
+ expect(ris[0]).to eq("TY - JOUR")
11
+ expect(ris[1]).to eq("T1 - Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth")
12
+ expect(ris[2]).to eq("T2 - eLife")
13
+ expect(ris[3]).to eq("AU - Sankar, Martial")
14
+ expect(ris[8]).to eq("DO - 10.7554/eLife.01567")
15
+ expect(ris[9]).to eq("UR - http://elifesciences.org/lookup/doi/10.7554/eLife.01567")
16
+ expect(ris[10]).to eq("PY - 2014")
17
+ expect(ris[11]).to eq("VL - 3")
18
+ expect(ris[12]).to eq("ER - ")
19
+ end
20
+
21
+ it "with pages" do
22
+ input = "https://doi.org/10.1155/2012/291294"
23
+ subject = Bolognese::Metadata.new(input: input, from: "crossref")
24
+ expect(subject.valid?).to be true
25
+ ris = subject.ris.split("\r\n")
26
+ expect(ris[0]).to eq("TY - JOUR")
27
+ expect(ris[1]).to eq("T1 - Delineating a Retesting Zone Using Receiver Operating Characteristic Analysis on Serial QuantiFERON Tuberculosis Test Results in US Healthcare Workers")
28
+ expect(ris[2]).to eq("T2 - Pulmonary Medicine")
29
+ expect(ris[3]).to eq("AU - Thanassi, Wendy")
30
+ expect(ris[10]).to eq("DO - 10.1155/2012/291294")
31
+ expect(ris[11]).to eq("UR - http://www.hindawi.com/journals/pm/2012/291294/")
32
+ expect(ris[12]).to eq("PY - 2012")
33
+ expect(ris[13]).to eq("VL - 2012")
34
+ expect(ris[14]).to eq("SP - 1-7")
35
+ expect(ris[15]).to eq("ER - ")
36
+ end
37
+
38
+ it "Crossref DOI" do
39
+ input = fixture_path + "crossref.bib"
40
+ subject = Bolognese::Metadata.new(input: input, from: "bibtex")
41
+ ris = subject.ris.split("\r\n")
42
+ expect(ris[0]).to eq("TY - JOUR")
43
+ expect(ris[1]).to eq("T1 - Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth")
44
+ expect(ris[2]).to eq("T2 - eLife")
45
+ expect(ris[3]).to eq("AU - Sankar, Martial")
46
+ expect(ris[8]).to eq("DO - 10.7554/elife.01567")
47
+ expect(ris[9]).to eq("UR - http://elifesciences.org/lookup/doi/10.7554/eLife.01567")
48
+ expect(ris[10]).to eq("AB - Among various advantages, their small size makes model organisms preferred subjects of investigation. Yet, even in model systems detailed analysis of numerous developmental processes at cellular level is severely hampered by their scale.")
49
+ expect(ris[11]).to eq("PY - 2014")
50
+ expect(ris[12]).to eq("PB - {eLife} Sciences Organisation, Ltd.")
51
+ expect(ris[13]).to eq("VL - 3")
52
+ expect(ris[14]).to eq("ER - ")
53
+ end
54
+
55
+ it "BlogPosting" do
56
+ input = "https://doi.org/10.5438/4K3M-NYVG"
57
+ subject = Bolognese::Metadata.new(input: input, from: "datacite")
58
+ expect(subject.valid?).to be true
59
+ ris = subject.ris.split("\r\n")
60
+ expect(ris[0]).to eq("TY - RPRT")
61
+ expect(ris[1]).to eq("T1 - Eating your own Dog Food")
62
+ expect(ris[2]).to eq("AU - Fenner, Martin")
63
+ expect(ris[3]).to eq("DO - 10.5438/4k3m-nyvg")
64
+ expect(ris[4]).to eq("AB - Eating your own dog food is a slang term to describe that an organization should itself use the products and services it provides. For DataCite this means that we should use DOIs with appropriate metadata and strategies for long-term preservation for...")
65
+ expect(ris[5]).to eq("KW - datacite")
66
+ expect(ris[8]).to eq("PY - 2016")
67
+ expect(ris[9]).to eq("PB - DataCite")
68
+ expect(ris[10]).to eq("AN - MS-49-3632-5083")
69
+ expect(ris[11]).to eq("ER - ")
70
+ end
71
+
72
+ it "BlogPosting Citeproc JSON" do
73
+ input = fixture_path + "citeproc.json"
74
+ subject = Bolognese::Metadata.new(input: input, from: "citeproc")
75
+ ris = subject.ris.split("\r\n")
76
+ expect(ris[0]).to eq("TY - GEN")
77
+ expect(ris[1]).to eq("T1 - Eating your own Dog Food")
78
+ expect(ris[2]).to eq("T2 - DataCite Blog")
79
+ expect(ris[3]).to eq("AU - Fenner, Martin")
80
+ expect(ris[4]).to eq("DO - 10.5438/4k3m-nyvg")
81
+ expect(ris[5]).to eq("UR - https://blog.datacite.org/eating-your-own-dog-food")
82
+ expect(ris[6]).to eq("AB - Eating your own dog food is a slang term to describe that an organization should itself use the products and services it provides. For DataCite this means that we should use DOIs with appropriate metadata and strategies for long-term preservation for...")
83
+ expect(ris[7]).to eq("PY - 2016")
84
+ expect(ris[8]).to eq("PB - DataCite")
85
+ expect(ris[9]).to eq("ER - ")
86
+ end
87
+
88
+ it "BlogPosting DataCite JSON" do
89
+ input = fixture_path + "datacite.json"
90
+ subject = Bolognese::Metadata.new(input: input, from: "datacite_json")
91
+ ris = subject.ris.split("\r\n")
92
+ expect(ris[0]).to eq("TY - GEN")
93
+ expect(ris[1]).to eq("T1 - Eating your own Dog Food")
94
+ expect(ris[2]).to eq("AU - Fenner, Martin")
95
+ expect(ris[3]).to eq("DO - 10.5438/4K3M-NYVG")
96
+ expect(ris[4]).to eq("AB - Eating your own dog food is a slang term to describe that an organization should itself use the products and services it provides. For DataCite this means that we should use DOIs with appropriate metadata and strategies for long-term preservation for...")
97
+ expect(ris[5]).to eq("KW - datacite")
98
+ expect(ris[8]).to eq("PY - 2016")
99
+ expect(ris[9]).to eq("PB - DataCite")
100
+ expect(ris[10]).to eq("AN - MS-49-3632-5083")
101
+ expect(ris[11]).to eq("ER - ")
102
+ end
103
+
104
+ it "BlogPosting schema.org" do
105
+ input = "https://blog.datacite.org/eating-your-own-dog-food/"
106
+ subject = Bolognese::Metadata.new(input: input, from: "schema_org")
107
+ ris = subject.ris.split("\r\n")
108
+ expect(ris[0]).to eq("TY - GEN")
109
+ expect(ris[1]).to eq("T1 - Eating your own Dog Food")
110
+ expect(ris[2]).to eq("T2 - DataCite Blog")
111
+ expect(ris[3]).to eq("AU - Fenner, Martin")
112
+ expect(ris[4]).to eq("DO - 10.5438/4k3m-nyvg")
113
+ expect(ris[5]).to eq("UR - https://blog.datacite.org/eating-your-own-dog-food")
114
+ expect(ris[6]).to eq("AB - Eating your own dog food is a slang term to describe that an organization should itself use the products and services it provides. For DataCite this means that we should use DOIs with appropriate metadata and strategies for long-term preservation for...")
115
+ expect(ris[7]).to eq("KW - datacite")
116
+ expect(ris[11]).to eq("PY - 2016")
117
+ expect(ris[12]).to eq("PB - DataCite")
118
+ expect(ris[13]).to eq("ER - ")
119
+ end
120
+
121
+ it "Dataset" do
122
+ input = "10.5061/DRYAD.8515"
123
+ subject = Bolognese::Metadata.new(input: input, from: "datacite")
124
+ expect(subject.valid?).to be true
125
+ ris = subject.ris.split("\r\n")
126
+ expect(ris[0]).to eq("TY - DATA")
127
+ expect(ris[1]).to eq("T1 - Data from: A new malaria agent in African hominids.")
128
+ expect(ris[2]).to eq("AU - Ollomo, Benjamin")
129
+ expect(ris[10]).to eq("DO - 10.5061/dryad.8515")
130
+ expect(ris[12]).to eq("KW - Malaria")
131
+ expect(ris[18]).to eq("PY - 2011")
132
+ expect(ris[19]).to eq("PB - Dryad Digital Repository")
133
+ expect(ris[20]).to eq("AN - Ollomo B, Durand P, Prugnolle F, Douzery EJP, Arnathau C, Nkoghe D, Leroy E, Renaud F (2009) A new malaria agent in African hominids. PLoS Pathogens 5(5): e1000446.")
134
+ expect(ris[21]).to eq("ER - ")
135
+ end
136
+
137
+ it "maremma" do
138
+ input = "https://github.com/datacite/maremma"
139
+ subject = Bolognese::Metadata.new(input: input, from: "codemeta")
140
+ ris = subject.ris.split("\r\n")
141
+ expect(ris[0]).to eq("TY - COMP")
142
+ expect(ris[1]).to eq("T1 - Maremma: a Ruby library for simplified network calls")
143
+ expect(ris[2]).to eq("AU - Fenner, Martin")
144
+ expect(ris[3]).to eq("DO - 10.5438/qeg0-3gm3")
145
+ expect(ris[4]).to eq("UR - https://github.com/datacite/maremma")
146
+ expect(ris[5]).to eq("AB - Ruby utility library for network requests. Based on Faraday and Excon, provides a wrapper for XML/JSON parsing and error handling. All successful responses are returned as hash with key data, all errors in a JSONAPI-friendly hash with key errors.")
147
+ expect(ris[6]).to eq("KW - faraday")
148
+ expect(ris[9]).to eq("PY - 2017")
149
+ expect(ris[10]).to eq("PB - DataCite")
150
+ expect(ris[11]).to eq("ER - ")
151
+ end
152
+ end
153
+ end
@@ -0,0 +1,59 @@
1
+ require 'spec_helper'
2
+
3
+ describe Bolognese::Metadata, vcr: true do
4
+ context "write metadata as schema_org" do
5
+ it "journal article" do
6
+ input = "10.7554/eLife.01567"
7
+ subject = Bolognese::Metadata.new(input: input, from: "crossref")
8
+ json = JSON.parse(subject.schema_org)
9
+ expect(json["@id"]).to eq("https://doi.org/10.7554/elife.01567")
10
+ end
11
+
12
+ it "maremma schema.org JSON" do
13
+ input = "https://github.com/datacite/maremma"
14
+ subject = Bolognese::Metadata.new(input: input, from: "codemeta")
15
+ json = JSON.parse(subject.schema_org)
16
+ expect(json["@id"]).to eq("https://doi.org/10.5438/qeg0-3gm3")
17
+ expect(json["@type"]).to eq("SoftwareSourceCode")
18
+ expect(json["name"]).to eq("Maremma: a Ruby library for simplified network calls")
19
+ expect(json["author"]).to eq("name"=>"Martin Fenner", "givenName"=>"Martin", "familyName"=>"Fenner", "@type"=>"Person", "@id"=>"http://orcid.org/0000-0003-0077-4738")
20
+ end
21
+
22
+ it "Schema.org JSON isReferencedBy" do
23
+ input = "https://doi.org/10.5061/DRYAD.8515"
24
+ subject = Bolognese::Metadata.new(input: input, from: "datacite")
25
+ json = JSON.parse(subject.schema_org)
26
+ expect(json["@id"]).to eq("https://doi.org/10.5061/dryad.8515")
27
+ expect(json["@reverse"]).to eq("citation"=>{"@id"=>"https://doi.org/10.1371/journal.ppat.1000446"})
28
+ end
29
+
30
+ it "Schema.org JSON IsSupplementTo" do
31
+ input = "https://doi.org/10.5517/CC8H01S"
32
+ subject = Bolognese::Metadata.new(input: input, from: "datacite")
33
+ json = JSON.parse(subject.schema_org)
34
+ expect(json["@id"]).to eq("https://doi.org/10.5517/cc8h01s")
35
+ expect(json["@reverse"]).to eq("isBasedOn"=>{"@id"=>"https://doi.org/10.1107/s1600536804021154"})
36
+ end
37
+
38
+ it "rdataone" do
39
+ input = fixture_path + 'codemeta.json'
40
+ subject = Bolognese::Metadata.new(input: input, from: "codemeta")
41
+ json = JSON.parse(subject.schema_org)
42
+ expect(json["@id"]).to eq("https://doi.org/10.5063/f1m61h5x")
43
+ expect(json["@type"]).to eq("SoftwareSourceCode")
44
+ expect(json["name"]).to eq("R Interface to the DataONE REST API")
45
+ expect(json["author"]).to eq([{"name"=>"Matt Jones",
46
+ "givenName"=>"Matt",
47
+ "familyName"=>"Jones",
48
+ "@type"=>"Person",
49
+ "@id"=>"http://orcid.org/0000-0003-0077-4738"},
50
+ {"name"=>"Peter Slaughter",
51
+ "givenName"=>"Peter",
52
+ "familyName"=>"Slaughter",
53
+ "@type"=>"Person",
54
+ "@id"=>"http://orcid.org/0000-0002-2192-403X"},
55
+ {"name"=>"University Of California, Santa Barbara", "@type"=>"Organization"}])
56
+ expect(json["version"]).to eq("2.0.0")
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,82 @@
1
+ require 'spec_helper'
2
+
3
+ describe Bolognese::Metadata, vcr: true do
4
+ context "write metadata as turtle" do
5
+ it "Crossref DOI" do
6
+ input = fixture_path + "crossref.bib"
7
+ subject = Bolognese::Metadata.new(input: input, from: "bibtex")
8
+ ttl = subject.turtle.split("\n")
9
+ expect(ttl[0]).to eq("@prefix schema: <http://schema.org/> .")
10
+ expect(ttl[2]).to eq("<https://doi.org/10.7554/elife.01567> a schema:ScholarlyArticle;")
11
+ end
12
+
13
+ it "Dataset" do
14
+ input = "https://doi.org/10.5061/DRYAD.8515"
15
+ subject = Bolognese::Metadata.new(input: input, from: "datacite")
16
+ expect(subject.valid?).to be true
17
+ ttl = subject.turtle.split("\n")
18
+ expect(ttl[0]).to eq("@prefix schema: <http://schema.org/> .")
19
+ expect(ttl[2]).to eq("<https://doi.org/10.1371/journal.ppat.1000446> schema:citation <https://doi.org/10.5061/dryad.8515> .")
20
+ end
21
+
22
+ it "BlogPosting" do
23
+ input= "https://doi.org/10.5438/4K3M-NYVG"
24
+ subject = Bolognese::Metadata.new(input: input, from: "datacite")
25
+ expect(subject.valid?).to be true
26
+ ttl = subject.turtle.split("\n")
27
+ expect(ttl[0]).to eq("@prefix schema: <http://schema.org/> .")
28
+ expect(ttl[2]).to eq("<https://doi.org/10.5438/4k3m-nyvg> a schema:ScholarlyArticle;")
29
+ end
30
+
31
+ it "BlogPosting Citeproc JSON" do
32
+ input = fixture_path + "citeproc.json"
33
+ subject = Bolognese::Metadata.new(input: input, from: "citeproc")
34
+ ttl = subject.turtle.split("\n")
35
+ expect(ttl[0]).to eq("@prefix schema: <http://schema.org/> .")
36
+ expect(ttl[2]).to eq("<https://doi.org/10.5438/4k3m-nyvg> a schema:BlogPosting;")
37
+ end
38
+
39
+ it "BlogPosting DataCite JSON" do
40
+ input = fixture_path + "datacite.json"
41
+ subject = Bolognese::Metadata.new(input: input, from: "datacite_json")
42
+ ttl = subject.turtle.split("\n")
43
+ expect(ttl[0]).to eq("@prefix schema: <http://schema.org/> .")
44
+ expect(ttl[2]).to eq("<https://doi.org/10.5438/4k3m-nyvg> a schema:ScholarlyArticle;")
45
+ end
46
+
47
+ # it "BlogPosting schema.org" do
48
+ # input = "https://blog.datacite.org/eating-your-own-dog-food/"
49
+ # subject = Bolognese::Metadata.new(input: input, from: "schema_org")
50
+ # expect(subject.valid?).to be true
51
+ # ttl = subject.turtle.split("\n")
52
+ # expect(ttl[0]).to eq("@prefix schema: <http://schema.org/> .")
53
+ # expect(ttl[2]).to eq("<https://doi.org/10.5438/4k3m-nyvg> a schema:ScholarlyArticle;")
54
+ # end
55
+
56
+ it "DataONE" do
57
+ input = fixture_path + 'codemeta.json'
58
+ subject = Bolognese::Metadata.new(input: input, from: "codemeta")
59
+ ttl = subject.turtle.split("\n")
60
+ expect(ttl[0]).to eq("@prefix schema: <http://schema.org/> .")
61
+ expect(ttl[2]).to eq("<https://doi.org/10.5063/f1m61h5x> a schema:SoftwareSourceCode;")
62
+ end
63
+
64
+ # it "journal article" do
65
+ # input = "10.7554/eLife.01567"
66
+ # subject = Bolognese::Metadata.new(input: input, from: "crossref")
67
+ # expect(subject.valid?).to be true
68
+ # ttl = subject.turtle.split("\n")
69
+ # expect(ttl[0]).to eq("@prefix schema: <http://schema.org/> .")
70
+ # expect(ttl[2]).to eq("<https://doi.org/10.7554/elife.01567> a schema:ScholarlyArticle;")
71
+ # end
72
+
73
+ # it "with pages" do
74
+ # input = "https://doi.org/10.1155/2012/291294"
75
+ # subject = Bolognese::Metadata.new(input: input, from: "crossref")
76
+ # expect(subject.valid?).to be true
77
+ # ttl = subject.turtle.split("\n")
78
+ # expect(ttl[0]).to eq("@prefix schema: <http://schema.org/> .")
79
+ # expect(ttl[2]).to eq("<https://doi.org/10.1155/2012/291294> a schema:ScholarlyArticle;")
80
+ # end
81
+ end
82
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bolognese
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.8
4
+ version: 0.9.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Fenner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-25 00:00:00.000000000 Z
11
+ date: 2017-05-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: maremma
@@ -438,29 +438,40 @@ files:
438
438
  - Rakefile
439
439
  - bin/bolognese
440
440
  - bolognese.gemspec
441
- - codemeta.json
442
441
  - lib/bolognese.rb
443
442
  - lib/bolognese/array.rb
444
443
  - lib/bolognese/author_utils.rb
445
- - lib/bolognese/bibtex.rb
446
- - lib/bolognese/citeproc.rb
447
444
  - lib/bolognese/cli.rb
448
- - lib/bolognese/codemeta.rb
449
- - lib/bolognese/crossref.rb
450
- - lib/bolognese/datacite.rb
451
- - lib/bolognese/datacite_json.rb
452
445
  - lib/bolognese/datacite_utils.rb
453
446
  - lib/bolognese/date_utils.rb
454
447
  - lib/bolognese/doi_utils.rb
455
448
  - lib/bolognese/metadata.rb
456
449
  - lib/bolognese/orcid.rb
457
450
  - lib/bolognese/pubmed.rb
458
- - lib/bolognese/ris.rb
459
- - lib/bolognese/schema_org.rb
451
+ - lib/bolognese/readers/bibtex_reader.rb
452
+ - lib/bolognese/readers/citeproc_reader.rb
453
+ - lib/bolognese/readers/codemeta_reader.rb
454
+ - lib/bolognese/readers/crosscite_reader.rb
455
+ - lib/bolognese/readers/crossref_reader.rb
456
+ - lib/bolognese/readers/datacite_json_reader.rb
457
+ - lib/bolognese/readers/datacite_reader.rb
458
+ - lib/bolognese/readers/ris_reader.rb
459
+ - lib/bolognese/readers/schema_org_reader.rb
460
460
  - lib/bolognese/string.rb
461
461
  - lib/bolognese/utils.rb
462
462
  - lib/bolognese/version.rb
463
463
  - lib/bolognese/whitelist_scrubber.rb
464
+ - lib/bolognese/writers/bibtex_writer.rb
465
+ - lib/bolognese/writers/citeproc_writer.rb
466
+ - lib/bolognese/writers/codemeta_writer.rb
467
+ - lib/bolognese/writers/crosscite_writer.rb
468
+ - lib/bolognese/writers/crossref_writer.rb
469
+ - lib/bolognese/writers/datacite_json_writer.rb
470
+ - lib/bolognese/writers/datacite_writer.rb
471
+ - lib/bolognese/writers/rdf_xml_writer.rb
472
+ - lib/bolognese/writers/ris_writer.rb
473
+ - lib/bolognese/writers/schema_org_writer.rb
474
+ - lib/bolognese/writers/turtle_writer.rb
464
475
  - resources/kernel-2.1/include/datacite-contributorType-v1.1.xsd
465
476
  - resources/kernel-2.1/include/datacite-contributorType-v2.xsd
466
477
  - resources/kernel-2.1/include/datacite-dateType-v1.1.xsd
@@ -504,13 +515,7 @@ files:
504
515
  - resources/schema_org/jsonldcontext.json
505
516
  - spec/array_spec.rb
506
517
  - spec/author_utils_spec.rb
507
- - spec/bibtex_spec.rb
508
- - spec/citeproc_spec.rb
509
518
  - spec/cli_spec.rb
510
- - spec/codemeta_spec.rb
511
- - spec/crossref_spec.rb
512
- - spec/datacite_json_spec.rb
513
- - spec/datacite_spec.rb
514
519
  - spec/datacite_utils_spec.rb
515
520
  - spec/doi_utils_spec.rb
516
521
  - spec/fixtures/citeproc.json
@@ -527,8 +532,6 @@ files:
527
532
  - spec/fixtures/datacite_software_overlapping_keys.json
528
533
  - spec/fixtures/maremma/codemeta.json
529
534
  - spec/fixtures/schema_org.json
530
- - spec/fixtures/vcr_cassettes/Bolognese_Bibtex/get_metadata_as_rdf_xml/Crossref_DOI.yml
531
- - spec/fixtures/vcr_cassettes/Bolognese_Bibtex/get_metadata_as_turtle/Crossref_DOI.yml
532
535
  - spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/default.yml
533
536
  - spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_bibtex.yml
534
537
  - spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_crossref.yml
@@ -543,131 +546,209 @@ files:
543
546
  - spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_bibtex.yml
544
547
  - spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_datacite.yml
545
548
  - spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_schema_org.yml
546
- - spec/fixtures/vcr_cassettes/Bolognese_Citeproc/get_metadata_as_rdf_xml/BlogPosting.yml
547
- - spec/fixtures/vcr_cassettes/Bolognese_Citeproc/get_metadata_as_turtle/BlogPosting.yml
548
- - spec/fixtures/vcr_cassettes/Bolognese_Codemeta/get_metadata/maremma.yml
549
- - spec/fixtures/vcr_cassettes/Bolognese_Codemeta/get_metadata/maremma_schema_org_JSON.yml
550
- - spec/fixtures/vcr_cassettes/Bolognese_Codemeta/get_metadata/no_codemeta_json.yml
551
- - spec/fixtures/vcr_cassettes/Bolognese_Codemeta/get_metadata/not_found_error.yml
552
- - spec/fixtures/vcr_cassettes/Bolognese_Codemeta/get_metadata_as_bibtex/maremma.yml
553
- - spec/fixtures/vcr_cassettes/Bolognese_Codemeta/get_metadata_as_citeproc/maremma.yml
554
- - spec/fixtures/vcr_cassettes/Bolognese_Codemeta/get_metadata_as_datacite_xml/maremma.yml
555
- - spec/fixtures/vcr_cassettes/Bolognese_Codemeta/get_metadata_as_rdf_xml/maremma.yml
556
- - spec/fixtures/vcr_cassettes/Bolognese_Codemeta/get_metadata_as_ris/maremma.yml
557
- - spec/fixtures/vcr_cassettes/Bolognese_Codemeta/get_metadata_as_schema_org_JSON/maremma.yml
558
- - spec/fixtures/vcr_cassettes/Bolognese_Codemeta/get_metadata_as_turtle/maremma.yml
559
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/authors_as_string/author.yml
560
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/authors_as_string/no_author.yml
561
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/authors_as_string/single_author.yml
562
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/authors_as_string/with_organization.yml
563
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_metadata/DOI_with_ORCID_ID.yml
564
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_metadata/DOI_with_SICI_DOI.yml
565
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_metadata/DOI_with_data_citation.yml
566
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_metadata/Schema_org_JSON.yml
567
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_metadata/date_in_future.yml
568
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_metadata/journal_article.yml
569
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_metadata/not_found_error.yml
570
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_metadata/posted_content.yml
571
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_metadata_as_bibtex/with_data_citation.yml
572
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_metadata_as_bibtex/with_pages.yml
573
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_metadata_as_citeproc/journal_article.yml
574
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_metadata_as_citeproc/with_pages.yml
575
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_metadata_as_datacite_xml/with_ORCID_ID.yml
576
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_metadata_as_datacite_xml/with_data_citation.yml
577
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_metadata_as_datacite_xml/with_editor.yml
578
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_metadata_as_rdf_xml/journal_article.yml
579
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_metadata_as_rdf_xml/with_pages.yml
580
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_metadata_as_ris/journal_article.yml
581
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_metadata_as_ris/with_pages.yml
582
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_metadata_as_string/DOI_with_data_citation.yml
583
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_metadata_as_turtle/journal_article.yml
584
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_metadata_as_turtle/with_pages.yml
585
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_name_identifier/has_ORCID.yml
586
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_name_identifier/has_no_ORCID.yml
587
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_one_author/author.yml
588
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_one_author/has_familyName.yml
589
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_one_author/has_multiple_names_in_display-order.yml
590
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_one_author/has_name_in_Thai.yml
591
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_one_author/has_name_in_display-order.yml
592
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_one_author/has_name_in_display-order_with_ORCID.yml
593
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_one_author/has_name_in_sort-order.yml
594
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_one_author/hyper-authorship.yml
595
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_one_author/is_organization.yml
596
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_one_author/multiple_author_names.yml
597
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_one_author/multiple_author_names_in_one_field.yml
598
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/is_personal_name_/has_comma.yml
599
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/is_personal_name_/has_family_name.yml
600
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/is_personal_name_/has_id.yml
601
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/is_personal_name_/has_known_given_name.yml
602
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/is_personal_name_/has_no_info.yml
603
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/is_personal_name_/has_type_organization.yml
604
- - spec/fixtures/vcr_cassettes/Bolognese_Crossref/is_personal_name_/has_type_person.yml
605
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata/BlogPosting.yml
606
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata/Dataset.yml
607
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata/Date.yml
608
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata/Funding_schema_version_3.yml
609
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata/Funding_schema_version_4.yml
610
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata/Schema_org_JSON_IsSupplementTo.yml
611
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata/Schema_org_JSON_isReferencedBy.yml
612
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata/author.yml
613
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata/author_only_full_name.yml
614
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata/author_with_scheme.yml
615
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata/is_identical_to.yml
616
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata/jsonlint.yml
617
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata/keywords_with_attributes.yml
618
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata/multiple_author_names_in_one_creatorName.yml
619
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata/multiple_licenses.yml
620
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata_as_bibtex/BlogPosting.yml
621
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata_as_bibtex/Dataset.yml
622
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata_as_citeproc/BlogPosting.yml
623
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata_as_citeproc/Dataset.yml
624
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata_as_codemeta/SoftwareSourceCode.yml
625
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata_as_datacite_xml_4_0/Dataset.yml
626
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata_as_rdf_xml/BlogPosting.yml
627
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata_as_ris/BlogPosting.yml
628
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata_as_ris/Dataset.yml
629
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata_as_turtle/BlogPosting.yml
630
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata_as_turtle/Dataset.yml
631
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_alternate_identifiers/insert.yml
632
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_contributors/none.yml
633
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_creators/insert.yml
634
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_dates/insert.yml
635
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_descriptions/insert.yml
636
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_identifier/doi.yml
637
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_person/creator_only_name.yml
638
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_publication_year/insert.yml
639
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_publisher/insert.yml
640
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_related_identifiers/insert.yml
641
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_related_identifiers/related_identifier.yml
642
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_resource_type/insert.yml
643
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_rights_list/insert.yml
644
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_subjects/insert.yml
645
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_titles/insert.yml
646
- - spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_version/insert.yml
647
- - spec/fixtures/vcr_cassettes/Bolognese_DataciteJson/get_metadata_as_rdf_xml/BlogPosting.yml
648
- - spec/fixtures/vcr_cassettes/Bolognese_DataciteJson/get_metadata_as_turtle/BlogPosting.yml
549
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/author.yml
550
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/no_author.yml
551
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/single_author.yml
552
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/with_organization.yml
553
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/doi.yml
554
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/not_a_doi.yml
555
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/url.yml
649
556
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/crossref.yml
650
557
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/datacite.yml
651
558
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/medra.yml
559
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_a_valid_prefix.yml
652
560
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_found.yml
653
561
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref.yml
654
562
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref_doi_not_url.yml
655
563
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite.yml
656
564
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite_doi_http.yml
657
- - spec/fixtures/vcr_cassettes/Bolognese_Metadata/generate/datacite.yml
658
- - spec/fixtures/vcr_cassettes/Bolognese_Metadata/read/datacite.yml
659
- - spec/fixtures/vcr_cassettes/Bolognese_SchemaOrg/get_metadata/BlogPosting.yml
660
- - spec/fixtures/vcr_cassettes/Bolognese_SchemaOrg/get_metadata/BlogPosting_schema_org_JSON.yml
661
- - spec/fixtures/vcr_cassettes/Bolognese_SchemaOrg/get_metadata/not_found_error.yml
662
- - spec/fixtures/vcr_cassettes/Bolognese_SchemaOrg/get_metadata_as_bibtex/with_data_citation.yml
663
- - spec/fixtures/vcr_cassettes/Bolognese_SchemaOrg/get_metadata_as_citeproc/BlogPosting.yml
664
- - spec/fixtures/vcr_cassettes/Bolognese_SchemaOrg/get_metadata_as_datacite_xml/with_data_citation.yml
665
- - spec/fixtures/vcr_cassettes/Bolognese_SchemaOrg/get_metadata_as_ris/BlogPosting.yml
565
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/github.yml
566
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/orcid.yml
567
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/schema_org.yml
568
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/bibtex.yml
569
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/citeproc.yml
570
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/codemeta.yml
571
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/crossref.yml
572
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite.yml
573
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite_json.yml
574
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/ris.yml
575
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/schema_org.yml
576
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/from_schema_org/with_id.yml
577
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/maremma.yml
578
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/no_codemeta_json.yml
579
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/not_found_error.yml
580
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_ORCID_ID.yml
581
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_SICI_DOI.yml
582
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_data_citation.yml
583
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/date_in_future.yml
584
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article.yml
585
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/not_found_error.yml
586
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/posted_content.yml
587
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/BlogPosting.yml
588
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Dataset.yml
589
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding_schema_version_4.yml
590
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_only_full_name.yml
591
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_scheme.yml
592
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/date.yml
593
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/funding_schema_version_3.yml
594
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/is_identical_to.yml
595
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/keywords_with_attributes.yml
596
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_author_names_in_one_creatorName.yml
597
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_licenses.yml
598
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/date.yml
599
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year-month.yml
600
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year.yml
601
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/date.yml
602
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year-month.yml
603
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year.yml
604
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_name_identifier/has_ORCID.yml
605
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_name_identifier/has_jacow_org_scheme.yml
606
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_name_identifier/has_no_ORCID.yml
607
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_familyName.yml
608
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_multiple_names_in_display-order.yml
609
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_Thai.yml
610
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order.yml
611
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order_with_ORCID.yml
612
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_sort-order.yml
613
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/hyper-authorship.yml
614
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/is_organization.yml
615
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_author_names_in_one_field.yml
616
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting.yml
617
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/not_found_error.yml
618
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_alternate_identifiers/insert.yml
619
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_contributors/none.yml
620
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_creators/insert.yml
621
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_dates/insert.yml
622
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_descriptions/insert.yml
623
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_identifier/doi.yml
624
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_person/creator_only_name.yml
625
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publication_year/insert.yml
626
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publisher/insert.yml
627
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/insert.yml
628
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/related_identifier.yml
629
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_resource_type/insert.yml
630
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_rights_list/insert.yml
631
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_subjects/insert.yml
632
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_titles/insert.yml
633
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_version/insert.yml
634
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_comma.yml
635
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_family_name.yml
636
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_id.yml
637
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_known_given_name.yml
638
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_no_info.yml
639
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_type_organization.yml
640
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/missing_comma.yml
641
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/nil.yml
642
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/overlapping_keys.yml
643
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/valid.yml
644
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/SICI_doi.yml
645
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi.yml
646
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_from_url_without_doi_proxy.yml
647
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_too_long.yml
648
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_with_string.yml
649
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_with_protocol.yml
650
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/dx_doi_org_url.yml
651
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/https_url.yml
652
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/not_valid_doi_prefix.yml
653
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/url_with_one_slash.yml
654
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi.yml
655
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi_as_url.yml
656
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/ftp.yml
657
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/invalid_url.yml
658
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/string.yml
659
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url.yml
660
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url_with_utf-8.yml
661
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/doi.yml
662
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/url.yml
663
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/uri.yml
664
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/with_trailing_slash.yml
665
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/array.yml
666
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/hash.yml
667
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/nil.yml
668
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/string.yml
669
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_only_keep_specific_tags.yml
670
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_remove_a_tags.yml
671
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org/with_id.yml
672
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/DOI.yml
673
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/ISSN.yml
674
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/URL.yml
675
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/string.yml
676
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/BlogPosting.yml
677
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/Dataset.yml
678
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/from_schema_org.yml
679
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/maremma.yml
680
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_data_citation.yml
681
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_pages.yml
682
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting.yml
683
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting_schema_org.yml
684
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/Dataset.yml
685
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/journal_article.yml
686
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/maremma.yml
687
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_pages.yml
688
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite.yml
689
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/maremma.yml
690
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_ORCID_ID.yml
691
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation.yml
692
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation_schema_org.yml
693
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_editor.yml
694
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crossref/from_DataCite.yml
695
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/maremma.yml
696
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_ORCID_ID.yml
697
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_data_citation.yml
698
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_data_citation_schema_org.yml
699
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Dataset_in_schema_4_0.yml
700
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/maremma.yml
701
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_ORCID_ID.yml
702
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation.yml
703
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation_schema_org.yml
704
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_editor.yml
705
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/BlogPosting.yml
706
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/BlogPosting_Citeproc_JSON.yml
707
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/Crossref_DOI.yml
708
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/journal_article.yml
709
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/maremma.yml
710
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/with_pages.yml
711
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting.yml
712
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting_schema_org.yml
713
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/Dataset.yml
714
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/journal_article.yml
715
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/maremma.yml
716
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/with_pages.yml
717
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_IsSupplementTo.yml
718
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_isReferencedBy.yml
719
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/journal_article.yml
720
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/maremma_schema_org_JSON.yml
721
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/BlogPosting.yml
722
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/BlogPosting_Citeproc_JSON.yml
723
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/BlogPosting_DataCite_JSON.yml
724
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/Crossref_DOI.yml
725
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/DataONE.yml
726
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/Dataset.yml
727
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/journal_article.yml
728
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/with_pages.yml
666
729
  - spec/metadata_spec.rb
667
730
  - spec/orcid_spec.rb
668
- - spec/schema_org_spec.rb
731
+ - spec/readers/bibtex_reader_spec.rb
732
+ - spec/readers/citeproc_reader_spec.rb
733
+ - spec/readers/codemeta_reader_spec.rb
734
+ - spec/readers/crossref_reader_spec.rb
735
+ - spec/readers/datacite_json_reader_spec.rb
736
+ - spec/readers/datacite_reader_spec.rb
737
+ - spec/readers/ris_reader_spec.rb
738
+ - spec/readers/schema_org_reader_spec.rb
669
739
  - spec/spec_helper.rb
670
740
  - spec/utils_spec.rb
741
+ - spec/writers/bibtex_writer_spec.rb
742
+ - spec/writers/citeproc_writer_spec.rb
743
+ - spec/writers/codemeta_writer_spec.rb
744
+ - spec/writers/crosscite_writer_spec.rb
745
+ - spec/writers/crossref_writer_spec.rb
746
+ - spec/writers/datacite_json_writer_spec.rb
747
+ - spec/writers/datacite_writer_spec.rb
748
+ - spec/writers/rdf_xml_writer_spec.rb
749
+ - spec/writers/ris_writer_spec.rb
750
+ - spec/writers/schema_org_writer_spec.rb
751
+ - spec/writers/turtle_writer_spec.rb
671
752
  homepage: https://github.com/datacite/bolognese
672
753
  licenses:
673
754
  - MIT