外部学术数据源

QuantumAtlas 用来补全 / 索引论文 metadata、DOI 映射、引用关系的外部上游数据源。本文不是"我们用了什么库"(那部分见 致谢),而是"我们查 / 同步 / 镜像哪些公开学术数据库"。

名称澄清(常见误解)

名词

全称

是什么

跟谁无关

OAI

Open Archives Initiative

一个 1999 年起的协议标准(OAI-PMH),全球学术档案库的统一元数据接口

跟 OpenAI(做 ChatGPT 的公司)完全无关,名字撞车

arxiv-metadata-oai-snapshot

—

arxiv 通过 OAI-PMH 协议吐出来的全量 metadata 快照(Kaggle 每周更新)

—

Crossref

—

学术 DOI 注册中心,出版商交钱登记 DOI + metadata 的数据库

跟 OpenAlex 是部分重叠的两个数据源,不是被包含关系

OpenAlex

—

把 Crossref + arxiv + ORCID + MAG 等聚合的开放索引(OurResearch 非营利组织维护)

—

三大上游对比

1. arxiv-metadata OAI snapshot

arxiv 自己通过 OAI-PMH 接口对外发布的全量论文 metadata 快照。

维度

值

数据源

arxiv.org(Cornell 大学维护)

体积

~4.9 GB JSONL(全量,所有学科)

范围

arxiv 上所有论文 ~301 万篇(2026-04 snapshot)

更新

Kaggle 每周一次

含 DOI

✅ 73%(作者投稿后回 arxiv 自己填的;team 抽样 5K 行 quant-ph 子集实测)

含期刊

✅ journal-ref 字段(如 Phys.Rev.D76:013009,2007)

含引用关系

❌ 完全没有

含作者机构

⚠️ 仅纯字符串,未解析

主键

arxiv id (0704.0001)

怎么有 DOI 的:作者投稿到 arxiv 时 DOI 字段一般为空(还没发表)。论文几个月/几年后正式发表,作者主动回 arxiv 更新自己论文 metadata 把 DOI 填进去——arxiv 不主动验证。所以 27% 缺失主要是 "作者懒得回填" 或 "论文从未投期刊"。

在团队里已经有:/mnt/team/Papercrawl/arxiv-metadata/arxiv-metadata-oai-snapshot.json(4.9 GB),团队 Papercrawl 项目下下来的。配套有 quant-ph-download-manifest.json(12 MB,从全量 filter 出 quant-ph 子集的下载清单)+ stat.json(统计结果,全 arxiv 共 3,015,145 篇 + 全部分类列表)。

2. Crossref

学术 DOI 注册中心——出版商发表论文时来这里登记 DOI + metadata。出版商交钱,普通用户免费查。

维度

值

数据源

Crossref(注册机构)

API

https://api.crossref.org/works

Bulk

~200 GB JSON.gz,每年发一次 torrent

范围

~1.83 亿条 DOI

含 DOI

✅ 所有论文都有(这就是它的存在意义)

含正向引用(reference[])

✅ 完整(含 unstructured 引文文本)

含反向引用列表

⚠️ 只给数字 is-referenced-by-count;列表对普通用户不开放(要是 publisher 自己的 DOI prefix 才能用 Cited-by Service 拿)

含 arxiv id

❌ 没有(Crossref 不收 preprint)

含摘要

❌ 没有

含作者机构 ROR

⚠️ 部分有

独家字段(OpenAlex 不暴露):撤稿声明(update-to / update-policy)、出版商 assertion(同行评议、数据可用性等正式声明)、archive(CLOCKSS / Portico 等数字保存信息)、TDM 链接、ISSN / member / prefix 等出版商内部 ID。

3. OpenAlex

把 Crossref + arxiv + ORCID + MAG(微软关停的学术图谱)等聚合起来的开放索引。

维度

值

数据源

OurResearch(非营利)

API

https://api.openalex.org/works(polite pool: header 加 mailto=... 提速且优先级高)

Bulk

~639 GB gz / 5–10 TB 解压(2127 个 part),AWS S3 s3://openalex/,匿名可拉、无 egress 费用

