R code
library(arrow)
library(dplyr)
library(jsonlite)
library(httr2)
fmt <- function(x) format(x, big.mark = ",", scientific = FALSE, trim = TRUE)
journals <- read_parquet(params$data_file)
crossref <- readRDS(params$crossref_cache)Meeting update · Full field comparison · 15 September 2026
library(arrow)
library(dplyr)
library(jsonlite)
library(httr2)
fmt <- function(x) format(x, big.mark = ",", scientific = FALSE, trim = TRUE)
journals <- read_parquet(params$data_file)
crossref <- readRDS(params$crossref_cache)The field comparison uses Nature, retrieved directly from both journal APIs. Tasks 2 and 3 use the existing PKP V7 list enriched with OpenAlex and Crossref: 98,273 records, including 72,084 with a usable ISSN, with Crossref data collected on 2026-08-03.
Agreed task: Show every OpenAlex and Crossref journal field and subfield, explain its meaning, and compare actual values for Nature. Put related fields first, followed by fields available on only one side.
nature_dir <- file.path(output_dir, "nature")
dir.create(nature_dir, recursive = TRUE, showWarnings = FALSE)
urls <- c(crossref = "https://api.crossref.org/journals/0028-0836",
openalex = "https://api.openalex.org/sources/issn:0028-0836")
files <- setNames(file.path(nature_dir, paste0(names(urls), ".json")), names(urls))
if (params$refresh_nature || !all(file.exists(files))) {
responses <- lapply(urls, function(url) {
request(url) |>
req_user_agent("InvisibleResearch journal field comparison") |>
req_timeout(60) |> req_perform()
})
for (source in names(responses)) {
writeBin(resp_body_raw(responses[[source]]), files[[source]])
}
write_json(list(retrieved_at_utc = format(Sys.time(),
"%Y-%m-%dT%H:%M:%SZ", tz = "UTC"), urls = as.list(urls)),
file.path(nature_dir, "retrieval.json"), auto_unbox = TRUE, pretty = TRUE)
}
cr <- read_json(files[["crossref"]])$message
oa <- read_json(files[["openalex"]])
nature_retrieval <- read_json(file.path(nature_dir, "retrieval.json"))
snapshot_year <- as.integer(substr(nature_retrieval$retrieved_at_utc, 1, 4))
current_period <- paste0(snapshot_year - 2L, "–", snapshot_year)
stopifnot(cr$title == "Nature", oa$display_name == "Nature",
oa$type == "journal", setequal(unlist(cr$ISSN), unlist(oa$issn)))Both records identify Nature, with ISSNs 0028-0836 and 1476-4687. The responses were saved at 2026-09-15T07:48:48Z. This code retrieves the complete records without selecting a subset of fields; subsequent renders reuse these snapshots. Set refresh_nature: true to fetch them again.
flatten_fields <- function(x, path = "", item = NA_integer_, context = "") {
if (is.list(x) && length(x) && !is.null(names(x))) {
return(bind_rows(lapply(names(x), function(key) {
next_path <- if (nzchar(path)) paste(path, key, sep = ".") else key
flatten_fields(x[[key]], next_path, item, context)
})))
}
if (is.list(x) && length(x)) {
return(bind_rows(lapply(seq_along(x), function(i) {
entry <- x[[i]]
if (path == "breakdowns.dois-by-issued-year") {
return(bind_rows(lapply(seq_along(entry), function(j) {
flatten_fields(entry[[j]], paste0(path, "[][", j, "]"),
i, paste("Year", entry[[1]]))
})))
}
label <- paste("Item", i)
if (is.list(entry) && !is.null(names(entry))) {
for (key in c("year", "display_name", "currency", "type")) {
if (!is.null(entry[[key]])) {
label <- paste(key, entry[[key]], sep = ": ")
break
}
}
}
flatten_fields(entry, paste0(path, "[]"), i, label)
})))
}
value <- if (is.null(x)) "null" else if (is.list(x)) "[]" else
if (is.logical(x)) tolower(as.character(x)) else as.character(x)
tibble::tibble(path, item, context, value)
}
cr_flat <- flatten_fields(cr)
oa_flat <- flatten_fields(oa)
cr_fields <- unique(cr_flat$path)
oa_fields <- unique(oa_flat$path)Crossref’s 11 top-level fields expand to 115 field paths; OpenAlex’s 38 expand to 65. Every path has its own row below. [] in a field name means a repeated list entry. For lists, the example and its label identify the same entry across subfields; all values opens the remaining entries. Annual comparisons use 2025. A displayed null or [] is an actual empty API value; a blank counterpart cell means there is no direct matching field.
metrics <- c(
abstracts = "an abstract", references = "a reference list",
affiliations = "at least one contributor affiliation",
orcids = "at least one author ORCID",
licenses = "licence information", funders = "funder information",
`award-numbers` = "a funding award number", `ror-ids` = "a ROR organisation ID",
`affiliation-ror-ids` = "a contributor-affiliation ROR ID",
`funder-ror-ids` = "a funder ROR ID",
`resource-links` = "full-text resource links",
`similarity-checking` = "a Similarity Check full-text URL",
`update-policies` = "Crossmark update-policy information",
descriptions = "description metadata (a separate API category from abstracts)"
)
periods <- c(all = "all publication years",
current = paste(current_period, "publications"),
backfile = paste("publications before", snapshot_year - 2L))
cr_definitions <- c(
title = "Journal title.", publisher = "Registered publisher name.",
`ISSN[]` = "Journal ISSNs.",
`issn-type[].value` = "ISSN, paired with its medium label.",
`issn-type[].type` = "Print or electronic medium for the paired ISSN.",
`counts.total-dois` = "All DOI records registered for this journal.",
`counts.current-dois` = paste0("DOI records for ", periods[["current"]], "."),
`counts.backfile-dois` = paste0("DOI records for ", periods[["backfile"]], "."),
`breakdowns.dois-by-issued-year[][1]` = "Publication (issued) year; first element of each pair.",
`breakdowns.dois-by-issued-year[][2]` = "DOI count for that year; second element of the same pair.",
subjects = "Retired subject classification; the API retains an empty list.",
`last-status-check-time` = "Crossref status-check time, in Unix milliseconds.",
`flags.deposits` = "Whether the journal has deposited records.",
`flags.deposits-articles` = "Whether it has deposited article records."
)
describe_cr <- function(path) {
if (path %in% names(cr_definitions)) return(unname(cr_definitions[path]))
if (startsWith(path, "coverage-type.")) {
parts <- strsplit(path, ".", fixed = TRUE)[[1]]
period <- parts[2]; metric <- parts[3]
if (metric == "last-status-check-time") return(paste(
"Status-check time for", periods[[period]], "(Unix milliseconds)."))
} else {
key <- sub("^(coverage\\.|flags\\.deposits-)", "", path)
period <- sub(".*-(current|backfile)$", "\\1", key)
metric <- sub("-(current|backfile)$", "", key)
}
meaning <- metrics[[metric]]
if (startsWith(path, "flags.")) {
paste0("Whether ", meaning, " was deposited for ", periods[[period]], ".")
} else {
paste0("Share of records with ", meaning, "; ", periods[[period]], ".")
}
}
oa_definitions <- c(
id = "OpenAlex source identifier.", issn_l = "Linking ISSN joining medium variants.",
`issn[]` = "Journal ISSNs.", display_name = "Journal title.",
host_organization = "Hosting publisher's OpenAlex ID.",
host_organization_name = "Hosting publisher or imprint name.",
`host_organization_lineage[]` = "Host and parent publisher IDs.",
works_count = "Works attributed to this journal in OpenAlex.",
oa_works_count = "Open-access works.", cited_by_count = "Citations received by the journal's works.",
`summary_stats.2yr_mean_citedness` = "Mean cumulative citations for recent publications; OpenAlex's measure, not JCR's impact factor.",
`summary_stats.h_index` = "h works have each received at least h citations.",
`summary_stats.i10_index` = "Works with at least 10 citations.",
is_oa = "Fully open-access journal flag.", is_in_doaj = "DOAJ inclusion.",
is_in_doaj_since_year = "Year DOAJ inclusion began.",
is_high_oa_rate = "High open-access share flag.",
is_high_oa_rate_since_year = "Year that high-share status began.",
is_in_scielo = "SciELO inclusion.", is_ojs = "Open Journal Systems platform flag.",
is_preprint_repository = "Preprint-repository flag.",
is_core = "CWTS Core source flag; not Web of Science inclusion.",
oa_flip_year = "Year of conversion to open access.",
first_publication_year = "Earliest publication year in this OpenAlex record.",
last_publication_year = "Latest publication year in this OpenAlex record.",
`ids.openalex` = "Repeated OpenAlex ID.", `ids.issn_l` = "Repeated linking ISSN.",
`ids.issn[]` = "Repeated ISSN list.", `ids.mag` = "Legacy Microsoft Academic Graph ID.",
`ids.wikidata` = "Wikidata identifier.", homepage_url = "Journal homepage.",
`apc_prices[].price` = "Listed article processing charge.",
`apc_prices[].currency` = "Currency of that charge.",
apc_usd = "Listed charge in USD.",
`apc_usd_by_year[].year` = "Year of the listed charge.",
`apc_usd_by_year[].price` = "That year's listed charge in USD.",
country_code = "Journal's home country code.",
societies = "Associated scholarly societies; Nature returns an empty list.",
alternate_titles = "Alternative journal titles; Nature returns an empty list.",
type = "Source type.",
`counts_by_year[].year` = "Publication year of the counted works.",
`counts_by_year[].works_count` = "Works published in that year.",
`counts_by_year[].oa_works_count` = "Open-access works published in that year.",
`counts_by_year[].cited_by_count` = "Cumulative citations to works published in that year.",
works_api_url = "Link to this journal's works endpoint.",
updated_date = "Last OpenAlex record update (UTC).",
created_date = "Date the OpenAlex record was created."
)
for (group in c("topics", "topic_share")) {
topic_definitions <- c(id = "Topic ID.", display_name = "Topic name.",
`subfield.id` = "Subfield ID.", `subfield.display_name` = "Subfield name.",
`field.id` = "Field ID.", `field.display_name` = "Field name.",
`domain.id` = "Domain ID.", `domain.display_name` = "Domain name.")
statistic <- if (group == "topics") c(count = "Journal works associated with this topic.") else
c(value = "Journal's share of this topic across all sources; not its internal topic mix.")
topic_definitions <- c(topic_definitions, statistic)
names(topic_definitions) <- paste0(group, "[].", names(topic_definitions))
oa_definitions <- c(oa_definitions, topic_definitions)
}
stopifnot(all(oa_fields %in% names(oa_definitions)))
cr_meanings <- setNames(vapply(cr_fields, describe_cr, character(1)), cr_fields)field_pairs <- tibble::tribble(
~cr, ~oa,
"title", "display_name",
"publisher", "host_organization_name",
"ISSN[]", "issn[]",
"issn-type[].value", "ids.issn[]",
"counts.total-dois", "works_count",
"breakdowns.dois-by-issued-year[][1]", "counts_by_year[].year",
"breakdowns.dois-by-issued-year[][2]", "counts_by_year[].works_count",
"subjects", "topics[].display_name"
)escape <- function(x) as.character(htmltools::htmlEscape(x))
field_cell <- function(field, meanings) {
if (!nzchar(field)) return("")
paste0("<code>", escape(field), "</code><br>", escape(meanings[[field]]))
}
value_cell <- function(field, flat) {
if (!nzchar(field)) return("")
values <- flat[flat$path == field, ]
stopifnot(nrow(values) > 0)
lines <- ifelse(nzchar(values$context),
paste(values$context, values$value, sep = " → "), values$value)
full <- paste0("<pre class='field-value'>", escape(paste(lines, collapse = "\n")), "</pre>")
if (nrow(values) <= 3) return(full)
chosen <- if (any(grepl("^(Year |year: )2025$", values$context))) {
which(grepl("^(Year |year: )2025$", values$context))[1]
} else 1L
paste0("<pre class='field-value'>", escape(lines[chosen]), "</pre>",
"<details><summary>All ", nrow(values), " values</summary>", full, "</details>")
}
show_comparison <- function(pairs) {
table <- data.frame(
`Crossref field and meaning` = vapply(pairs$cr, field_cell, character(1), cr_meanings),
`Nature in Crossref` = vapply(pairs$cr, value_cell, character(1), cr_flat),
`OpenAlex field and meaning` = vapply(pairs$oa, field_cell, character(1), oa_definitions),
`Nature in OpenAlex` = vapply(pairs$oa, value_cell, character(1), oa_flat),
check.names = FALSE)
cat("<div class='field-comparison'>")
print(knitr::kable(table, format = "html", escape = FALSE, row.names = FALSE))
cat("</div>\n")
}
cr_remaining <- setdiff(cr_fields, field_pairs$cr)
oa_remaining <- setdiff(oa_fields, field_pairs$oa)
all_pairs <- bind_rows(field_pairs,
tibble::tibble(cr = cr_remaining, oa = ""),
tibble::tibble(cr = "", oa = oa_remaining))
stopifnot(setequal(all_pairs$cr[all_pairs$cr != ""], cr_fields),
setequal(all_pairs$oa[all_pairs$oa != ""], oa_fields),
!anyDuplicated(all_pairs$cr[all_pairs$cr != ""]),
!anyDuplicated(all_pairs$oa[all_pairs$oa != ""]))
write.csv(cr_flat, file.path(nature_dir, "crossref-expanded-values.csv"), row.names = FALSE)
write.csv(oa_flat, file.path(nature_dir, "openalex-expanded-values.csv"), row.names = FALSE)
write.csv(all_pairs, file.path(nature_dir, "field-pairs.csv"), row.names = FALSE)
comparison_year <- 2025L
cr_year_count <- Filter(function(x) x[[1]] == comparison_year,
cr$breakdowns$`dois-by-issued-year`)[[1]][[2]]
oa_year <- Filter(function(x) x$year == comparison_year, oa$counts_by_year)[[1]]
coverage <- cr$`coverage-type`$currentWhat Crossref adds is a view of the information deposited for a journal. For Nature’s 2024–2026 records, 11.5% contain abstracts, 63.9% contain reference lists, 39.3% contain an ORCID, and 0% contain contributor affiliations. These describe what is available through Crossref, rather than everything printed in the papers. They can help us compare metadata provision across journals; they do not by themselves measure research quality.
The metadata coverage measures under coverage and coverage-type are fractions from 0 to 1; last-status-check-time is a timestamp. Current means 2024–2026 publications, backfile means earlier publications, and all combines them. These periods follow the 2026 snapshot. coverage-type repeats the period-specific measures and adds the all-years view. flags expresses deposit activity as yes/no values. Repeated measures are shown because they are separate API fields, but are not separate findings.
cr_groups <- list(
"Identifiers, period totals and record timing" = cr_remaining[
!grepl("^(coverage\\.|coverage-type\\.|flags\\.)", cr_remaining)],
"Metadata coverage: current and backfile" = sort(cr_remaining[startsWith(cr_remaining, "coverage.")]),
"Metadata coverage: all years, current and backfile" = sort(cr_remaining[startsWith(cr_remaining, "coverage-type.")]),
"Deposit flags" = sort(cr_remaining[startsWith(cr_remaining, "flags.")]))
for (group in names(cr_groups)) {
cat("\n\n#### ", group, "\n\n", sep = "")
show_comparison(tibble::tibble(cr = cr_groups[[group]], oa = ""))
}| Crossref field and meaning | Nature in Crossref | OpenAlex field and meaning | Nature in OpenAlex |
|---|---|---|---|
last-status-check-timeCrossref status-check time, in Unix milliseconds. |
1789431984226 |
||
counts.current-doisDOI records for 2024–2026 publications. |
12078 |
||
counts.backfile-doisDOI records for publications before 2024. |
435119 |
||
issn-type[].typePrint or electronic medium for the paired ISSN. |
type: print → print type: electronic → electronic |
| Crossref field and meaning | Nature in Crossref | OpenAlex field and meaning | Nature in OpenAlex |
|---|---|---|---|
coverage.abstracts-backfileShare of records with an abstract; publications before 2024. |
0.00280383067620582 |
||
coverage.abstracts-currentShare of records with an abstract; 2024–2026 publications. |
0.115499254843517 |
||
coverage.affiliation-ror-ids-backfileShare of records with a contributor-affiliation ROR ID; publications before 2024. |
0 |
||
coverage.affiliation-ror-ids-currentShare of records with a contributor-affiliation ROR ID; 2024–2026 publications. |
0 |
||
coverage.affiliations-backfileShare of records with at least one contributor affiliation; publications before 2024. |
0 |
||
coverage.affiliations-currentShare of records with at least one contributor affiliation; 2024–2026 publications. |
0 |
||
coverage.award-numbers-backfileShare of records with a funding award number; publications before 2024. |
1.83857749259398e-05 |
||
coverage.award-numbers-currentShare of records with a funding award number; 2024–2026 publications. |
0 |
||
coverage.descriptions-backfileShare of records with description metadata (a separate API category from abstracts); publications before 2024. |
0 |
||
coverage.descriptions-currentShare of records with description metadata (a separate API category from abstracts); 2024–2026 publications. |
0 |
||
coverage.funder-ror-ids-backfileShare of records with a funder ROR ID; publications before 2024. |
0 |
||
coverage.funder-ror-ids-currentShare of records with a funder ROR ID; 2024–2026 publications. |
0 |
||
coverage.funders-backfileShare of records with funder information; publications before 2024. |
2.06839967916823e-05 |
||
coverage.funders-currentShare of records with funder information; 2024–2026 publications. |
0 |
||
coverage.licenses-backfileShare of records with licence information; publications before 2024. |
0.992659479360819 |
||
coverage.licenses-currentShare of records with licence information; 2024–2026 publications. |
1 |
||
coverage.orcids-backfileShare of records with at least one author ORCID; publications before 2024. |
0.0118174568336478 |
||
coverage.orcids-currentShare of records with at least one author ORCID; 2024–2026 publications. |
0.392945851962245 |
||
coverage.references-backfileShare of records with a reference list; publications before 2024. |
0.392602943102921 |
||
coverage.references-currentShare of records with a reference list; 2024–2026 publications. |
0.63893028647127 |
||
coverage.resource-links-backfileShare of records with full-text resource links; publications before 2024. |
0.992659479360819 |
||
coverage.resource-links-currentShare of records with full-text resource links; 2024–2026 publications. |
1 |
||
coverage.ror-ids-backfileShare of records with a ROR organisation ID; publications before 2024. |
0 |
||
coverage.ror-ids-currentShare of records with a ROR organisation ID; 2024–2026 publications. |
0 |
||
coverage.similarity-checking-backfileShare of records with a Similarity Check full-text URL; publications before 2024. |
0.993130614843296 |
||
coverage.similarity-checking-currentShare of records with a Similarity Check full-text URL; 2024–2026 publications. |
1 |
||
coverage.update-policies-backfileShare of records with Crossmark update-policy information; publications before 2024. |
0.0961667957501281 |
||
coverage.update-policies-currentShare of records with Crossmark update-policy information; 2024–2026 publications. |
0.339211790031462 |
| Crossref field and meaning | Nature in Crossref | OpenAlex field and meaning | Nature in OpenAlex |
|---|---|---|---|
coverage-type.all.abstractsShare of records with an abstract; all publication years. |
0.00584752167943506 |
||
coverage-type.all.affiliation-ror-idsShare of records with a contributor-affiliation ROR ID; all publication years. |
0 |
||
coverage-type.all.affiliationsShare of records with at least one contributor affiliation; all publication years. |
0 |
||
coverage-type.all.award-numbersShare of records with a funding award number; all publication years. |
1.78891676617516e-05 |
||
coverage-type.all.descriptionsShare of records with description metadata (a separate API category from abstracts); all publication years. |
0 |
||
coverage-type.all.funder-ror-idsShare of records with a funder ROR ID; all publication years. |
0 |
||
coverage-type.all.fundersShare of records with funder information; all publication years. |
2.01253136194706e-05 |
||
coverage-type.all.last-status-check-timeStatus-check time for all publication years (Unix milliseconds). |
1789431984226 |
||
coverage-type.all.licensesShare of records with licence information; all publication years. |
0.992855513665088 |
||
coverage-type.all.orcidsShare of records with at least one author ORCID; all publication years. |
0.022111011229925 |
||
coverage-type.all.referencesShare of records with a reference list; all publication years. |
0.399254916166888 |
||
coverage-type.all.resource-linksShare of records with full-text resource links; all publication years. |
0.992855513665088 |
||
coverage-type.all.ror-idsShare of records with a ROR organisation ID; all publication years. |
0 |
||
coverage-type.all.similarity-checkingShare of records with a Similarity Check full-text URL; all publication years. |
0.99331392358642 |
||
coverage-type.all.update-policiesShare of records with Crossmark update-policy information; all publication years. |
0.102730781443566 |
||
coverage-type.backfile.abstractsShare of records with an abstract; publications before 2024. |
0.00280383067620582 |
||
coverage-type.backfile.affiliation-ror-idsShare of records with a contributor-affiliation ROR ID; publications before 2024. |
0 |
||
coverage-type.backfile.affiliationsShare of records with at least one contributor affiliation; publications before 2024. |
0 |
||
coverage-type.backfile.award-numbersShare of records with a funding award number; publications before 2024. |
1.83857749259398e-05 |
||
coverage-type.backfile.descriptionsShare of records with description metadata (a separate API category from abstracts); publications before 2024. |
0 |
||
coverage-type.backfile.funder-ror-idsShare of records with a funder ROR ID; publications before 2024. |
0 |
||
coverage-type.backfile.fundersShare of records with funder information; publications before 2024. |
2.06839967916823e-05 |
||
coverage-type.backfile.last-status-check-timeStatus-check time for publications before 2024 (Unix milliseconds). |
1789431984226 |
||
coverage-type.backfile.licensesShare of records with licence information; publications before 2024. |
0.992659479360819 |
||
coverage-type.backfile.orcidsShare of records with at least one author ORCID; publications before 2024. |
0.0118174568336478 |
||
coverage-type.backfile.referencesShare of records with a reference list; publications before 2024. |
0.392602943102921 |
||
coverage-type.backfile.resource-linksShare of records with full-text resource links; publications before 2024. |
0.992659479360819 |
||
coverage-type.backfile.ror-idsShare of records with a ROR organisation ID; publications before 2024. |
0 |
||
coverage-type.backfile.similarity-checkingShare of records with a Similarity Check full-text URL; publications before 2024. |
0.993130614843296 |
||
coverage-type.backfile.update-policiesShare of records with Crossmark update-policy information; publications before 2024. |
0.0961667957501281 |
||
coverage-type.current.abstractsShare of records with an abstract; 2024–2026 publications. |
0.115499254843517 |
||
coverage-type.current.affiliation-ror-idsShare of records with a contributor-affiliation ROR ID; 2024–2026 publications. |
0 |
||
coverage-type.current.affiliationsShare of records with at least one contributor affiliation; 2024–2026 publications. |
0 |
||
coverage-type.current.award-numbersShare of records with a funding award number; 2024–2026 publications. |
0 |
||
coverage-type.current.descriptionsShare of records with description metadata (a separate API category from abstracts); 2024–2026 publications. |
0 |
||
coverage-type.current.funder-ror-idsShare of records with a funder ROR ID; 2024–2026 publications. |
0 |
||
coverage-type.current.fundersShare of records with funder information; 2024–2026 publications. |
0 |
||
coverage-type.current.last-status-check-timeStatus-check time for 2024–2026 publications (Unix milliseconds). |
1789431984226 |
||
coverage-type.current.licensesShare of records with licence information; 2024–2026 publications. |
1 |
||
coverage-type.current.orcidsShare of records with at least one author ORCID; 2024–2026 publications. |
0.392945851962245 |
||
coverage-type.current.referencesShare of records with a reference list; 2024–2026 publications. |
0.63893028647127 |
||
coverage-type.current.resource-linksShare of records with full-text resource links; 2024–2026 publications. |
1 |
||
coverage-type.current.ror-idsShare of records with a ROR organisation ID; 2024–2026 publications. |
0 |
||
coverage-type.current.similarity-checkingShare of records with a Similarity Check full-text URL; 2024–2026 publications. |
1 |
||
coverage-type.current.update-policiesShare of records with Crossmark update-policy information; 2024–2026 publications. |
0.339211790031462 |
| Crossref field and meaning | Nature in Crossref | OpenAlex field and meaning | Nature in OpenAlex |
|---|---|---|---|
flags.depositsWhether the journal has deposited records. |
true |
||
flags.deposits-abstracts-backfileWhether an abstract was deposited for publications before 2024. |
true |
||
flags.deposits-abstracts-currentWhether an abstract was deposited for 2024–2026 publications. |
true |
||
flags.deposits-affiliation-ror-ids-backfileWhether a contributor-affiliation ROR ID was deposited for publications before 2024. |
false |
||
flags.deposits-affiliation-ror-ids-currentWhether a contributor-affiliation ROR ID was deposited for 2024–2026 publications. |
false |
||
flags.deposits-affiliations-backfileWhether at least one contributor affiliation was deposited for publications before 2024. |
false |
||
flags.deposits-affiliations-currentWhether at least one contributor affiliation was deposited for 2024–2026 publications. |
false |
||
flags.deposits-articlesWhether it has deposited article records. |
true |
||
flags.deposits-award-numbers-backfileWhether a funding award number was deposited for publications before 2024. |
true |
||
flags.deposits-award-numbers-currentWhether a funding award number was deposited for 2024–2026 publications. |
false |
||
flags.deposits-descriptions-backfileWhether description metadata (a separate API category from abstracts) was deposited for publications before 2024. |
false |
||
flags.deposits-descriptions-currentWhether description metadata (a separate API category from abstracts) was deposited for 2024–2026 publications. |
false |
||
flags.deposits-funder-ror-ids-backfileWhether a funder ROR ID was deposited for publications before 2024. |
false |
||
flags.deposits-funder-ror-ids-currentWhether a funder ROR ID was deposited for 2024–2026 publications. |
false |
||
flags.deposits-funders-backfileWhether funder information was deposited for publications before 2024. |
true |
||
flags.deposits-funders-currentWhether funder information was deposited for 2024–2026 publications. |
false |
||
flags.deposits-licenses-backfileWhether licence information was deposited for publications before 2024. |
true |
||
flags.deposits-licenses-currentWhether licence information was deposited for 2024–2026 publications. |
true |
||
flags.deposits-orcids-backfileWhether at least one author ORCID was deposited for publications before 2024. |
true |
||
flags.deposits-orcids-currentWhether at least one author ORCID was deposited for 2024–2026 publications. |
true |
||
flags.deposits-references-backfileWhether a reference list was deposited for publications before 2024. |
true |
||
flags.deposits-references-currentWhether a reference list was deposited for 2024–2026 publications. |
true |
||
flags.deposits-resource-links-backfileWhether full-text resource links was deposited for publications before 2024. |
true |
||
flags.deposits-resource-links-currentWhether full-text resource links was deposited for 2024–2026 publications. |
true |
||
flags.deposits-ror-ids-backfileWhether a ROR organisation ID was deposited for publications before 2024. |
false |
||
flags.deposits-ror-ids-currentWhether a ROR organisation ID was deposited for 2024–2026 publications. |
false |
||
flags.deposits-similarity-checking-backfileWhether a Similarity Check full-text URL was deposited for publications before 2024. |
true |
||
flags.deposits-similarity-checking-currentWhether a Similarity Check full-text URL was deposited for 2024–2026 publications. |
true |
||
flags.deposits-update-policies-backfileWhether Crossmark update-policy information was deposited for publications before 2024. |
true |
||
flags.deposits-update-policies-currentWhether Crossmark update-policy information was deposited for 2024–2026 publications. |
true |
Crossref’s licence coverage measures whether licence information is deposited. It does not state that every paper is open access. Its print/electronic ISSN labels add detail to the shared identifiers. The current/backfile DOI totals are precomputed groupings; OpenAlex’s annual counts could be grouped over the same years, but have no directly equivalent total fields.
OpenAlex adds topic profiles, citation measures, open-access indicators, listed publication charges, and publisher and country identifiers. These describe other aspects of a journal, beyond Crossref’s metadata-deposit measures. For Nature, OpenAlex records 246,979 open-access works while is_oa is false: some works being open access does not make the whole journal fully open access. The recorded USD charge is a list price, not evidence of what authors paid.
oa_groups <- list(
"Identity, publisher and journal description" = oa_remaining[
grepl("^(id$|issn_l$|ids\\.|host_|homepage_url$|country_code$|societies$|alternate_titles$|type$)", oa_remaining)],
"Publication and citation measures" = oa_remaining[
grepl("^(oa_works_count$|cited_by_count$|summary_stats\\.|first_publication_year$|last_publication_year$|counts_by_year)", oa_remaining)],
"Open access, index flags and publication charges" = oa_remaining[
grepl("^(is_|oa_flip_year$|apc_)", oa_remaining)],
"Topics and their subject hierarchy" = oa_remaining[startsWith(oa_remaining, "topics[]")],
"The journal's share of topics across sources" = oa_remaining[startsWith(oa_remaining, "topic_share[]")],
"API link and record dates" = oa_remaining[oa_remaining %in% c("works_api_url", "updated_date", "created_date")])
stopifnot(setequal(unlist(oa_groups), oa_remaining),
!anyDuplicated(unlist(oa_groups)),
setequal(unlist(cr_groups), cr_remaining))
for (group in names(oa_groups)) {
cat("\n\n#### ", group, "\n\n", sep = "")
show_comparison(tibble::tibble(cr = "", oa = oa_groups[[group]]))
}| Crossref field and meaning | Nature in Crossref | OpenAlex field and meaning | Nature in OpenAlex |
|---|---|---|---|
idOpenAlex source identifier. |
https://openalex.org/S137773608 |
||
issn_lLinking ISSN joining medium variants. |
0028-0836 |
||
host_organizationHosting publisher’s OpenAlex ID. |
https://openalex.org/P4310319908 |
||
host_organization_lineage[]Host and parent publisher IDs. |
Item 1 → https://openalex.org/P4310319908 Item 2 → https://openalex.org/P4310319965 |
||
ids.openalexRepeated OpenAlex ID. |
https://openalex.org/S137773608 |
||
ids.issn_lRepeated linking ISSN. |
0028-0836 |
||
ids.magLegacy Microsoft Academic Graph ID. |
137773608 |
||
ids.wikidataWikidata identifier. |
https://www.wikidata.org/entity/Q180445 |
||
homepage_urlJournal homepage. |
https://www.nature.com/nature/ |
||
country_codeJournal’s home country code. |
GB |
||
societiesAssociated scholarly societies; Nature returns an empty list. |
[] |
||
alternate_titlesAlternative journal titles; Nature returns an empty list. |
[] |
||
typeSource type. |
journal |
| Crossref field and meaning | Nature in Crossref | OpenAlex field and meaning | Nature in OpenAlex |
|---|---|---|---|
oa_works_countOpen-access works. |
246979 |
||
cited_by_countCitations received by the journal’s works. |
27285391 |
||
summary_stats.2yr_mean_citednessMean cumulative citations for recent publications; OpenAlex’s measure, not JCR’s impact factor. |
18.8222075346993 |
||
summary_stats.h_indexh works have each received at least h citations. |
1855 |
||
summary_stats.i10_indexWorks with at least 10 citations. |
120520 |
||
first_publication_yearEarliest publication year in this OpenAlex record. |
1851 |
||
last_publication_yearLatest publication year in this OpenAlex record. |
2026 |
||
counts_by_year[].oa_works_countOpen-access works published in that year. |
year: 2025 → 1738 All 158 valuesyear: 2026 → 1046 year: 2025 → 1738 year: 2024 → 1642 year: 2023 → 1628 year: 2022 → 1605 year: 2021 → 1354 year: 2020 → 1336 year: 2019 → 1981 year: 2018 → 2127 year: 2017 → 1982 year: 2016 → 2504 year: 2015 → 2742 year: 2014 → 2795 year: 2013 → 2773 year: 2012 → 2898 year: 2011 → 2487 year: 2010 → 2466 year: 2009 → 2498 year: 2008 → 2623 year: 2007 → 1959 year: 2006 → 2015 year: 2005 → 1937 year: 2004 → 1723 year: 2003 → 1692 year: 2002 → 1526 year: 2001 → 1584 year: 2000 → 1522 year: 1999 → 1712 year: 1998 → 1590 year: 1997 → 1907 year: 1996 → 1656 year: 1995 → 1659 year: 1994 → 1839 year: 1993 → 1796 year: 1992 → 1796 year: 1991 → 1848 year: 1990 → 1904 year: 1989 → 2039 year: 1988 → 2069 year: 1987 → 2032 year: 1986 → 1897 year: 1985 → 1809 year: 1984 → 1886 year: 1983 → 1760 year: 1982 → 1403 year: 1981 → 1441 year: 1980 → 1409 year: 1979 → 1310 year: 1978 → 1302 year: 1977 → 1356 year: 1976 → 1260 year: 1975 → 1376 year: 1974 → 1343 year: 1973 → 1456 year: 1972 → 1424 year: 1971 → 1608 year: 1970 → 1872 year: 1969 → 2017 year: 1968 → 1953 year: 1967 → 1708 year: 1966 → 1802 year: 1965 → 1890 year: 1964 → 1996 year: 1963 → 2112 year: 1962 → 2005 year: 1961 → 2084 year: 1960 → 2099 year: 1959 → 2046 year: 1958 → 2059 year: 1957 → 1787 year: 1956 → 1749 year: 1955 → 1605 year: 1954 → 1733 year: 1953 → 1612 year: 1952 → 1560 year: 1951 → 1578 year: 1950 → 1641 year: 1949 → 2121 year: 1948 → 2084 year: 1947 → 1721 year: 1946 → 2114 year: 1945 → 1609 year: 1944 → 1703 year: 1943 → 1574 year: 1942 → 1657 year: 1941 → 1633 year: 1940 → 2084 year: 1939 → 2400 year: 1938 → 2655 year: 1937 → 2538 year: 1936 → 2543 year: 1935 → 2654 year: 1934 → 2534 year: 1933 → 2420 year: 1932 → 2373 year: 1931 → 1457 year: 1930 → 1440 year: 1929 → 1387 year: 1928 → 1327 year: 1927 → 1438 year: 1926 → 1439 year: 1925 → 1398 year: 1924 → 1486 year: 1923 → 1454 year: 1922 → 1608 year: 1921 → 1372 year: 1920 → 1417 year: 1919 → 857 year: 1918 → 889 year: 1917 → 862 year: 1916 → 893 year: 1915 → 999 year: 1914 → 1001 year: 1913 → 1011 year: 1912 → 1071 year: 1911 → 1407 year: 1910 → 1272 year: 1909 → 1194 year: 1908 → 1066 year: 1907 → 1020 year: 1906 → 1018 year: 1905 → 1005 year: 1904 → 1083 year: 1903 → 1082 year: 1902 → 1086 year: 1901 → 961 year: 1900 → 898 year: 1899 → 974 year: 1898 → 1005 year: 1897 → 1000 year: 1896 → 1078 year: 1895 → 990 year: 1894 → 924 year: 1893 → 944 year: 1892 → 926 year: 1891 → 948 year: 1890 → 930 year: 1889 → 960 year: 1888 → 1046 year: 1887 → 1002 year: 1886 → 1000 year: 1885 → 1047 year: 1884 → 1047 year: 1883 → 1086 year: 1882 → 1077 year: 1881 → 1016 year: 1880 → 1151 year: 1879 → 1071 year: 1878 → 1038 year: 1877 → 919 year: 1876 → 841 year: 1875 → 813 year: 1874 → 793 year: 1873 → 906 year: 1872 → 922 year: 1871 → 1043 year: 1870 → 998 year: 1869 → 191 |
||
counts_by_year[].cited_by_countCumulative citations to works published in that year. |
year: 2025 → 65446 All 158 valuesyear: 2026 → 6549 year: 2025 → 65446 year: 2024 → 155829 year: 2023 → 244993 year: 2022 → 263083 year: 2021 → 398772 year: 2020 → 556710 year: 2019 → 461711 year: 2018 → 494434 year: 2017 → 512505 year: 2016 → 553388 year: 2015 → 672148 year: 2014 → 580240 year: 2013 → 623725 year: 2012 → 754003 year: 2011 → 639295 year: 2010 → 650193 year: 2009 → 604762 year: 2008 → 732827 year: 2007 → 592698 year: 2006 → 714263 year: 2005 → 765754 year: 2004 → 619552 year: 2003 → 698239 year: 2002 → 746074 year: 2001 → 827695 year: 2000 → 867666 year: 1999 → 631838 year: 1998 → 718353 year: 1997 → 668322 year: 1996 → 519393 year: 1995 → 501555 year: 1994 → 462295 year: 1993 → 478704 year: 1992 → 443048 year: 1991 → 442619 year: 1990 → 435499 year: 1989 → 335211 year: 1988 → 373738 year: 1987 → 336286 year: 1986 → 311540 year: 1985 → 291848 year: 1984 → 300066 year: 1983 → 240935 year: 1982 → 231619 year: 1981 → 225674 year: 1980 → 229535 year: 1979 → 199773 year: 1978 → 203516 year: 1977 → 193833 year: 1976 → 179431 year: 1975 → 170863 year: 1974 → 140351 year: 1973 → 106385 year: 1972 → 115703 year: 1971 → 98319 year: 1970 → 401631 year: 1969 → 124519 year: 1968 → 118395 year: 1967 → 127443 year: 1966 → 101948 year: 1965 → 124024 year: 1964 → 124884 year: 1963 → 106021 year: 1962 → 111150 year: 1961 → 107527 year: 1960 → 97849 year: 1959 → 82894 year: 1958 → 82529 year: 1957 → 53324 year: 1956 → 54059 year: 1955 → 41681 year: 1954 → 40944 year: 1953 → 62847 year: 1952 → 34990 year: 1951 → 34444 year: 1950 → 36950 year: 1949 → 65925 year: 1948 → 44046 year: 1947 → 27920 year: 1946 → 35539 year: 1945 → 18308 year: 1944 → 15642 year: 1943 → 13303 year: 1942 → 20051 year: 1941 → 18596 year: 1940 → 17607 year: 1939 → 23447 year: 1938 → 34942 year: 1937 → 22490 year: 1936 → 34377 year: 1935 → 22861 year: 1934 → 21066 year: 1933 → 21758 year: 1932 → 25702 year: 1931 → 9934 year: 1930 → 11494 year: 1929 → 13369 year: 1928 → 16077 year: 1927 → 11080 year: 1926 → 12963 year: 1925 → 15260 year: 1924 → 13201 year: 1923 → 9876 year: 1922 → 15230 year: 1921 → 6196 year: 1920 → 6892 year: 1919 → 2001 year: 1918 → 2535 year: 1917 → 2185 year: 1916 → 6485 year: 1915 → 7299 year: 1914 → 5067 year: 1913 → 4212 year: 1912 → 4317 year: 1911 → 13418 year: 1910 → 5491 year: 1909 → 4933 year: 1908 → 4660 year: 1907 → 8351 year: 1906 → 6652 year: 1905 → 4432 year: 1904 → 3609 year: 1903 → 7372 year: 1902 → 3672 year: 1901 → 4023 year: 1900 → 2998 year: 1899 → 3250 year: 1898 → 5408 year: 1897 → 3435 year: 1896 → 2795 year: 1895 → 2643 year: 1894 → 2121 year: 1893 → 6439 year: 1892 → 1771 year: 1891 → 2405 year: 1890 → 1939 year: 1889 → 3178 year: 1888 → 1996 year: 1887 → 1951 year: 1886 → 2177 year: 1885 → 2594 year: 1884 → 2705 year: 1883 → 2957 year: 1882 → 2067 year: 1881 → 2949 year: 1880 → 3116 year: 1879 → 1850 year: 1878 → 7669 year: 1877 → 2769 year: 1876 → 1990 year: 1875 → 3136 year: 1874 → 2946 year: 1873 → 7215 year: 1872 → 2136 year: 1871 → 4434 year: 1870 → 4547 year: 1869 → 1080 |
| Crossref field and meaning | Nature in Crossref | OpenAlex field and meaning | Nature in OpenAlex |
|---|---|---|---|
is_oaFully open-access journal flag. |
false |
||
is_in_doajDOAJ inclusion. |
false |
||
is_in_doaj_since_yearYear DOAJ inclusion began. |
null |
||
is_high_oa_rateHigh open-access share flag. |
false |
||
is_high_oa_rate_since_yearYear that high-share status began. |
null |
||
is_in_scieloSciELO inclusion. |
false |
||
is_ojsOpen Journal Systems platform flag. |
false |
||
is_preprint_repositoryPreprint-repository flag. |
false |
||
is_coreCWTS Core source flag; not Web of Science inclusion. |
true |
||
oa_flip_yearYear of conversion to open access. |
null |
||
apc_prices[].priceListed article processing charge. |
currency: USD → 12690 currency: EUR → 10690 currency: GBP → 9190 |
||
apc_prices[].currencyCurrency of that charge. |
currency: USD → USD currency: EUR → EUR currency: GBP → GBP |
||
apc_usdListed charge in USD. |
12690 |
||
apc_usd_by_year[].yearYear of the listed charge. |
year: 2025 → 2025 All 5 valuesyear: 2025 → 2025 year: 2024 → 2024 year: 2023 → 2023 year: 2022 → 2022 year: 2021 → 2021 |
||
apc_usd_by_year[].priceThat year’s listed charge in USD. |
year: 2025 → 12690 All 5 valuesyear: 2025 → 12690 year: 2024 → 12290 year: 2023 → 11690 year: 2022 → 11390 year: 2021 → 11390 |
| Crossref field and meaning | Nature in Crossref | OpenAlex field and meaning | Nature in OpenAlex |
|---|---|---|---|
topics[].idTopic ID. |
display_name: Science, Research, and Medicine → https://openalex.org/T13656 All 25 valuesdisplay_name: Science, Research, and Medicine → https://openalex.org/T13656 display_name: History and Developments in Astronomy → https://openalex.org/T12836 display_name: Human auditory perception and evaluation → https://openalex.org/T13638 display_name: Biotechnology and Related Fields → https://openalex.org/T14293 display_name: Astro and Planetary Science → https://openalex.org/T10325 display_name: History and advancements in chemistry → https://openalex.org/T13297 display_name: Geology and Paleoclimatology Research → https://openalex.org/T10017 display_name: History of Science and Natural History → https://openalex.org/T12471 display_name: Diverse Scientific and Economic Studies → https://openalex.org/T13370 display_name: Health and Medical Research Impacts → https://openalex.org/T12168 display_name: Earthquake and Disaster Impact Studies → https://openalex.org/T13800 display_name: Various Chemistry Research Topics → https://openalex.org/T12327 display_name: Historical Astronomy and Related Studies → https://openalex.org/T13175 display_name: Space Science and Extraterrestrial Life → https://openalex.org/T12788 display_name: Plant and animal studies → https://openalex.org/T10487 display_name: Geological and Geochemical Analysis → https://openalex.org/T10001 display_name: Planetary Science and Exploration → https://openalex.org/T10406 display_name: Genetics, Bioinformatics, and Biomedical Research → https://openalex.org/T13937 display_name: RNA and protein synthesis mechanisms → https://openalex.org/T10521 display_name: Experimental and Theoretical Physics Studies → https://openalex.org/T12250 display_name: Solar and Space Plasma Dynamics → https://openalex.org/T10251 display_name: Educational Robotics and Engineering → https://openalex.org/T14335 display_name: Twentieth Century Scientific Developments → https://openalex.org/T12445 display_name: History of Science and Medicine → https://openalex.org/T14475 display_name: Medical History and Innovations → https://openalex.org/T12990 |
||
topics[].countJournal works associated with this topic. |
display_name: Science, Research, and Medicine → 16861 All 25 valuesdisplay_name: Science, Research, and Medicine → 16861 display_name: History and Developments in Astronomy → 11909 display_name: Human auditory perception and evaluation → 8886 display_name: Biotechnology and Related Fields → 8183 display_name: Astro and Planetary Science → 7810 display_name: History and advancements in chemistry → 7751 display_name: Geology and Paleoclimatology Research → 7151 display_name: History of Science and Natural History → 7150 display_name: Diverse Scientific and Economic Studies → 6699 display_name: Health and Medical Research Impacts → 6339 display_name: Earthquake and Disaster Impact Studies → 5266 display_name: Various Chemistry Research Topics → 4750 display_name: Historical Astronomy and Related Studies → 4519 display_name: Space Science and Extraterrestrial Life → 4277 display_name: Plant and animal studies → 4208 display_name: Geological and Geochemical Analysis → 4183 display_name: Planetary Science and Exploration → 4174 display_name: Genetics, Bioinformatics, and Biomedical Research → 4103 display_name: RNA and protein synthesis mechanisms → 4007 display_name: Experimental and Theoretical Physics Studies → 3844 display_name: Solar and Space Plasma Dynamics → 3816 display_name: Educational Robotics and Engineering → 3716 display_name: Twentieth Century Scientific Developments → 3469 display_name: History of Science and Medicine → 3445 display_name: Medical History and Innovations → 3410 |
||
topics[].subfield.idSubfield ID. |
display_name: Science, Research, and Medicine → https://openalex.org/subfields/2743 All 25 valuesdisplay_name: Science, Research, and Medicine → https://openalex.org/subfields/2743 display_name: History and Developments in Astronomy → https://openalex.org/subfields/3103 display_name: Human auditory perception and evaluation → https://openalex.org/subfields/2202 display_name: Biotechnology and Related Fields → https://openalex.org/subfields/2739 display_name: Astro and Planetary Science → https://openalex.org/subfields/3103 display_name: History and advancements in chemistry → https://openalex.org/subfields/1606 display_name: Geology and Paleoclimatology Research → https://openalex.org/subfields/1902 display_name: History of Science and Natural History → https://openalex.org/subfields/1207 display_name: Diverse Scientific and Economic Studies → https://openalex.org/subfields/2002 display_name: Health and Medical Research Impacts → https://openalex.org/subfields/2739 display_name: Earthquake and Disaster Impact Studies → https://openalex.org/subfields/3313 display_name: Various Chemistry Research Topics → https://openalex.org/subfields/1606 display_name: Historical Astronomy and Related Studies → https://openalex.org/subfields/3103 display_name: Space Science and Extraterrestrial Life → https://openalex.org/subfields/3103 display_name: Plant and animal studies → https://openalex.org/subfields/1105 display_name: Geological and Geochemical Analysis → https://openalex.org/subfields/1908 display_name: Planetary Science and Exploration → https://openalex.org/subfields/3103 display_name: Genetics, Bioinformatics, and Biomedical Research → https://openalex.org/subfields/1312 display_name: RNA and protein synthesis mechanisms → https://openalex.org/subfields/1312 display_name: Experimental and Theoretical Physics Studies → https://openalex.org/subfields/3109 display_name: Solar and Space Plasma Dynamics → https://openalex.org/subfields/3103 display_name: Educational Robotics and Engineering → https://openalex.org/subfields/1702 display_name: Twentieth Century Scientific Developments → https://openalex.org/subfields/1207 display_name: History of Science and Medicine → https://openalex.org/subfields/1207 display_name: Medical History and Innovations → https://openalex.org/subfields/1202 |
||
topics[].subfield.display_nameSubfield name. |
display_name: Science, Research, and Medicine → Reproductive Medicine All 25 valuesdisplay_name: Science, Research, and Medicine → Reproductive Medicine display_name: History and Developments in Astronomy → Astronomy and Astrophysics display_name: Human auditory perception and evaluation → Aerospace Engineering display_name: Biotechnology and Related Fields → Public Health, Environmental and Occupational Health display_name: Astro and Planetary Science → Astronomy and Astrophysics display_name: History and advancements in chemistry → Physical and Theoretical Chemistry display_name: Geology and Paleoclimatology Research → Atmospheric Science display_name: History of Science and Natural History → History and Philosophy of Science display_name: Diverse Scientific and Economic Studies → Economics and Econometrics display_name: Health and Medical Research Impacts → Public Health, Environmental and Occupational Health display_name: Earthquake and Disaster Impact Studies → Transportation display_name: Various Chemistry Research Topics → Physical and Theoretical Chemistry display_name: Historical Astronomy and Related Studies → Astronomy and Astrophysics display_name: Space Science and Extraterrestrial Life → Astronomy and Astrophysics display_name: Plant and animal studies → Ecology, Evolution, Behavior and Systematics display_name: Geological and Geochemical Analysis → Geophysics display_name: Planetary Science and Exploration → Astronomy and Astrophysics display_name: Genetics, Bioinformatics, and Biomedical Research → Molecular Biology display_name: RNA and protein synthesis mechanisms → Molecular Biology display_name: Experimental and Theoretical Physics Studies → Statistical and Nonlinear Physics display_name: Solar and Space Plasma Dynamics → Astronomy and Astrophysics display_name: Educational Robotics and Engineering → Artificial Intelligence display_name: Twentieth Century Scientific Developments → History and Philosophy of Science display_name: History of Science and Medicine → History and Philosophy of Science display_name: Medical History and Innovations → History |
||
topics[].field.idField ID. |
display_name: Science, Research, and Medicine → https://openalex.org/fields/27 All 25 valuesdisplay_name: Science, Research, and Medicine → https://openalex.org/fields/27 display_name: History and Developments in Astronomy → https://openalex.org/fields/31 display_name: Human auditory perception and evaluation → https://openalex.org/fields/22 display_name: Biotechnology and Related Fields → https://openalex.org/fields/27 display_name: Astro and Planetary Science → https://openalex.org/fields/31 display_name: History and advancements in chemistry → https://openalex.org/fields/16 display_name: Geology and Paleoclimatology Research → https://openalex.org/fields/19 display_name: History of Science and Natural History → https://openalex.org/fields/12 display_name: Diverse Scientific and Economic Studies → https://openalex.org/fields/20 display_name: Health and Medical Research Impacts → https://openalex.org/fields/27 display_name: Earthquake and Disaster Impact Studies → https://openalex.org/fields/33 display_name: Various Chemistry Research Topics → https://openalex.org/fields/16 display_name: Historical Astronomy and Related Studies → https://openalex.org/fields/31 display_name: Space Science and Extraterrestrial Life → https://openalex.org/fields/31 display_name: Plant and animal studies → https://openalex.org/fields/11 display_name: Geological and Geochemical Analysis → https://openalex.org/fields/19 display_name: Planetary Science and Exploration → https://openalex.org/fields/31 display_name: Genetics, Bioinformatics, and Biomedical Research → https://openalex.org/fields/13 display_name: RNA and protein synthesis mechanisms → https://openalex.org/fields/13 display_name: Experimental and Theoretical Physics Studies → https://openalex.org/fields/31 display_name: Solar and Space Plasma Dynamics → https://openalex.org/fields/31 display_name: Educational Robotics and Engineering → https://openalex.org/fields/17 display_name: Twentieth Century Scientific Developments → https://openalex.org/fields/12 display_name: History of Science and Medicine → https://openalex.org/fields/12 display_name: Medical History and Innovations → https://openalex.org/fields/12 |
||
topics[].field.display_nameField name. |
display_name: Science, Research, and Medicine → Medicine All 25 valuesdisplay_name: Science, Research, and Medicine → Medicine display_name: History and Developments in Astronomy → Physics and Astronomy display_name: Human auditory perception and evaluation → Engineering display_name: Biotechnology and Related Fields → Medicine display_name: Astro and Planetary Science → Physics and Astronomy display_name: History and advancements in chemistry → Chemistry display_name: Geology and Paleoclimatology Research → Earth and Planetary Sciences display_name: History of Science and Natural History → Arts and Humanities display_name: Diverse Scientific and Economic Studies → Economics, Econometrics and Finance display_name: Health and Medical Research Impacts → Medicine display_name: Earthquake and Disaster Impact Studies → Social Sciences display_name: Various Chemistry Research Topics → Chemistry display_name: Historical Astronomy and Related Studies → Physics and Astronomy display_name: Space Science and Extraterrestrial Life → Physics and Astronomy display_name: Plant and animal studies → Agricultural and Biological Sciences display_name: Geological and Geochemical Analysis → Earth and Planetary Sciences display_name: Planetary Science and Exploration → Physics and Astronomy display_name: Genetics, Bioinformatics, and Biomedical Research → Biochemistry, Genetics and Molecular Biology display_name: RNA and protein synthesis mechanisms → Biochemistry, Genetics and Molecular Biology display_name: Experimental and Theoretical Physics Studies → Physics and Astronomy display_name: Solar and Space Plasma Dynamics → Physics and Astronomy display_name: Educational Robotics and Engineering → Computer Science display_name: Twentieth Century Scientific Developments → Arts and Humanities display_name: History of Science and Medicine → Arts and Humanities display_name: Medical History and Innovations → Arts and Humanities |
||
topics[].domain.idDomain ID. |
display_name: Science, Research, and Medicine → https://openalex.org/domains/4 All 25 valuesdisplay_name: Science, Research, and Medicine → https://openalex.org/domains/4 display_name: History and Developments in Astronomy → https://openalex.org/domains/3 display_name: Human auditory perception and evaluation → https://openalex.org/domains/3 display_name: Biotechnology and Related Fields → https://openalex.org/domains/4 display_name: Astro and Planetary Science → https://openalex.org/domains/3 display_name: History and advancements in chemistry → https://openalex.org/domains/3 display_name: Geology and Paleoclimatology Research → https://openalex.org/domains/3 display_name: History of Science and Natural History → https://openalex.org/domains/2 display_name: Diverse Scientific and Economic Studies → https://openalex.org/domains/2 display_name: Health and Medical Research Impacts → https://openalex.org/domains/4 display_name: Earthquake and Disaster Impact Studies → https://openalex.org/domains/2 display_name: Various Chemistry Research Topics → https://openalex.org/domains/3 display_name: Historical Astronomy and Related Studies → https://openalex.org/domains/3 display_name: Space Science and Extraterrestrial Life → https://openalex.org/domains/3 display_name: Plant and animal studies → https://openalex.org/domains/1 display_name: Geological and Geochemical Analysis → https://openalex.org/domains/3 display_name: Planetary Science and Exploration → https://openalex.org/domains/3 display_name: Genetics, Bioinformatics, and Biomedical Research → https://openalex.org/domains/1 display_name: RNA and protein synthesis mechanisms → https://openalex.org/domains/1 display_name: Experimental and Theoretical Physics Studies → https://openalex.org/domains/3 display_name: Solar and Space Plasma Dynamics → https://openalex.org/domains/3 display_name: Educational Robotics and Engineering → https://openalex.org/domains/3 display_name: Twentieth Century Scientific Developments → https://openalex.org/domains/2 display_name: History of Science and Medicine → https://openalex.org/domains/2 display_name: Medical History and Innovations → https://openalex.org/domains/2 |
||
topics[].domain.display_nameDomain name. |
display_name: Science, Research, and Medicine → Health Sciences All 25 valuesdisplay_name: Science, Research, and Medicine → Health Sciences display_name: History and Developments in Astronomy → Physical Sciences display_name: Human auditory perception and evaluation → Physical Sciences display_name: Biotechnology and Related Fields → Health Sciences display_name: Astro and Planetary Science → Physical Sciences display_name: History and advancements in chemistry → Physical Sciences display_name: Geology and Paleoclimatology Research → Physical Sciences display_name: History of Science and Natural History → Social Sciences display_name: Diverse Scientific and Economic Studies → Social Sciences display_name: Health and Medical Research Impacts → Health Sciences display_name: Earthquake and Disaster Impact Studies → Social Sciences display_name: Various Chemistry Research Topics → Physical Sciences display_name: Historical Astronomy and Related Studies → Physical Sciences display_name: Space Science and Extraterrestrial Life → Physical Sciences display_name: Plant and animal studies → Life Sciences display_name: Geological and Geochemical Analysis → Physical Sciences display_name: Planetary Science and Exploration → Physical Sciences display_name: Genetics, Bioinformatics, and Biomedical Research → Life Sciences display_name: RNA and protein synthesis mechanisms → Life Sciences display_name: Experimental and Theoretical Physics Studies → Physical Sciences display_name: Solar and Space Plasma Dynamics → Physical Sciences display_name: Educational Robotics and Engineering → Physical Sciences display_name: Twentieth Century Scientific Developments → Social Sciences display_name: History of Science and Medicine → Social Sciences display_name: Medical History and Innovations → Social Sciences |
| Crossref field and meaning | Nature in Crossref | OpenAlex field and meaning | Nature in OpenAlex |
|---|---|---|---|
works_api_urlLink to this journal’s works endpoint. |
https://api.openalex.org/works?filter=primary_location.source.id:S137773608 |
||
updated_dateLast OpenAlex record update (UTC). |
2026-09-14T10:03:46 |
||
created_dateDate the OpenAlex record was created. |
2016-06-24T00:00:00 |
topics.count counts this journal’s works associated with a topic. topic_share.value instead describes this journal’s share of that topic across all sources. The latter is not the percentage of Nature’s own papers on that topic. is_core refers to the CWTS Core sources list, so it cannot serve as our Web of Science inclusion label.
The annual citation field groups cumulative citations by the publication year of the cited works. The recent-publication mean in summary_stats also uses OpenAlex’s own calculation. These meanings follow the current OpenAlex source-building code. Nature’s first_publication_year is 1851 in this response, but the annual list starts at 1869. These two fields disagree; the earlier value should not be used as the journal’s founding year without checking it.
An empty list cannot supply an example of its child fields. The documented fields below complete the schema explanation without inventing Nature values. Their OpenAlex cells explicitly state why there is no value; Crossref cells remain blank.
not_returned <- tibble::tribble(
~field, ~meaning, ~value,
"societies[].organization", "Associated scholarly society name.", "No item: societies = []",
"societies[].url", "Associated society's URL.", "No item: societies = []",
"alternate_titles[]", "An alternative or former title.", "No item: alternate_titles = []",
"abbreviated_title", "Standard abbreviated journal title.", "Field not returned in this Nature response",
"ids.fatcat", "Fatcat catalogue identifier.", "Field not returned in this Nature response")
unavailable_table <- knitr::kable(data.frame(
`Crossref field and meaning` = "", `Nature in Crossref` = "",
`OpenAlex field and meaning` = paste0("<code>", escape(not_returned$field),
"</code><br>", escape(not_returned$meaning)),
`Nature in OpenAlex` = escape(not_returned$value), check.names = FALSE),
format = "html", escape = FALSE, row.names = FALSE)
cat(paste0("<div class='field-comparison'>", unavailable_table, "</div>"))| Crossref field and meaning | Nature in Crossref | OpenAlex field and meaning | Nature in OpenAlex |
|---|---|---|---|
societies[].organizationAssociated scholarly society name. |
No item: societies = [] | ||
societies[].urlAssociated society’s URL. |
No item: societies = [] | ||
alternate_titles[]An alternative or former title. |
No item: alternate_titles = [] | ||
abbreviated_titleStandard abbreviated journal title. |
Field not returned in this Nature response | ||
ids.fatcatFatcat catalogue identifier. |
Field not returned in this Nature response |
For the meeting: the clearest Crossref addition is the extent to which different kinds of metadata are supplied. OpenAlex already supplies a broader description of journal topics, publication activity and open access. This Nature example shows the distinction and the field values; whether those patterns hold across journals remains a separate analysis.
Field explanations use the Crossref journal schema, Crossref coverage definitions, OpenAlex Source dictionary and OpenAlex source construction.
Agreed task: Find records with Crossref information but no OpenAlex match, and show their number and examples.
We select records with one Crossref match and no OpenAlex match in the saved ISSN search. Records with several possible OpenAlex matches are counted separately.
crossref_only <- journals |>
filter(crossref_match_status == "unique",
openalex_match_status == "unmatched")
n_uncertain <- sum(journals$crossref_match_status == "unique" &
journals$openalex_match_status == "ambiguous")
examples <- crossref_only |>
transmute(Journal = crossref_title,
ISSN = gsub("|", ", ", crossref_matched_issns, fixed = TRUE),
`Registered DOIs` = vapply(crossref_counts,
function(x) as.numeric(fromJSON(x)$`total-dois`), numeric(1)))
knitr::kable(examples, format.args = list(big.mark = ","))| Journal | ISSN | Registered DOIs |
|---|---|---|
| Usrotuna Journal of Islamic Family Law | 3089-1272 | 5 |
| Saqifah Jurnal Hukum Ekonomi Syariah | 2548-4974 | 32 |
| JBMP Jurnal Bhakti Muhammadiyah Papua | 3124-1522 | 20 |
| Research Journal of Human and Social Aspects | 3006-9696, 3006-970X | 7 |
| Collection of Scientific Papers | 2720-8257 | 25 |
| Stout in Agriculture and Animal Science | 2979-2835 | 2 |
| African Journal of Multidisciplinary Research and Reviews | 3142-5917, 3142-5925 | 1 |
Crossref adds a match where OpenAlex found none for 7 of the 72,084 records with a usable ISSN (0.010%). Its additional reach is therefore small in this PKP list; its main contribution is the extra information it provides about records already found in both sources. Another 104 records have one Crossref match but several possible OpenAlex matches. They need a separate identity check. The 26,189 records without a usable ISSN were not searched.
Agreed task: Check an actual empty-list example and show how it should be treated.
Here we inspect subjects, the Crossref subject-label field, for the first record listed above.
example_issn <- strsplit(crossref_only$crossref_matched_issns[1],
"|", fixed = TRUE)[[1]][1]
raw_example <- Filter(function(x) example_issn %in% x$ISSN,
crossref$journals)[[1]]
raw_example$subjectslist()
Crossref retired its old subject codes on 23 April 2024, leaving the fields empty for compatibility. The empty list is already present in the saved API response, before merging. We represent this unavailable classification as missing in the analysis:
raw_nonempty_subjects <- sum(vapply(crossref$journals,
function(journal) length(journal$subjects) > 0, logical(1)))
matched <- journals |> filter(crossref_match_status == "unique")
matched <- matched |>
mutate(subjects_clean = na_if(crossref_subjects, "[]"))
knitr::kable(data.frame(
`Subject information` = c("Supplied", "Missing"),
Records = c(sum(!is.na(matched$subjects_clean)),
sum(is.na(matched$subjects_clean))),
check.names = FALSE), format.args = list(big.mark = ","))| Subject information | Records |
|---|---|
| Supplied | 0 |
| Missing | 52,630 |
The original cache contains 168,907 journal records, of which 0 have nonempty subject labels. All 52,630 records with one Crossref match likewise have empty subject labels in the merged data. This is consistent with the retired Crossref classification, rather than evidence that the journals have no subject or that the merge removed their labels. These legacy codes came from a Scopus-based experiment; they were not subject labels deposited by publishers. Crossref’s explanation also makes clear that the empty fields are intentional. OpenAlex’s topics is a separate field and is populated in the example above.
Agreed task: Test whether a query now runs and identify the permission needed.
query_test <- system2(params$bq_cli, c(
"--headless=true", "--project_id=insyspo", "--location=US",
"--dataset_id=insyspo:userdb_yann_jyal", "query",
"--use_legacy_sql=false", "--maximum_bytes_billed=1",
shQuote("SELECT 1 AS access_test")), stdout = TRUE, stderr = TRUE)The SELECT 1 test still fails in insyspo; the account needs BigQuery Job User (roles/bigquery.jobUser), which includes bigquery.jobs.create.
Tasks follow the meeting discussion (02:13–08:29 and 34:23–34:31), alongside the field-review request.