bolognese 1.1.17 → 1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +7 -7
- data/lib/bolognese.rb +2 -0
- data/lib/bolognese/readers/crossref_reader.rb +13 -15
- data/lib/bolognese/readers/schema_org_reader.rb +12 -1
- data/lib/bolognese/utils.rb +2 -2
- data/lib/bolognese/version.rb +1 -1
- data/spec/cli_spec.rb +1 -1
- data/spec/fixtures/crossref.xml +606 -742
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/default.yml +32 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_bibtex.yml +32 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_citation.yml +32 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_crossref.yml +32 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_datacite.yml +32 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_jats.yml +32 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_schema_org.yml +32 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/default.yml +15 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_bibtex.yml +15 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_citation.yml +15 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_datacite.yml +15 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_datacite_json.yml +15 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_jats.yml +15 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_schema_org.yml +15 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/default.yml +22 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_bibtex.yml +22 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_datacite.yml +22 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_schema_org.yml +22 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/crossref.yml +6 -6
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/datacite.yml +6 -6
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/author.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/no_author.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/single_author.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/with_organization.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_datacite_metadata/change_state.yml +15 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_datacite_metadata/change_title.yml +15 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_description.yml +26 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license.yml +26 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license_name.yml +26 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license_url.yml +26 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_state.yml +26 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/validates_against_schema.yml +26 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/with_data_citation.yml +26 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/doi.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/doi_with_protocol.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/dx_doi_org_url.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/force_test_resolver.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/https_url.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/test_resolver.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/test_resolver_http.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/doi.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/doi_with_special_characters.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/not_a_doi.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/sandbox_url.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/url.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/crossref.yml +25 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/datacite.yml +25 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/medra.yml +25 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_a_valid_prefix.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_found.yml +25 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/doi.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/doi_with_protocol.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/dx_doi_org_url.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/force_test_resolver.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/https_url.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/test_resolver.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/test_resolver_http.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref.yml +22 -21
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref_doi_not_url.yml +22 -21
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite.yml +22 -21
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite_doi_http.yml +22 -21
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/github.yml +16 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/orcid.yml +16 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/schema_org.yml +17 -16
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/unknown_DOI_registration_agency.yml +22 -21
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/bibtex.yml +16 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/citeproc.yml +17 -16
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/codemeta.yml +16 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/crosscite.yml +16 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/crossref.yml +16 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite.yml +16 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite_json.yml +16 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/ris.yml +16 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/schema_org.yml +16 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_string/crosscite.yml +16 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/from_schema_org/with_id.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/maremma.yml +12 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/metadata_reports.yml +8 -8
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_ORCID_ID.yml +29 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_SICI_DOI.yml +28 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_data_citation.yml +32 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/book_chapter.yml +97 -71
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/dataset.yml +57 -35
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/date_in_future.yml +27 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article.yml +26 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with.yml +30 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/not_found_error.yml +26 -22
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/posted_content.yml +25 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/vor_with_url.yml +28 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/BlogPosting.yml +16 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_test_system.yml +17 -17
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_test_system_schema_3.yml +17 -17
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_with_related_id_system.yml +24 -20
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_not_found.yml +13 -13
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Dataset.yml +15 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding.yml +15 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding_empty_awardTitle.yml +15 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding_schema_version_4.yml +15 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Referee_report_in_test_system.yml +17 -17
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_only_full_name.yml +15 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_scheme.yml +15 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_wrong_orcid_scheme.yml +16 -16
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/content_url.yml +19 -19
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/date.yml +16 -16
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/dissertation.yml +15 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/doi_with_sign.yml +16 -16
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/empty_subject.yml +16 -16
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/funding_schema_version_3.yml +26 -17
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/is_identical_to.yml +15 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/keywords_with_attributes.yml +16 -16
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/leading_and_trailing_whitespace.yml +17 -17
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_author_names_in_one_creatorsName.yml +16 -16
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_licenses.yml +27 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/series-information.yml +15 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/subject_scheme.yml +15 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/xs_string_attributes.yml +15 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date/publication_date.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/date.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year-month.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/date.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/year-month.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/year.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/date.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year-month.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_familyName.yml +10 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_Thai.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order.yml +20 -11
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order_with_ORCID.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_sort-order.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/hyper-authorship.yml +13 -13
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/is_organization.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_author_names_in_one_field.yml +10 -10
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_name_identifier.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_affiliation.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_affiliation_and_country.yml +10 -10
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_role.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/only_familyName_and_givenName.yml +14 -10
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting.yml +22 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting_with_new_DOI.yml +22 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/harvard_dataverse.yml +5 -5
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/harvard_dataverse_via_identifiers_org.yml +41 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/ornl.yml +145 -391
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/pangaea.yml +14 -10
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/zenodo.yml +78 -84
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/only_title.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_and_pages.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_volume_and_pages.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_volume_issue_and_pages.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_as_codemeta_url.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_from_url.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_from_url_file.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/DOI_RA_not_Crossref_or_DataCite.yml +6 -6
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/unknown_DOI_prefix.yml +6 -6
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_alternate_identifiers/insert.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_contributors/none.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_creators/insert.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_descriptions/insert.yml +10 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_identifier/doi.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_person/creator_only_name.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publication_year/insert.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publisher/insert.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/insert.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/related_identifier.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_resource_type/insert.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_rights_list/insert.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_subjects/insert.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_titles/insert.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_version/insert.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_comma.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_family_name.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_id.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_known_given_name.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_no_info.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_orcid_id.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_type_organization.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/missing_comma.yml +16 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/nil.yml +16 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/overlapping_keys.yml +16 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/valid.yml +16 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/SICI_doi.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_force_datacite_sandbox.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_from_datacite_sandbox.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_from_url_without_doi_proxy.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_too_long.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_with_string.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_with_protocol.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/dx_doi_org_url.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/https_url.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/not_valid_doi_prefix.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/url_with_one_slash.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi_as_url.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/ftp.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/invalid_url.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/sandbox_via_options.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/sandbox_via_url.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/string.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url_with_utf-8.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/doi.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/url.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/uri.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/with_trailing_slash.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/array.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/array_of_strings.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/first.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/hash.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/nil.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/string.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_only_keep_specific_tags.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_remove_a_tags.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org/with_id.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org_identifiers/with_identifiers.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_https.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_id.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_with_spaces.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_wrong_id.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_www.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_https.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_trailing_slash.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_www.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi_as_url.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi_with_protocol.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/only_prefix.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/DOI.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/ISSN.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/URL.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/string.yml +19 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/BlogPosting.yml +10 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/Dataset.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/authors_with_affiliations.yml +10 -10
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/climate_data.yml +10 -10
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/from_schema_org.yml +22 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/keywords_subject_scheme.yml +19 -10
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/maremma.yml +12 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/text.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_data_citation.yml +26 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_pages.yml +23 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Dataset.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Journal_article.yml +26 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting.yml +10 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting_schema_org.yml +21 -17
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/Dataset.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/container_title.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/journal_article.yml +26 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/keywords_subject_scheme.yml +19 -10
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/maremma.yml +11 -11
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/multiple_abstracts.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/software.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_pages.yml +23 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite.yml +11 -17
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite_check_codemeta_v2.yml +11 -17
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/datacite_database_attributes.yml +10 -10
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/maremma.yml +12 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_ORCID_ID.yml +23 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation.yml +26 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation_schema_org.yml +22 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crossref/from_DataCite.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/climate_data.yml +11 -11
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/maremma.yml +14 -14
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/text.yml +9 -44
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/with_data_citation.yml +26 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/with_pages.yml +23 -46
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/maremma.yml +12 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_ORCID_ID.yml +23 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_data_citation.yml +26 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_data_citation_schema_org.yml +22 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/DOI_not_found.yml +7 -7
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Dataset_in_schema_4_0.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Text_pass-thru.yml +10 -10
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Text_pass-thru_with_doi_in_options.yml +10 -10
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/maremma.yml +14 -14
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_ORCID_ID.yml +23 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation.yml +26 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation_schema_org.yml +22 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_editor.yml +20 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/Dataset_in_schema_4_0.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/Text_pass-thru.yml +10 -10
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/book_chapter.yml +60 -36
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/maremma.yml +13 -13
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_ORCID_ID.yml +23 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_data_citation.yml +26 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_data_citation_schema_org.yml +22 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_editor.yml +20 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting.yml +10 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting_schema_org.yml +22 -18
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/Dataset.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/alternate_name.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/journal_article.yml +26 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/keywords_with_subject_scheme.yml +19 -10
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/maremma.yml +12 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/with_pages.yml +23 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Funding.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Funding_OpenAIRE.yml +20 -11
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON.yml +20 -11
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_IsSupplementTo.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_isReferencedBy.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/alternate_identifiers.yml +13 -13
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/data_catalog.yml +10 -10
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/geo_location_box.yml +14 -10
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/journal_article.yml +26 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/maremma_schema_org_JSON.yml +12 -12
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/series_information.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/subject_scheme.yml +9 -9
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/subject_scheme_multiple_keywords.yml +19 -10
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/Dataset.yml +9 -4929
- data/spec/readers/crossref_reader_spec.rb +13 -6
- data/spec/readers/datacite_json_reader_spec.rb +0 -1
- data/spec/readers/datacite_reader_spec.rb +3 -3
- data/spec/readers/schema_org_reader_spec.rb +2 -2
- data/spec/writers/crosscite_writer_spec.rb +1 -1
- data/spec/writers/crossref_writer_spec.rb +3 -3
- data/spec/writers/csv_writer_spec.rb +2 -2
- data/spec/writers/ris_writer_spec.rb +3 -3
- metadata +2 -4
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/BlogPosting_Citeproc_JSON.yml +0 -4923
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/Crossref_DOI.yml +0 -4919
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 29a704405de7382a58a668188e957e17d5ae8bc88f4431415af66fa162304105
|
4
|
+
data.tar.gz: ca1e33a243ca3e28efaf8ee011f7e80a189483af425602357c297a8844c44630
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7258149be4ee5d9dc825d717d3a600dc5d9681ee8eddda407eeecaf66477be68083a8d7cf95278e94d59b53cab0c03a2e3c03998e6ecdad6fbdf7c9d652e3ec1
|
7
|
+
data.tar.gz: 566b431d64df23d0e885d55b2c732d3c72731122441b5df91d852562ebc613f0f2eaee3b70f60237d629c1e74204d485a4659a60139389e75b2e84b82bbba095
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
bolognese (1.
|
4
|
+
bolognese (1.2)
|
5
5
|
activesupport (>= 4.2.5, < 6)
|
6
6
|
benchmark_methods (~> 0.7)
|
7
7
|
bibtex-ruby (~> 4.1)
|
@@ -62,8 +62,8 @@ GEM
|
|
62
62
|
sxp (~> 1.0)
|
63
63
|
edtf (3.0.4)
|
64
64
|
activesupport (>= 3.0, < 6.0)
|
65
|
-
excon (0.
|
66
|
-
faraday (0.
|
65
|
+
excon (0.62.0)
|
66
|
+
faraday (0.14.0)
|
67
67
|
multipart-post (>= 1.2, < 3)
|
68
68
|
faraday-encoding (0.0.5)
|
69
69
|
faraday
|
@@ -97,12 +97,12 @@ GEM
|
|
97
97
|
loofah (2.2.3)
|
98
98
|
crass (~> 1.0.2)
|
99
99
|
nokogiri (>= 1.5.9)
|
100
|
-
maremma (4.2.
|
100
|
+
maremma (4.2.3)
|
101
101
|
activesupport (>= 4.2.5, < 6)
|
102
102
|
addressable (>= 2.3.6)
|
103
103
|
builder (~> 3.2, >= 3.2.2)
|
104
|
-
excon (~> 0.60)
|
105
|
-
faraday (~> 0.14)
|
104
|
+
excon (~> 0.60, < 0.63)
|
105
|
+
faraday (~> 0.14, < 0.15)
|
106
106
|
faraday-encoding (~> 0.0.4)
|
107
107
|
faraday_middleware (~> 0.12.0)
|
108
108
|
multi_json (~> 1.12)
|
@@ -150,7 +150,7 @@ GEM
|
|
150
150
|
rspec-core (~> 3.8.0)
|
151
151
|
rspec-expectations (~> 3.8.0)
|
152
152
|
rspec-mocks (~> 3.8.0)
|
153
|
-
rspec-core (3.8.
|
153
|
+
rspec-core (3.8.2)
|
154
154
|
rspec-support (~> 3.8.0)
|
155
155
|
rspec-expectations (3.8.4)
|
156
156
|
diff-lcs (>= 1.2.0, < 2.0)
|
data/lib/bolognese.rb
CHANGED
@@ -4,14 +4,11 @@ module Bolognese
|
|
4
4
|
module Readers
|
5
5
|
module CrossrefReader
|
6
6
|
# CrossRef types from https://api.crossref.org/types
|
7
|
-
|
8
|
-
CONTACT_EMAIL = "tech@datacite.org"
|
9
|
-
|
10
7
|
def get_crossref(id: nil, **options)
|
11
8
|
return { "string" => nil, "state" => "not_found" } unless id.present?
|
12
9
|
|
13
10
|
doi = doi_from_url(id)
|
14
|
-
url = "
|
11
|
+
url = "https://api.crossref.org/works/#{doi}/transform/application/vnd.crossref.unixsd+xml"
|
15
12
|
response = Maremma.get(url, accept: "text/xml", raw: true)
|
16
13
|
string = response.body.fetch("data", nil)
|
17
14
|
string = Nokogiri::XML(string, nil, 'UTF-8', &:noblanks).to_s if string.present?
|
@@ -23,22 +20,26 @@ module Bolognese
|
|
23
20
|
read_options = ActiveSupport::HashWithIndifferentAccess.new(options.except(:doi, :id, :url, :sandbox, :validate))
|
24
21
|
|
25
22
|
if string.present?
|
26
|
-
m = Maremma.from_xml(string).dig("
|
27
|
-
meta = m.dig("crossref", "error").nil? ? m : {}
|
23
|
+
m = Maremma.from_xml(string).dig("crossref_result", "query_result", "body", "query", "doi_record") || {}
|
24
|
+
meta = m.dig("doi_record", "crossref", "error").nil? ? m : {}
|
25
|
+
|
26
|
+
# query contains information from outside metadata schema, e.g. publisher name
|
27
|
+
query = Maremma.from_xml(string).dig("crossref_result", "query_result", "body", "query") || {}
|
28
28
|
else
|
29
29
|
meta = {}
|
30
|
+
query = {}
|
30
31
|
end
|
31
32
|
|
32
33
|
# model should be one of book, conference, database, dissertation, journal, peer_review, posted_content,
|
33
34
|
# report-paper, sa_component, standard
|
34
|
-
model = meta.dig("crossref").to_h.keys.
|
35
|
+
model = meta.dig("crossref").to_h.keys.last
|
35
36
|
|
36
37
|
resource_type = nil
|
37
38
|
bibliographic_metadata = {}
|
38
39
|
program_metadata = {}
|
39
40
|
journal_metadata = nil
|
40
41
|
journal_issue = {}
|
41
|
-
publisher = "
|
42
|
+
publisher = query.dig("crm_item", 0)
|
42
43
|
|
43
44
|
case model
|
44
45
|
when "book"
|
@@ -83,14 +84,11 @@ module Bolognese
|
|
83
84
|
"ris" => Bolognese::Utils::CR_TO_RIS_TRANSLATIONS[resource_type] || "JOUR"
|
84
85
|
}.compact
|
85
86
|
|
86
|
-
|
87
|
-
|
87
|
+
date_updated = Array.wrap(query.to_h["crm_item"]).find { |cr| cr["name"] == "last-update" }
|
88
|
+
date_updated = { "date" => date_updated.fetch("__content__", nil), "dateType" => "Updated" } if date_updated.present?
|
88
89
|
dates = [
|
89
|
-
{ "date" => crossref_date_published(bibliographic_metadata),
|
90
|
-
|
91
|
-
{ "date" => Time.zone.parse(meta.fetch("timestamp", "2018-01-01")).utc.iso8601,
|
92
|
-
"dateType" => "Updated" }
|
93
|
-
]
|
90
|
+
{ "date" => crossref_date_published(bibliographic_metadata), "dateType" => "Issued" }, date_updated
|
91
|
+
].compact
|
94
92
|
publication_year = crossref_date_published(bibliographic_metadata).present? ? crossref_date_published(bibliographic_metadata)[0..3] : nil
|
95
93
|
state = meta.present? || read_options.present? ? "findable" : "not_found"
|
96
94
|
|
@@ -5,6 +5,7 @@ module Bolognese
|
|
5
5
|
module SchemaOrgReader
|
6
6
|
SO_TO_DC_RELATION_TYPES = {
|
7
7
|
"citation" => "References",
|
8
|
+
"isBasedOn" => "IsSupplementedBy",
|
8
9
|
"sameAs" => "IsIdenticalTo",
|
9
10
|
"isPartOf" => "IsPartOf",
|
10
11
|
"hasPart" => "HasPart",
|
@@ -12,6 +13,16 @@ module Bolognese
|
|
12
13
|
"isSuccessor" => "IsNewVersionOf"
|
13
14
|
}
|
14
15
|
|
16
|
+
SO_TO_DC_REVERSE_RELATION_TYPES = {
|
17
|
+
"citation" => "IsReferencedBy",
|
18
|
+
"isBasedOn" => "IsSupplementTo",
|
19
|
+
"sameAs" => "IsIdenticalTo",
|
20
|
+
"isPartOf" => "HasPart",
|
21
|
+
"hasPart" => "IsPartOf",
|
22
|
+
"isPredecessor" => "IsNewVersionOf",
|
23
|
+
"isSuccessor" => "IsPreviousVersionOf"
|
24
|
+
}
|
25
|
+
|
15
26
|
def get_schema_org(id: nil, **options)
|
16
27
|
return { "string" => nil, "state" => "not_found" } unless id.present?
|
17
28
|
|
@@ -176,7 +187,7 @@ module Bolognese
|
|
176
187
|
end
|
177
188
|
|
178
189
|
def schema_org_reverse_related_identifier(meta, relation_type: nil)
|
179
|
-
normalize_ids(ids: meta.dig("@reverse", relation_type), relation_type:
|
190
|
+
normalize_ids(ids: meta.dig("@reverse", relation_type), relation_type: SO_TO_DC_REVERSE_RELATION_TYPES[relation_type])
|
180
191
|
end
|
181
192
|
|
182
193
|
def schema_org_is_identical_to(meta)
|
data/lib/bolognese/utils.rb
CHANGED
@@ -354,7 +354,7 @@ module Bolognese
|
|
354
354
|
"bibtex"
|
355
355
|
elsif options[:ext] == ".ris"
|
356
356
|
"ris"
|
357
|
-
elsif options[:ext] == ".xml" && Maremma.from_xml(string).to_h.dig("
|
357
|
+
elsif options[:ext] == ".xml" && Maremma.from_xml(string).to_h.dig("crossref_result", "query_result", "body", "query", "doi_record", "crossref")
|
358
358
|
"crossref"
|
359
359
|
elsif options[:ext] == ".xml" && Nokogiri::XML(string, nil, 'UTF-8', &:noblanks).collect_namespaces.find { |k, v| v.start_with?("http://datacite.org/schema/kernel") }
|
360
360
|
"datacite"
|
@@ -372,7 +372,7 @@ module Bolognese
|
|
372
372
|
end
|
373
373
|
|
374
374
|
def find_from_format_by_string(string)
|
375
|
-
if Maremma.from_xml(string).to_h.dig("
|
375
|
+
if Maremma.from_xml(string).to_h.dig("crossref_result", "query_result", "body", "query", "doi_record", "crossref").present?
|
376
376
|
"crossref"
|
377
377
|
elsif Nokogiri::XML(string, nil, 'UTF-8', &:noblanks).collect_namespaces.find { |k, v| v.start_with?("http://datacite.org/schema/kernel") }
|
378
378
|
"datacite"
|
data/lib/bolognese/version.rb
CHANGED
data/spec/cli_spec.rb
CHANGED
@@ -152,7 +152,7 @@ describe Bolognese::CLI do
|
|
152
152
|
|
153
153
|
it 'to bibtex' do
|
154
154
|
subject.options = { to: "bibtex" }
|
155
|
-
expect { subject.convert file }.to output(/@article{https:\/\/doi.org\/10.
|
155
|
+
expect { subject.convert file }.to output(/@article{https:\/\/doi.org\/10.7554\/elife.01567/).to_stdout
|
156
156
|
end
|
157
157
|
end
|
158
158
|
|
data/spec/fixtures/crossref.xml
CHANGED
@@ -1,742 +1,606 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<
|
3
|
-
<
|
4
|
-
<
|
5
|
-
<
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
</
|
11
|
-
<
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
<
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
<
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
|
540
|
-
|
541
|
-
|
542
|
-
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
|
561
|
-
|
562
|
-
|
563
|
-
|
564
|
-
|
565
|
-
|
566
|
-
|
567
|
-
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
|
575
|
-
|
576
|
-
|
577
|
-
|
578
|
-
|
579
|
-
|
580
|
-
|
581
|
-
|
582
|
-
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
590
|
-
|
591
|
-
|
592
|
-
|
593
|
-
|
594
|
-
|
595
|
-
|
596
|
-
|
597
|
-
|
598
|
-
|
599
|
-
|
600
|
-
</
|
601
|
-
|
602
|
-
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
|
607
|
-
<article_title>H2O2-induced block of glycolysis as an active ADP-ribosylation reaction protecting cells from apoptosis.</article_title>
|
608
|
-
</citation>
|
609
|
-
<citation key="ref66">
|
610
|
-
<journal_title>Free Radic Biol Med</journal_title>
|
611
|
-
<author>VM Costa</author>
|
612
|
-
<volume>33</volume>
|
613
|
-
<first_page>1507</first_page>
|
614
|
-
<cYear>2002</cYear>
|
615
|
-
<article_title>Hydrogen peroxide-induced carbonylation of key metabolic enzymes in <italic>Saccharomyces cerevisiae</italic>: the involvement of the oxidative stress response regulators Yap1 and Skn7.</article_title>
|
616
|
-
</citation>
|
617
|
-
<citation key="ref67">
|
618
|
-
<journal_title>Mol Cell Biol</journal_title>
|
619
|
-
<author>CM Grant</author>
|
620
|
-
<volume>19</volume>
|
621
|
-
<first_page>2650</first_page>
|
622
|
-
<cYear>1999</cYear>
|
623
|
-
<article_title>Differential protein S-thiolation of glyceraldehyde-3-phosphate dehydrogenase isoenzymes influences sensitivity to oxidative stress.</article_title>
|
624
|
-
</citation>
|
625
|
-
<citation key="ref68">
|
626
|
-
<journal_title>Eur J Biochem</journal_title>
|
627
|
-
<author>I Schuppe-Koistinen</author>
|
628
|
-
<volume>221</volume>
|
629
|
-
<first_page>1033</first_page>
|
630
|
-
<cYear>1994</cYear>
|
631
|
-
<article_title>S-thiolation of human endothelial cell glyceraldehyde-3-phosphate dehydrogenase after hydrogen peroxide treatment.</article_title>
|
632
|
-
</citation>
|
633
|
-
<citation key="ref69">
|
634
|
-
<journal_title>J Biol Chem</journal_title>
|
635
|
-
<author>V Ravichandran</author>
|
636
|
-
<volume>269</volume>
|
637
|
-
<first_page>25010</first_page>
|
638
|
-
<cYear>1994</cYear>
|
639
|
-
<article_title>S-thiolation of glyceraldehyde-3-phosphate dehydrogenase induced by the phagocytosis-associated respiratory burst in blood monocytes.</article_title>
|
640
|
-
</citation>
|
641
|
-
<citation key="ref70">
|
642
|
-
<journal_title>Curr Genet</journal_title>
|
643
|
-
<author>B Krems</author>
|
644
|
-
<volume>27</volume>
|
645
|
-
<first_page>427</first_page>
|
646
|
-
<cYear>1995</cYear>
|
647
|
-
<article_title>Mutants of <italic>Saccharomyces cerevisiae</italic> sensitive to oxidative and osmotic stress.</article_title>
|
648
|
-
</citation>
|
649
|
-
<citation key="ref71">
|
650
|
-
<journal_title>Annu Rev Plant Biol</journal_title>
|
651
|
-
<author>BB Buchanan</author>
|
652
|
-
<volume>56</volume>
|
653
|
-
<first_page>187</first_page>
|
654
|
-
<cYear>2005</cYear>
|
655
|
-
<article_title>Redox regulation: a broadening horizon.</article_title>
|
656
|
-
</citation>
|
657
|
-
<citation key="ref72">
|
658
|
-
<journal_title>Antioxid Redox Signal</journal_title>
|
659
|
-
<author>A Holmgren</author>
|
660
|
-
<volume>2</volume>
|
661
|
-
<first_page>811</first_page>
|
662
|
-
<cYear>2000</cYear>
|
663
|
-
<article_title>Antioxidant function of thioredoxin and glutaredoxin systems.</article_title>
|
664
|
-
</citation>
|
665
|
-
<citation key="ref73">
|
666
|
-
<journal_title>N Engl J Med</journal_title>
|
667
|
-
<author>KB Hammond</author>
|
668
|
-
<volume>325</volume>
|
669
|
-
<first_page>769</first_page>
|
670
|
-
<cYear>1991</cYear>
|
671
|
-
<article_title>Efficacy of statewide neonatal screening for cystic fibrosis by assay of trypsinogen concentrations.</article_title>
|
672
|
-
</citation>
|
673
|
-
</citation_list>
|
674
|
-
<component_list>
|
675
|
-
<component parent_relation="isPartOf">
|
676
|
-
<description />
|
677
|
-
<doi_data>
|
678
|
-
<doi>10.1371/journal.pone.0000030.g001</doi>
|
679
|
-
<resource>http://dx.plos.org/10.1371/journal.pone.0000030.g001</resource>
|
680
|
-
</doi_data>
|
681
|
-
</component>
|
682
|
-
<component parent_relation="isPartOf">
|
683
|
-
<description />
|
684
|
-
<doi_data>
|
685
|
-
<doi>10.1371/journal.pone.0000030.g002</doi>
|
686
|
-
<resource>http://dx.plos.org/10.1371/journal.pone.0000030.g002</resource>
|
687
|
-
</doi_data>
|
688
|
-
</component>
|
689
|
-
<component parent_relation="isPartOf">
|
690
|
-
<description />
|
691
|
-
<doi_data>
|
692
|
-
<doi>10.1371/journal.pone.0000030.g003</doi>
|
693
|
-
<resource>http://dx.plos.org/10.1371/journal.pone.0000030.g003</resource>
|
694
|
-
</doi_data>
|
695
|
-
</component>
|
696
|
-
<component parent_relation="isPartOf">
|
697
|
-
<description />
|
698
|
-
<doi_data>
|
699
|
-
<doi>10.1371/journal.pone.0000030.g004</doi>
|
700
|
-
<resource>http://dx.plos.org/10.1371/journal.pone.0000030.g004</resource>
|
701
|
-
</doi_data>
|
702
|
-
</component>
|
703
|
-
<component parent_relation="isPartOf">
|
704
|
-
<description />
|
705
|
-
<doi_data>
|
706
|
-
<doi>10.1371/journal.pone.0000030.g005</doi>
|
707
|
-
<resource>http://dx.plos.org/10.1371/journal.pone.0000030.g005</resource>
|
708
|
-
</doi_data>
|
709
|
-
</component>
|
710
|
-
<component parent_relation="isPartOf">
|
711
|
-
<description />
|
712
|
-
<doi_data>
|
713
|
-
<doi>10.1371/journal.pone.0000030.g006</doi>
|
714
|
-
<resource>http://dx.plos.org/10.1371/journal.pone.0000030.g006</resource>
|
715
|
-
</doi_data>
|
716
|
-
</component>
|
717
|
-
<component parent_relation="isPartOf">
|
718
|
-
<description />
|
719
|
-
<doi_data>
|
720
|
-
<doi>10.1371/journal.pone.0000030.g007</doi>
|
721
|
-
<resource>http://dx.plos.org/10.1371/journal.pone.0000030.g007</resource>
|
722
|
-
</doi_data>
|
723
|
-
</component>
|
724
|
-
<component parent_relation="isPartOf">
|
725
|
-
<description />
|
726
|
-
<doi_data>
|
727
|
-
<doi>10.1371/journal.pone.0000030.g008</doi>
|
728
|
-
<resource>http://dx.plos.org/10.1371/journal.pone.0000030.g008</resource>
|
729
|
-
</doi_data>
|
730
|
-
</component>
|
731
|
-
<component parent_relation="isPartOf">
|
732
|
-
<doi_data>
|
733
|
-
<doi>10.1371/journal.pone.0000030.s001</doi>
|
734
|
-
<resource>http://dx.plos.org/10.1371/journal.pone.0000030.s001</resource>
|
735
|
-
</doi_data>
|
736
|
-
</component>
|
737
|
-
</component_list>
|
738
|
-
</journal_article>
|
739
|
-
</journal>
|
740
|
-
</crossref>
|
741
|
-
</doi_record>
|
742
|
-
</doi_records>
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<crossref_result xmlns="http://www.crossref.org/qrschema/3.0" version="3.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.crossref.org/qrschema/3.0 http://www.crossref.org/schemas/crossref_query_output3.0.xsd">
|
3
|
+
<query_result>
|
4
|
+
<head>
|
5
|
+
<doi_batch_id>none</doi_batch_id>
|
6
|
+
</head>
|
7
|
+
<body>
|
8
|
+
<query status="resolved">
|
9
|
+
<doi type="journal_article">10.7554/eLife.01567</doi>
|
10
|
+
<crm-item name="publisher-name" type="string">eLife Sciences Publications, Ltd</crm-item>
|
11
|
+
<crm-item name="prefix-name" type="string">eLife Sciences Publications, Ltd.</crm-item>
|
12
|
+
<crm-item name="member-id" type="number">4374</crm-item>
|
13
|
+
<crm-item name="citation-id" type="number">67124617</crm-item>
|
14
|
+
<crm-item name="journal-id" type="number">189365</crm-item>
|
15
|
+
<crm-item name="deposit-timestamp" type="number">20180823133646</crm-item>
|
16
|
+
<crm-item name="owner-prefix" type="string">10.7554</crm-item>
|
17
|
+
<crm-item name="last-update" type="date">2018-08-23T13:41:49Z</crm-item>
|
18
|
+
<crm-item name="created" type="date">2014-02-11T16:29:04Z</crm-item>
|
19
|
+
<crm-item name="citedby-count" type="number">13</crm-item>
|
20
|
+
<doi_record>
|
21
|
+
<crossref xmlns="http://www.crossref.org/xschema/1.1" xsi:schemaLocation="http://www.crossref.org/xschema/1.1 http://doi.crossref.org/schemas/unixref1.1.xsd">
|
22
|
+
<journal>
|
23
|
+
<journal_metadata language="en">
|
24
|
+
<full_title>eLife</full_title>
|
25
|
+
<issn media_type="electronic">2050-084X</issn>
|
26
|
+
</journal_metadata>
|
27
|
+
<journal_issue>
|
28
|
+
<publication_date media_type="online">
|
29
|
+
<month>02</month>
|
30
|
+
<day>11</day>
|
31
|
+
<year>2014</year>
|
32
|
+
</publication_date>
|
33
|
+
<journal_volume>
|
34
|
+
<volume>3</volume>
|
35
|
+
</journal_volume>
|
36
|
+
</journal_issue>
|
37
|
+
<journal_article publication_type="full_text" reference_distribution_opts="any">
|
38
|
+
<titles>
|
39
|
+
<title>Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth</title>
|
40
|
+
</titles>
|
41
|
+
<contributors>
|
42
|
+
<person_name contributor_role="author" sequence="first">
|
43
|
+
<given_name>Martial</given_name>
|
44
|
+
<surname>Sankar</surname>
|
45
|
+
<affiliation>Department of Plant Molecular Biology, University of Lausanne, Lausanne, Switzerland</affiliation>
|
46
|
+
</person_name>
|
47
|
+
<person_name contributor_role="author" sequence="additional">
|
48
|
+
<given_name>Kaisa</given_name>
|
49
|
+
<surname>Nieminen</surname>
|
50
|
+
<affiliation>Department of Plant Molecular Biology, University of Lausanne, Lausanne, Switzerland</affiliation>
|
51
|
+
</person_name>
|
52
|
+
<person_name contributor_role="author" sequence="additional">
|
53
|
+
<given_name>Laura</given_name>
|
54
|
+
<surname>Ragni</surname>
|
55
|
+
<affiliation>Department of Plant Molecular Biology, University of Lausanne, Lausanne, Switzerland</affiliation>
|
56
|
+
</person_name>
|
57
|
+
<person_name contributor_role="author" sequence="additional">
|
58
|
+
<given_name>Ioannis</given_name>
|
59
|
+
<surname>Xenarios</surname>
|
60
|
+
<affiliation>Vital-IT, Swiss Institute of Bioinformatics, Lausanne, Switzerland</affiliation>
|
61
|
+
</person_name>
|
62
|
+
<person_name contributor_role="author" sequence="additional">
|
63
|
+
<given_name>Christian S</given_name>
|
64
|
+
<surname>Hardtke</surname>
|
65
|
+
<affiliation>Department of Plant Molecular Biology, University of Lausanne, Lausanne, Switzerland</affiliation>
|
66
|
+
</person_name>
|
67
|
+
</contributors>
|
68
|
+
<jats:abstract xmlns:jats="http://www.ncbi.nlm.nih.gov/JATS1">
|
69
|
+
<jats:p>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. For instance, secondary growth of Arabidopsis hypocotyls creates a radial pattern of highly specialized tissues that comprises several thousand cells starting from a few dozen. This dynamic process is difficult to follow because of its scale and because it can only be investigated invasively, precluding comprehensive understanding of the cell proliferation, differentiation, and patterning events involved. To overcome such limitation, we established an automated quantitative histology approach. We acquired hypocotyl cross-sections from tiled high-resolution images and extracted their information content using custom high-throughput image processing and segmentation. Coupled with automated cell type recognition through machine learning, we could establish a cellular resolution atlas that reveals vascular morphodynamics during secondary growth, for example equidistant phloem pole formation.</jats:p>
|
70
|
+
</jats:abstract>
|
71
|
+
<jats:abstract xmlns:jats="http://www.ncbi.nlm.nih.gov/JATS1" abstract-type="executive-summary">
|
72
|
+
<jats:p>Our understanding of the living world has been advanced greatly by studies of ‘model organisms’, such as mice, zebrafish, and fruit flies. Studying these creatures has been crucial to uncovering the genes that control how our bodies develop and grow, and also to discover the genetic basis of diseases such as cancer.</jats:p>
|
73
|
+
<jats:p>Thale cress—or Arabidopsis thaliana to give its formal name—is the model organism of choice for many plant biologists. This tiny weed has been widely studied because it can complete its lifecycle, from seed to seed, in about 6 weeks, and because its relatively small genome simplifies the search for genes that control specific traits. However, as with other much-studied model systems, understanding the changes that underpin the development of some of the more complex tissues in Arabidopsis has been severely hampered by the shear number of cells involved.</jats:p>
|
74
|
+
<jats:p>After it has emerged from the seed, the plant’s first stem will develop from a few dozen cells in width to several thousand cells with highly specialized tissues arranged in a complex pattern of concentric circles. Although this stem thickening process represents a major developmental change in many plants—from Arabidopsis to oak trees—it has been under-researched. This is partly because it involves so many different cells, and also because it can only be observed in thin sections cut out of the plant’s stem.</jats:p>
|
75
|
+
<jats:p>Now Sankar, Nieminen, Ragni et al. have developed a novel approach, termed ‘automated quantitative histology’, to overcome these problems. This strategy involves ‘teaching’ a computer to automatically recognize different plant cells and to measure their important features in high-resolution images of tissue sections. The resulting ‘map’ of the developing stem—which required over 800 hr of computing time to complete—reveals the changes to cells and tissues as they develop that allow the transport of water, sugars and nutrients between the above- and below-ground organs. Sankar, Nieminen, Ragni et al. suggest that their novel approach could, in the future, also be applied to study the development of other tissues and organisms, including animals.</jats:p>
|
76
|
+
</jats:abstract>
|
77
|
+
<publication_date media_type="online">
|
78
|
+
<month>02</month>
|
79
|
+
<day>11</day>
|
80
|
+
<year>2014</year>
|
81
|
+
</publication_date>
|
82
|
+
<publisher_item>
|
83
|
+
<item_number item_number_type="article_number">e01567</item_number>
|
84
|
+
<identifier id_type="doi">10.7554/eLife.01567</identifier>
|
85
|
+
</publisher_item>
|
86
|
+
<fr:program xmlns:fr="http://www.crossref.org/fundref.xsd" name="fundref">
|
87
|
+
<fr:assertion name="fundgroup">
|
88
|
+
<fr:assertion name="funder_name">SystemsX</fr:assertion>
|
89
|
+
</fr:assertion>
|
90
|
+
<fr:assertion name="fundgroup">
|
91
|
+
<fr:assertion name="funder_name">EMBO longterm post-doctoral fellowships</fr:assertion>
|
92
|
+
</fr:assertion>
|
93
|
+
<fr:assertion name="fundgroup">
|
94
|
+
<fr:assertion name="funder_name">Marie Heim-Voegtlin</fr:assertion>
|
95
|
+
</fr:assertion>
|
96
|
+
<fr:assertion name="fundgroup">
|
97
|
+
<fr:assertion name="funder_name">
|
98
|
+
University of Lausanne
|
99
|
+
<fr:assertion name="funder_identifier" provider="crossref">501100006390</fr:assertion>
|
100
|
+
</fr:assertion>
|
101
|
+
</fr:assertion>
|
102
|
+
</fr:program>
|
103
|
+
<ai:program xmlns:ai="http://www.crossref.org/AccessIndicators.xsd" name="AccessIndicators">
|
104
|
+
<ai:license_ref applies_to="vor">http://creativecommons.org/licenses/by/3.0/</ai:license_ref>
|
105
|
+
<ai:license_ref applies_to="am">http://creativecommons.org/licenses/by/3.0/</ai:license_ref>
|
106
|
+
<ai:license_ref applies_to="tdm">http://creativecommons.org/licenses/by/3.0/</ai:license_ref>
|
107
|
+
</ai:program>
|
108
|
+
<crossmark>
|
109
|
+
<crossmark_version>1</crossmark_version>
|
110
|
+
<crossmark_policy>eLifesciences</crossmark_policy>
|
111
|
+
<crossmark_domains>
|
112
|
+
<crossmark_domain>
|
113
|
+
<domain>www.elifesciences.org</domain>
|
114
|
+
</crossmark_domain>
|
115
|
+
</crossmark_domains>
|
116
|
+
<crossmark_domain_exclusive>false</crossmark_domain_exclusive>
|
117
|
+
<custom_metadata>
|
118
|
+
<assertion name="received" label="Received" group_name="publication_history" group_label="Publication History" order="0">2013-09-20</assertion>
|
119
|
+
<assertion name="accepted" label="Accepted" group_name="publication_history" group_label="Publication History" order="1">2013-12-24</assertion>
|
120
|
+
<assertion name="published" label="Published" group_name="publication_history" group_label="Publication History" order="2">2014-02-11</assertion>
|
121
|
+
<fr:program xmlns:fr="http://www.crossref.org/fundref.xsd" name="fundref">
|
122
|
+
<fr:assertion name="fundgroup">
|
123
|
+
<fr:assertion name="funder_name">SystemsX</fr:assertion>
|
124
|
+
</fr:assertion>
|
125
|
+
<fr:assertion name="fundgroup">
|
126
|
+
<fr:assertion name="funder_name">
|
127
|
+
EMBO
|
128
|
+
<fr:assertion name="funder_identifier">http://dx.doi.org/10.13039/501100003043</fr:assertion>
|
129
|
+
</fr:assertion>
|
130
|
+
</fr:assertion>
|
131
|
+
<fr:assertion name="fundgroup">
|
132
|
+
<fr:assertion name="funder_name">
|
133
|
+
Swiss National Science Foundation
|
134
|
+
<fr:assertion name="funder_identifier">http://dx.doi.org/10.13039/501100001711</fr:assertion>
|
135
|
+
</fr:assertion>
|
136
|
+
</fr:assertion>
|
137
|
+
<fr:assertion name="fundgroup">
|
138
|
+
<fr:assertion name="funder_name">
|
139
|
+
University of Lausanne
|
140
|
+
<fr:assertion name="funder_identifier" provider="crossref">http://dx.doi.org/10.13039/501100006390</fr:assertion>
|
141
|
+
</fr:assertion>
|
142
|
+
</fr:assertion>
|
143
|
+
</fr:program>
|
144
|
+
<ai:program xmlns:ai="http://www.crossref.org/AccessIndicators.xsd" name="AccessIndicators">
|
145
|
+
<ai:license_ref applies_to="vor">http://creativecommons.org/licenses/by/3.0/</ai:license_ref>
|
146
|
+
<ai:license_ref applies_to="am">http://creativecommons.org/licenses/by/3.0/</ai:license_ref>
|
147
|
+
<ai:license_ref applies_to="tdm">http://creativecommons.org/licenses/by/3.0/</ai:license_ref>
|
148
|
+
</ai:program>
|
149
|
+
</custom_metadata>
|
150
|
+
</crossmark>
|
151
|
+
<rel:program xmlns:rel="http://www.crossref.org/relations.xsd">
|
152
|
+
<rel:related_item>
|
153
|
+
<rel:description>Data from: Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth</rel:description>
|
154
|
+
<rel:inter_work_relation identifier-type="doi" relationship-type="isSupplementedBy">10.5061/dryad.b835k</rel:inter_work_relation>
|
155
|
+
</rel:related_item>
|
156
|
+
</rel:program>
|
157
|
+
<archive_locations>
|
158
|
+
<archive name="CLOCKSS" />
|
159
|
+
</archive_locations>
|
160
|
+
<doi_data>
|
161
|
+
<doi>10.7554/eLife.01567</doi>
|
162
|
+
<resource>https://elifesciences.org/articles/01567</resource>
|
163
|
+
<collection property="text-mining">
|
164
|
+
<item>
|
165
|
+
<resource mime_type="application/pdf">https://cdn.elifesciences.org/articles/01567/elife-01567-v1.pdf</resource>
|
166
|
+
</item>
|
167
|
+
<item>
|
168
|
+
<resource mime_type="application/xml">https://cdn.elifesciences.org/articles/01567/elife-01567-v1.xml</resource>
|
169
|
+
</item>
|
170
|
+
</collection>
|
171
|
+
</doi_data>
|
172
|
+
<citation_list>
|
173
|
+
<citation key="bib1">
|
174
|
+
<journal_title>Nature</journal_title>
|
175
|
+
<author>Bonke</author>
|
176
|
+
<volume>426</volume>
|
177
|
+
<first_page>181</first_page>
|
178
|
+
<cYear>2003</cYear>
|
179
|
+
<article_title>APL regulates vascular tissue identity in Arabidopsis</article_title>
|
180
|
+
<doi>10.1038/nature02100</doi>
|
181
|
+
</citation>
|
182
|
+
<citation key="bib2">
|
183
|
+
<journal_title>Genetics</journal_title>
|
184
|
+
<author>Brenner</author>
|
185
|
+
<volume>182</volume>
|
186
|
+
<first_page>413</first_page>
|
187
|
+
<cYear>2009</cYear>
|
188
|
+
<article_title>In the beginning was the worm</article_title>
|
189
|
+
<doi>10.1534/genetics.109.104976</doi>
|
190
|
+
</citation>
|
191
|
+
<citation key="bib3">
|
192
|
+
<journal_title>Physiologia Plantarum</journal_title>
|
193
|
+
<author>Chaffey</author>
|
194
|
+
<volume>114</volume>
|
195
|
+
<first_page>594</first_page>
|
196
|
+
<cYear>2002</cYear>
|
197
|
+
<article_title>Secondary xylem development in Arabidopsis: a model for wood formation</article_title>
|
198
|
+
<doi>10.1034/j.1399-3054.2002.1140413.x</doi>
|
199
|
+
</citation>
|
200
|
+
<citation key="bib4">
|
201
|
+
<journal_title>Neural computation</journal_title>
|
202
|
+
<author>Chang</author>
|
203
|
+
<volume>13</volume>
|
204
|
+
<first_page>2119</first_page>
|
205
|
+
<cYear>2001</cYear>
|
206
|
+
<article_title>Training nu-support vector classifiers: theory and algorithms</article_title>
|
207
|
+
<doi>10.1162/089976601750399335</doi>
|
208
|
+
</citation>
|
209
|
+
<citation key="bib5">
|
210
|
+
<journal_title>Machine Learning</journal_title>
|
211
|
+
<author>Cortes</author>
|
212
|
+
<volume>20</volume>
|
213
|
+
<first_page>273</first_page>
|
214
|
+
<cYear>1995</cYear>
|
215
|
+
<doi provider="crossref">10.1007/BF00994018</doi>
|
216
|
+
<article_title>Support-vector Networks</article_title>
|
217
|
+
</citation>
|
218
|
+
<citation key="bib6">
|
219
|
+
<journal_title>Development</journal_title>
|
220
|
+
<author>Dolan</author>
|
221
|
+
<volume>119</volume>
|
222
|
+
<first_page>71</first_page>
|
223
|
+
<cYear>1993</cYear>
|
224
|
+
<article_title>Cellular organisation of the Arabidopsis thaliana root</article_title>
|
225
|
+
</citation>
|
226
|
+
<citation key="bib7">
|
227
|
+
<journal_title>Seminars in Cell & Developmental Biology</journal_title>
|
228
|
+
<author>Elo</author>
|
229
|
+
<volume>20</volume>
|
230
|
+
<first_page>1097</first_page>
|
231
|
+
<cYear>2009</cYear>
|
232
|
+
<article_title>Stem cell function during plant vascular development</article_title>
|
233
|
+
<doi>10.1016/j.semcdb.2009.09.009</doi>
|
234
|
+
</citation>
|
235
|
+
<citation key="bib8">
|
236
|
+
<journal_title>Development</journal_title>
|
237
|
+
<author>Etchells</author>
|
238
|
+
<volume>140</volume>
|
239
|
+
<first_page>2224</first_page>
|
240
|
+
<cYear>2013</cYear>
|
241
|
+
<article_title>WOX4 and WOX14 act downstream of the PXY receptor kinase to regulate plant vascular proliferation independently of any role in vascular organisation</article_title>
|
242
|
+
<doi>10.1242/dev.091314</doi>
|
243
|
+
</citation>
|
244
|
+
<citation key="bib9">
|
245
|
+
<journal_title>PLOS Genetics</journal_title>
|
246
|
+
<author>Etchells</author>
|
247
|
+
<volume>8</volume>
|
248
|
+
<first_page>e1002997</first_page>
|
249
|
+
<cYear>2012</cYear>
|
250
|
+
<article_title>Plant vascular cell division is maintained by an interaction between PXY and ethylene signalling</article_title>
|
251
|
+
<doi>10.1371/journal.pgen.1002997</doi>
|
252
|
+
</citation>
|
253
|
+
<citation key="bib10">
|
254
|
+
<journal_title>Molecular Systems Biology</journal_title>
|
255
|
+
<author>Fuchs</author>
|
256
|
+
<volume>6</volume>
|
257
|
+
<first_page>370</first_page>
|
258
|
+
<cYear>2010</cYear>
|
259
|
+
<article_title>Clustering phenotype populations by genome-wide RNAi and multiparametric imaging</article_title>
|
260
|
+
<doi>10.1038/msb.2010.25</doi>
|
261
|
+
</citation>
|
262
|
+
<citation key="bib11">
|
263
|
+
<journal_title>Bio Systems</journal_title>
|
264
|
+
<author>Granqvist</author>
|
265
|
+
<volume>110</volume>
|
266
|
+
<first_page>60</first_page>
|
267
|
+
<cYear>2012</cYear>
|
268
|
+
<article_title>BaSAR-A tool in R for frequency detection</article_title>
|
269
|
+
<doi>10.1016/j.biosystems.2012.07.004</doi>
|
270
|
+
</citation>
|
271
|
+
<citation key="bib12">
|
272
|
+
<journal_title>Current Opinion in Plant Biology</journal_title>
|
273
|
+
<author>Groover</author>
|
274
|
+
<volume>9</volume>
|
275
|
+
<first_page>55</first_page>
|
276
|
+
<cYear>2006</cYear>
|
277
|
+
<article_title>Developmental mechanisms regulating secondary growth in woody plants</article_title>
|
278
|
+
<doi>10.1016/j.pbi.2005.11.013</doi>
|
279
|
+
</citation>
|
280
|
+
<citation key="bib13">
|
281
|
+
<journal_title>Plant Cell</journal_title>
|
282
|
+
<author>Hirakawa</author>
|
283
|
+
<volume>22</volume>
|
284
|
+
<first_page>2618</first_page>
|
285
|
+
<cYear>2010</cYear>
|
286
|
+
<article_title>TDIF peptide signaling regulates vascular stem cell proliferation via the WOX4 homeobox gene in Arabidopsis</article_title>
|
287
|
+
<doi>10.1105/tpc.110.076083</doi>
|
288
|
+
</citation>
|
289
|
+
<citation key="bib14">
|
290
|
+
<journal_title>Proceedings of the National Academy of Sciences of the United States of America</journal_title>
|
291
|
+
<author>Hirakawa</author>
|
292
|
+
<volume>105</volume>
|
293
|
+
<first_page>15208</first_page>
|
294
|
+
<cYear>2008</cYear>
|
295
|
+
<article_title>Non-cell-autonomous control of vascular stem cell fate by a CLE peptide/receptor system</article_title>
|
296
|
+
<doi>10.1073/pnas.0808444105</doi>
|
297
|
+
</citation>
|
298
|
+
<citation key="bib15">
|
299
|
+
<journal_title>Cell</journal_title>
|
300
|
+
<author>Meyerowitz</author>
|
301
|
+
<volume>56</volume>
|
302
|
+
<first_page>263</first_page>
|
303
|
+
<cYear>1989</cYear>
|
304
|
+
<article_title>Arabidopsis, a useful weed</article_title>
|
305
|
+
<doi>10.1016/0092-8674(89)90900-8</doi>
|
306
|
+
</citation>
|
307
|
+
<citation key="bib16">
|
308
|
+
<journal_title>Science</journal_title>
|
309
|
+
<author>Meyerowitz</author>
|
310
|
+
<volume>295</volume>
|
311
|
+
<first_page>1482</first_page>
|
312
|
+
<cYear>2002</cYear>
|
313
|
+
<article_title>Plants compared to animals: the broadest comparative study of development</article_title>
|
314
|
+
<doi>10.1126/science.1066609</doi>
|
315
|
+
</citation>
|
316
|
+
<citation key="bib17">
|
317
|
+
<journal_title>Plant Physiol</journal_title>
|
318
|
+
<author>Nieminen</author>
|
319
|
+
<volume>135</volume>
|
320
|
+
<first_page>653</first_page>
|
321
|
+
<cYear>2004</cYear>
|
322
|
+
<article_title>A weed for wood? Arabidopsis as a genetic model for xylem development</article_title>
|
323
|
+
<doi>10.1104/pp.104.040212</doi>
|
324
|
+
</citation>
|
325
|
+
<citation key="bib18">
|
326
|
+
<journal_title>Nature Biotechnology</journal_title>
|
327
|
+
<author>Noble</author>
|
328
|
+
<volume>24</volume>
|
329
|
+
<first_page>1565</first_page>
|
330
|
+
<cYear>2006</cYear>
|
331
|
+
<article_title>What is a support vector machine?</article_title>
|
332
|
+
<doi>10.1038/nbt1206-1565</doi>
|
333
|
+
</citation>
|
334
|
+
<citation key="bib19">
|
335
|
+
<journal_title>Proceedings of the National Academy of Sciences of the United States of America</journal_title>
|
336
|
+
<author>Olson</author>
|
337
|
+
<volume>77</volume>
|
338
|
+
<first_page>1516</first_page>
|
339
|
+
<cYear>1980</cYear>
|
340
|
+
<article_title>Classification of cultured mammalian cells by shape analysis and pattern recognition</article_title>
|
341
|
+
<doi>10.1073/pnas.77.3.1516</doi>
|
342
|
+
</citation>
|
343
|
+
<citation key="bib20">
|
344
|
+
<journal_title>Bioinformatics</journal_title>
|
345
|
+
<author>Pau</author>
|
346
|
+
<volume>26</volume>
|
347
|
+
<first_page>979</first_page>
|
348
|
+
<cYear>2010</cYear>
|
349
|
+
<article_title>EBImage–an R package for image processing with applications to cellular phenotypes</article_title>
|
350
|
+
<doi>10.1093/bioinformatics/btq046</doi>
|
351
|
+
</citation>
|
352
|
+
<citation key="bib21">
|
353
|
+
<journal_title>Plant Cell</journal_title>
|
354
|
+
<author>Ragni</author>
|
355
|
+
<volume>23</volume>
|
356
|
+
<first_page>1322</first_page>
|
357
|
+
<cYear>2011</cYear>
|
358
|
+
<article_title>Mobile gibberellin directly stimulates Arabidopsis hypocotyl xylem expansion</article_title>
|
359
|
+
<doi>10.1105/tpc.111.084020</doi>
|
360
|
+
</citation>
|
361
|
+
<citation key="bib22">
|
362
|
+
<journal_title>Dryad Digital Repository</journal_title>
|
363
|
+
<author>Sankar</author>
|
364
|
+
<cYear>2014</cYear>
|
365
|
+
<article_title>Data from: Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth</article_title>
|
366
|
+
<doi>10.5061/dryad.b835k</doi>
|
367
|
+
</citation>
|
368
|
+
<citation key="bib23">
|
369
|
+
<journal_title>Current Biology</journal_title>
|
370
|
+
<author>Sibout</author>
|
371
|
+
<volume>18</volume>
|
372
|
+
<first_page>458</first_page>
|
373
|
+
<cYear>2008</cYear>
|
374
|
+
<article_title>Flowering as a condition for xylem expansion in Arabidopsis hypocotyl and root</article_title>
|
375
|
+
<doi>10.1016/j.cub.2008.02.070</doi>
|
376
|
+
</citation>
|
377
|
+
<citation key="bib24">
|
378
|
+
<journal_title>The New Phytologist</journal_title>
|
379
|
+
<author>Spicer</author>
|
380
|
+
<volume>186</volume>
|
381
|
+
<first_page>577</first_page>
|
382
|
+
<cYear>2010</cYear>
|
383
|
+
<article_title>Evolution of development of vascular cambia and secondary growth</article_title>
|
384
|
+
<doi>10.1111/j.1469-8137.2010.03236.x</doi>
|
385
|
+
</citation>
|
386
|
+
<citation key="bib25">
|
387
|
+
<journal_title>Machine Vision and Applications</journal_title>
|
388
|
+
<author>Theriault</author>
|
389
|
+
<volume>23</volume>
|
390
|
+
<first_page>659</first_page>
|
391
|
+
<cYear>2012</cYear>
|
392
|
+
<article_title>Cell morphology classification and clutter mitigation in phase-contrast microscopy images using machine learning</article_title>
|
393
|
+
<doi>10.1007/s00138-011-0345-9</doi>
|
394
|
+
</citation>
|
395
|
+
<citation key="bib26">
|
396
|
+
<journal_title>Cell</journal_title>
|
397
|
+
<author>Uyttewaal</author>
|
398
|
+
<volume>149</volume>
|
399
|
+
<first_page>439</first_page>
|
400
|
+
<cYear>2012</cYear>
|
401
|
+
<article_title>Mechanical stress acts via katanin to amplify differences in growth rate between adjacent cells in Arabidopsis</article_title>
|
402
|
+
<doi>10.1016/j.cell.2012.02.048</doi>
|
403
|
+
</citation>
|
404
|
+
<citation key="bib27">
|
405
|
+
<journal_title>Nature Cell Biology</journal_title>
|
406
|
+
<author>Yin</author>
|
407
|
+
<volume>15</volume>
|
408
|
+
<first_page>860</first_page>
|
409
|
+
<cYear>2013</cYear>
|
410
|
+
<article_title>A screen for morphological complexity identifies regulators of switch-like transitions between discrete cell shapes</article_title>
|
411
|
+
<doi>10.1038/ncb2764</doi>
|
412
|
+
</citation>
|
413
|
+
</citation_list>
|
414
|
+
<component_list>
|
415
|
+
<component parent_relation="isPartOf">
|
416
|
+
<titles>
|
417
|
+
<title>Abstract</title>
|
418
|
+
</titles>
|
419
|
+
<format mime_type="text/plain" />
|
420
|
+
<doi_data>
|
421
|
+
<doi>10.7554/eLife.01567.001</doi>
|
422
|
+
<resource>https://elifesciences.org/articles/01567#abstract</resource>
|
423
|
+
</doi_data>
|
424
|
+
</component>
|
425
|
+
<component parent_relation="isPartOf">
|
426
|
+
<titles>
|
427
|
+
<title>eLife digest</title>
|
428
|
+
</titles>
|
429
|
+
<format mime_type="text/plain" />
|
430
|
+
<doi_data>
|
431
|
+
<doi>10.7554/eLife.01567.002</doi>
|
432
|
+
<resource>https://elifesciences.org/articles/01567#digest</resource>
|
433
|
+
</doi_data>
|
434
|
+
</component>
|
435
|
+
<component parent_relation="isPartOf">
|
436
|
+
<titles>
|
437
|
+
<title>Figure 1. Cellular level analysis of Arabidopsis hypocotyl secondary growth.</title>
|
438
|
+
<subtitle>(A) Light microscopy of cross sections obtained from Arabidopsis hypocotyls (organ position illustrated for a 9-day-old seedling, lower left) at 9 dag (upper left) and 35 dag (right). Size bars are 100 μm. Blue GUS staining due to the presence of an APL::GUS reporter gene in this Col-0 background line marks phloem bundles. (B) Overview of the developmental series (time points and distinct samples per genotype) analyzed in this study. (C) Example of a high-resolution hypocotyl section image assembled from 11 × 11 tiles. (D) The same image after pre-processing and binarization, and (E) subsequent segmentation using a watershed algorithm. (F) Number of mis-segmented cells as determined by careful visual inspection in 12 sections, plotted against the total number of cells per section (log scale).</subtitle>
|
439
|
+
</titles>
|
440
|
+
<format mime_type="image/tiff" />
|
441
|
+
<doi_data>
|
442
|
+
<doi>10.7554/eLife.01567.003</doi>
|
443
|
+
<resource>https://elifesciences.org/articles/01567#fig1</resource>
|
444
|
+
</doi_data>
|
445
|
+
</component>
|
446
|
+
<component parent_relation="isPartOf">
|
447
|
+
<titles>
|
448
|
+
<title>Figure 2. The ‘Quantitative Histology’ approach.</title>
|
449
|
+
<subtitle>(A) Overview of the computational pipeline from image acquisition to analysis. (B) ‘Phenoprints’ for the different genotypes and developmental stages.</subtitle>
|
450
|
+
</titles>
|
451
|
+
<format mime_type="image/tiff" />
|
452
|
+
<doi_data>
|
453
|
+
<doi>10.7554/eLife.01567.004</doi>
|
454
|
+
<resource>https://elifesciences.org/articles/01567#fig2</resource>
|
455
|
+
</doi_data>
|
456
|
+
</component>
|
457
|
+
<component parent_relation="isPartOf">
|
458
|
+
<titles>
|
459
|
+
<title>Figure 2—figure supplement 1. An example of classifier selection through V-fold cross validation.</title>
|
460
|
+
<subtitle>The green arrow points out the selected feature combination according to the criteria of minimum number of features with the highest performance and the lowest variation (the radiusV feature was excluded due to its putative variation in tissue location).</subtitle>
|
461
|
+
</titles>
|
462
|
+
<format mime_type="image/tiff" />
|
463
|
+
<doi_data>
|
464
|
+
<doi>10.7554/eLife.01567.005</doi>
|
465
|
+
<resource>https://elifesciences.org/articles/01567/figures#fig2s1</resource>
|
466
|
+
</doi_data>
|
467
|
+
</component>
|
468
|
+
<component parent_relation="isPartOf">
|
469
|
+
<titles>
|
470
|
+
<title>Figure 3. Progression of tissue proliferation.</title>
|
471
|
+
<subtitle>(A) Principal component analysis (PCA) of the phenoprints shown in Figure 2B, performed with normalized values (Supplementary file 4). The inlay screeplot displays the proportion of total variation explained by each principal component. (B–E) Comparative plots of parameter progression in the two genotypes. In (D), xylem represents combined vessel, parenchyma, and fiber cells, phloem represents combined phloem parenchyma and bundle cells. Error bars indicate standard error.</subtitle>
|
472
|
+
</titles>
|
473
|
+
<format mime_type="image/tiff" />
|
474
|
+
<doi_data>
|
475
|
+
<doi>10.7554/eLife.01567.006</doi>
|
476
|
+
<resource>https://elifesciences.org/articles/01567#fig3</resource>
|
477
|
+
</doi_data>
|
478
|
+
</component>
|
479
|
+
<component parent_relation="isPartOf">
|
480
|
+
<titles>
|
481
|
+
<title>Figure 4. Bimodal distribution of incline angle according to position.</title>
|
482
|
+
<subtitle>(A and B) Spatial distribution of cell incline angle illustrates the vascular organization in Ler (B) as compared to Col-0 (A) at later stages of development, for example 30 dag. The size of the disc increases with the area of the cell. Blue color indicates radial cell orientation, red orthoradial. (C and D) Violin plots of incline angle distribution, illustrating increasingly bimodal distribution coincident with refined vascular organization and different dynamics of the process in the two genotypes.</subtitle>
|
483
|
+
</titles>
|
484
|
+
<format mime_type="image/tiff" />
|
485
|
+
<doi_data>
|
486
|
+
<doi>10.7554/eLife.01567.007</doi>
|
487
|
+
<resource>https://elifesciences.org/articles/01567#fig4</resource>
|
488
|
+
</doi_data>
|
489
|
+
</component>
|
490
|
+
<component parent_relation="isPartOf">
|
491
|
+
<titles>
|
492
|
+
<title>Figure 4—figure supplement 1. An illustration of the incline angle.</title>
|
493
|
+
<subtitle>The incline is the angle between the section radius through the center of an ellipse fit to a cell and the major axis of that ellipse extended towards the x axis.</subtitle>
|
494
|
+
</titles>
|
495
|
+
<format mime_type="image/tiff" />
|
496
|
+
<doi_data>
|
497
|
+
<doi>10.7554/eLife.01567.008</doi>
|
498
|
+
<resource>https://elifesciences.org/articles/01567/figures#fig4s1</resource>
|
499
|
+
</doi_data>
|
500
|
+
</component>
|
501
|
+
<component parent_relation="isPartOf">
|
502
|
+
<titles>
|
503
|
+
<title>Figure 5. Distinct local organization of incline angle during hypocotyl secondary growth progression.</title>
|
504
|
+
<subtitle>(A–J) Density plots of cell incline angle vs radial position for the two genotypes at the indicated developmental stages, representing all cells across all sections for a given time point. The red lines represent the fit of these cloud distributions with locally weighted linear regression (i.e., lowess), revealing the essential data trends. All sections were normalized from 0.0 (the manually defined center) to 1.0 (the average radius in a set of sections as determined by the average distance of the outermost cells from the center for individual sections). Box plots indicate the quartiles of the radian distribution for each cell-type class and are placed at the average position of the cell type with respect to the y axis. Outliers are shown as circles.</subtitle>
|
505
|
+
</titles>
|
506
|
+
<format mime_type="image/tiff" />
|
507
|
+
<doi_data>
|
508
|
+
<doi>10.7554/eLife.01567.009</doi>
|
509
|
+
<resource>https://elifesciences.org/articles/01567#fig5</resource>
|
510
|
+
</doi_data>
|
511
|
+
</component>
|
512
|
+
<component parent_relation="isPartOf">
|
513
|
+
<titles>
|
514
|
+
<title>Figure 5—figure supplement 1. Analysis of cell number in defined xylem regions of different size.</title>
|
515
|
+
<subtitle>Cell number in a circle of 200–500 pixels around the section centers for Col-0. Cell count in a constant area of xylem over time across all averaged across all sections.</subtitle>
|
516
|
+
</titles>
|
517
|
+
<format mime_type="image/tiff" />
|
518
|
+
<doi_data>
|
519
|
+
<doi>10.7554/eLife.01567.010</doi>
|
520
|
+
<resource>https://elifesciences.org/articles/01567/figures#fig5s1</resource>
|
521
|
+
</doi_data>
|
522
|
+
</component>
|
523
|
+
<component parent_relation="isPartOf">
|
524
|
+
<titles>
|
525
|
+
<title>Figure 6. Mapping of phloem pole patterning.</title>
|
526
|
+
<subtitle>(A) Example of Gaussian kernel density estimate of the location of predicted phloem bundles cells in a 30 dag Col-0 section. High density represents phloem poles. (B) Example of an analysis of emerging phloem pole position in a 30 dag Col-0 section. The plot represents a pixel intensity map after noise reduction along a circular region of interest across the emerging phloem poles. Intensity peaks are due to GUS staining conferred to phloem bundles by an APL::GUS reporter construct. (C) Probability density function of the data shown in (B) obtained from an automated Bayesian model. The dominant single peak indicates a constant arc distance of ca. 62 pixel between the phloem poles.</subtitle>
|
527
|
+
</titles>
|
528
|
+
<format mime_type="image/tiff" />
|
529
|
+
<doi_data>
|
530
|
+
<doi>10.7554/eLife.01567.011</doi>
|
531
|
+
<resource>https://elifesciences.org/articles/01567#fig6</resource>
|
532
|
+
</doi_data>
|
533
|
+
</component>
|
534
|
+
<component parent_relation="isPartOf">
|
535
|
+
<titles>
|
536
|
+
<title>Supplementary file 1.</title>
|
537
|
+
<subtitle>(A) An explanation of the extracted parameters that describe the cellular features. (B) Summary information of the hand-labeled training set for supervised machine learning. (C) Definition of the classifiers selected for analysis. (D) Summary of the classifier parameters for supervised machine learning. (E) Overview of the cell type classes recognized by the supervised machine learning approach and their assignment codes used in Data Files 3 and 4.</subtitle>
|
538
|
+
</titles>
|
539
|
+
<format mime_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
|
540
|
+
<doi_data>
|
541
|
+
<doi>10.7554/eLife.01567.012</doi>
|
542
|
+
<resource>https://elifesciences.org/articles/01567/figures#SD1-data</resource>
|
543
|
+
</doi_data>
|
544
|
+
</component>
|
545
|
+
<component parent_relation="isPartOf">
|
546
|
+
<titles>
|
547
|
+
<title>Supplementary file 2.</title>
|
548
|
+
<subtitle>Quality control files for the Col-0 sections.</subtitle>
|
549
|
+
</titles>
|
550
|
+
<format mime_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
|
551
|
+
<doi_data>
|
552
|
+
<doi>10.7554/eLife.01567.013</doi>
|
553
|
+
<resource>https://elifesciences.org/articles/01567/figures#SD2-data</resource>
|
554
|
+
</doi_data>
|
555
|
+
</component>
|
556
|
+
<component parent_relation="isPartOf">
|
557
|
+
<titles>
|
558
|
+
<title>Supplementary file 3.</title>
|
559
|
+
<subtitle>Quality control files for the Ler sections.</subtitle>
|
560
|
+
</titles>
|
561
|
+
<format mime_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
|
562
|
+
<doi_data>
|
563
|
+
<doi>10.7554/eLife.01567.014</doi>
|
564
|
+
<resource>https://elifesciences.org/articles/01567/figures#SD3-data</resource>
|
565
|
+
</doi_data>
|
566
|
+
</component>
|
567
|
+
<component parent_relation="isPartOf">
|
568
|
+
<titles>
|
569
|
+
<title>Supplementary file 4.</title>
|
570
|
+
<subtitle>The normalized values of the phenoprints (Figure 2B) used for PCA.</subtitle>
|
571
|
+
</titles>
|
572
|
+
<format mime_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
|
573
|
+
<doi_data>
|
574
|
+
<doi>10.7554/eLife.01567.015</doi>
|
575
|
+
<resource>https://elifesciences.org/articles/01567/figures#SD4-data</resource>
|
576
|
+
</doi_data>
|
577
|
+
</component>
|
578
|
+
<component parent_relation="isPartOf">
|
579
|
+
<titles>
|
580
|
+
<title>Decision letter</title>
|
581
|
+
</titles>
|
582
|
+
<format mime_type="text/plain" />
|
583
|
+
<doi_data>
|
584
|
+
<doi>10.7554/eLife.01567.016</doi>
|
585
|
+
<resource>https://elifesciences.org/articles/01567#SA1</resource>
|
586
|
+
</doi_data>
|
587
|
+
</component>
|
588
|
+
<component parent_relation="isPartOf">
|
589
|
+
<titles>
|
590
|
+
<title>Author response</title>
|
591
|
+
</titles>
|
592
|
+
<format mime_type="text/plain" />
|
593
|
+
<doi_data>
|
594
|
+
<doi>10.7554/eLife.01567.017</doi>
|
595
|
+
<resource>https://elifesciences.org/articles/01567#SA2</resource>
|
596
|
+
</doi_data>
|
597
|
+
</component>
|
598
|
+
</component_list>
|
599
|
+
</journal_article>
|
600
|
+
</journal>
|
601
|
+
</crossref>
|
602
|
+
</doi_record>
|
603
|
+
</query>
|
604
|
+
</body>
|
605
|
+
</query_result>
|
606
|
+
</crossref_result>
|