范围

4.92 亿 works(全学科,含 preprint + 期刊 + 会议 + 书 + thesis...)

更新

每天增量,Bulk 每月 refresh

主键

OpenAlex W-id (W3023478445)

含 DOI

✅ Crossref 同步 + 自家算法补全

含正向引用(referenced_works[])

⚠️ 少于 Crossref(同一篇 Shor 1997: OpenAlex 45 条 vs Crossref 51 条;OpenAlex 只算能解析到 W-id 的,丢失 unstructured 条目)

含反向引用列表(cited_by)

✅ 完整 W-id 列表——这是 OpenAlex 最大独家价值

含 arxiv id

⚠️ 不在 ids.arxiv,埋在 locations[].landing_page_url(形如 http://arxiv.org/abs/1707.06347,需正则提取)

含摘要

✅ abstract_inverted_index(倒排索引格式,反映原文需重组)

含作者机构 ROR

✅ 已解析到 ROR ID

含主题分类

✅ topics / concepts / keywords / mesh / SDG(自家 ML 跑出来的)

含 fwci

✅ field-weighted citation impact

MAG 继承

✅ 微软 MAG 2021 年关停时把数据捐给了 OpenAlex — OpenAlex 这个项目就是为了接 MAG 留下的空白而成立的

Crossref vs OpenAlex 不是"包含关系",是"部分重叠"

⚠️ 常见误解:"OpenAlex 把 Crossref 全包了,用 OpenAlex 就够。" 不对。

同一篇 Shor 1997 SIAM(DOI 10.1137/S0097539795293172)字段对照实测:

字段

Crossref

OpenAlex

总字段数

38

49

reference[] 数

51

45(丢 6 条)

cited_by 数字

5544

5803

cited_by 列表

❌

✅

摘要

❌

✅ inverted index

撤稿 / 勘误

✅

❌

出版商 assertion

✅

❌

作者机构 ROR

⚠️ 部分

✅

主题分类

❌

✅ topics / concepts / keywords / mesh

两个互补:OpenAlex 缺 unstructured reference 文本 / 撤稿声明 / 部分引用边;Crossref 缺反向 cited_by 列表 / 摘要 / 机构解析 / 主题分类。

OA 解析器:Robust Downloader 的 PDF 上游

论文元数据之外,Robust Downloader 还消费三个 开放获取(OA)解析服务——给定 DOI 回答"哪里有合法的 OA 全文 PDF"。它们是 策略阶梯 oa:* 段的数据源,不是元数据镜像:

服务

运营方

用法(策略 id)

key

Europe PMC

EMBL-EBI

fullTextUrlList 的候选 URL,含免 PoW 挑战的 ?pdf=render 直渲染路径(oa:europepmc);另承担 PMCID → DOI 换算(pmc-resolve)

无需

Unpaywall

OurResearch(与 OpenAlex 同门)

best_oa_location + 全部 oa_locations(oa:unpaywall)。候选若只是绿色 OA 仓库落地页(HAL、高校 repo…),会先挖出真正的 PDF 链接再抓(oa:unpaywall+landing)

无需,但要求联系邮箱(downloader.unpaywall_email,空则回落 paper_access.openalex_mailto)

Semantic Scholar (S2)

Allen Institute for AI

openAccessPdf 字段(oa:semantic_scholar)——最高召回的 OA resolver

可选免费 key(downloader.s2_api_key;免费档预算 1 req/s,客户端已按此本地限速),配 key 可避开共享池的 429

OpenAlex 自己也在梯子里(oa:openalex,works 的 pdf_url 候选 + DOI→arXiv twin 反查),见上文 OpenAlex 小节。

这四家是互补关系:不同家对同一 DOI 知道的 OA 副本不同(出版社版本 vs 绿色仓库版本),梯子按 europepmc → unpaywall → openalex → semantic_scholar 的顺序逐个尝试,每个候选 URL 都要过统一验证管线(%PDF- magic / bot 墙 / 付费墙分类)才会被接受。

引用关系的两个方向

       reference (正向)              cited_by (反向)
  "这篇论文引用了谁"               "谁引用了这篇论文"

  Shor 1997                       Shor 1997
     │                               ▲
     ▼ 45-51 条                      │ 5803 篇
  Feynman 1982                    后人论文
  Deutsch 1985
  Bennett 1973
  ...

方向

Crossref

OpenAlex

正向(A → A 引用谁)

✅ 更全(含 unstructured 引文文本)

⚠️ 少几条(只算 W-id 能解析的)

反向(谁 → A,cited_by)

⚠️ 只给数字,列表锁着

✅ 完整列表

→ 要建完整引用图必须两个都查:Crossref 拿正向 + OpenAlex 拿反向。DOI 解析 chain 把 Crossref 和 OpenAlex 都接进来正是这个原因——互补不是冗余。

arxiv ↔ 正式 DOI 各家覆盖率

抽样 + 实测得出(不是官方数字,仅供参考):

来源

quant-ph 论文 arxiv→DOI 覆盖率

性质

arxiv OAI snapshot 自报字段

~73%

作者自报,可信但有缺失

OpenAlex(含 Crossref 反向匹配 + MAG 历史)

不确定,抽样 3 篇 1 命中

用 publisher deposit + 算法补全,命中率看 publisher(Nature/PRL 高,小期刊/中文期刊低)

⚠️ 重要:OpenAlex 对 arxiv 没 DOI 的论文经常 fallback 给 10.48550/arxiv.XXXX 这种 arxiv 自家 mint 的 self-DOI——这不是正式期刊版 DOI,使用时要按 doi 前缀过滤掉。

在 QuantumAtlas 里的应用规划

现状(2026-05)

  • ✅ arxiv OAI snapshot 在团队 NAS(/mnt/team/Papercrawl/arxiv-metadata/),4.9 GB,但还没在 qatlas 代码里用

  • ✅ RustFS 对象存储(S3 兼容)已经在生产用于 paper-asset PDF/Markdown/JSON 三件套

  • ❌ OpenAlex bulk dump 还没拉到 RustFS

短期(P1):读本地 OAI snapshot

写脚本扫 4.9 GB → filter quant-ph 子集 → 提 (arxiv_id, doi, journal-ref, title) → 落 SQLite → 灌 PocketBase 一张 arxiv_doi_map collection。73% 命中率、零外部 API 调用。client 的 enrich-doi chain 加最高优先级 resolver PocketBaseMapResolver,命中即 high-confidence。

中期(P2):OpenAlex bulk mirror 到 RustFS

把 OpenAlex works dump(639 GB gz)镜像到 RustFS 新 bucket(如 qatlas-openalex/,保留 data/works/updated_date=*/part_*.gz 原结构,便于增量)。配套:

  • 一次性 sync ~14–18 小时(按当前测速)

  • 月增量 ~10 GB

  • 本地建索引(DuckDB / SQLite indexed)

  • W-id → DOI 映射表

  • arxiv URL → (arxiv_id, doi) 映射表(覆盖 OAI 缺的 27%)

意义:从此 client / server 查 DOI / 元数据全本地,不依赖外网 API、不限速、可以做大规模分析。这是把 QuantumAtlas 从"工具"升级成"学术数据基础设施"的关键一步。

长期(P3):OpenAlex 引用关系本地化

OpenAlex referenced_works[] 已作为内联 generated 列(openalex_referenced_work_ids,GIN 反查) 随 works 语料进 PostgreSQL corpus——citation join 永远本地 SQL,不回落公开 API。 Crossref reference[] 补正向缺失(unstructured 引文)。

引用

如果在论文里引用了 OpenAlex 数据,他们的方法学论文是:

Priem, J., Piwowar, H., & Orr, R. (2022). OpenAlex: A fully-open index of scholarly works, authors, venues, institutions, and concepts. arXiv https://arxiv.org/abs/2205.01833

调研原始记录

字段对照实测 + spike 探索(API 抓 1000 篇 arxiv work、Shor 1995 引用子图、RustFS mirror 通路验证、跨洋吞吐测速等)记录在 issue IAI-USTC-Quantum/QuantumAtlas#16(OpenAlex 引用语料本地化尝试)。