用途:通过 OpenAlex 遍历一篇研究论文的引文图谱,提供两个方向——references(该论文引用的文献,即其思想来源)和 citations(引用该论文的文献,即其后续发展)。一次调用返回含标题、摘要、引用计数和外部 ID 的结构化论文列表。
主要能力:支持 references、citations、both 三个子命令,可同时取双向数据。支持多种 ID 格式:OpenAlex W-id、DOI、arxiv id、pmid:、OpenAlex/DOI 链接,脚本自动归一化。支持 --limit N 限制每方向结果数(默认 100)、--min-year YYYY 过滤较早条目、--min-citations N 过滤低影响力条目。
使用方式(命令保持原样): python3 scripts/scholar_citations.py references 2501.11120 --limit 100 python3 scripts/scholar_citations.py citations 2501.11120 --limit 100 python3 scripts/scholar_citations.py both 2501.11120 --limit 50 python3 scripts/scholar_citations.py citations 1706.03762 --min-year 2024 --min-citations 10 --limit 100
适用场景:追溯一个想法背后的关键工作(references 配合 --min-citations 50)、查找后续跟进研究(citations 配合 --min-year)、通过多篇锚点论文的引用与被引交集做空白分析、评审前了解引文邻域。
限制:OpenAlex 对索引良好的论文(期刊、会议、较早的 arxiv)参考文献列表较完整,但对很新的预印本常较稀疏;若 references 返回为空通常是数据覆盖问题而非脚本缺陷,此时可用 arxiv-analyze 并配合 --tier tex 解析论文自带参考文献。速率限制方面,匿名 10 req/sec,设置 OPENALEX_EMAIL 可进入 polite pool,脚本自身限速 5 req/sec。注意不要无节制展开图谱(100×100 即上万篇),需分阶段并确认;数据稀疏时如实报告为空,不要编造。token 上约 100 条 references/citations 消耗 15K-30K,可先用 jq 'del(.*.abstract)' 精简。依赖 Python 3.11+(仅标准库)及对 api.openalex.org 的网络访问。