← 返回栏目

Europe PMC 字段检索和 API 用法

位于英国剑桥郡欣克斯顿的欧洲生物信息研究所(EMBL-EBI)建筑外景,Europe PMC 由该机构维护

位于英国欣克斯顿的欧洲生物信息研究所(EMBL-EBI),Europe PMC 由该机构维护。摄影:Magnus Manske,来源:Wikimedia Commons,许可:CC BY-SA 3.0。

Europe PMC(europepmc.org)是由 EMBL-EBI 维护的免费生物医学文献库:收录全部 PubMed 摘要,与美国 PMC 共享全文,另外整合了预印本、专利、临床指南和资助信息。本文依据官方手册和 API 文档,讲清它与 PubMed 的关系、字段检索语法、章节级全文检索与文本挖掘注释,给出 4 个经实际调用的检索式和 API 请求,并说明结果判读要点与局限。

与 PubMed 的关系和收录范围

Europe PMC 与 PubMed 是互补关系,而不是两套互不相干的数据。按 Europe PMC 团队在《Nucleic Acids Research》发表的年度报告,它是 PMC International 的成员,与美国 PMC、PMC Canada 共享全文,并提供全部 PubMed 摘要;2020 年的报告进一步说明,两站新收到的全文每日交换,网站把 PubMed 摘要和对应的 PMC 全文合并在同一个文章页。所以在 PubMed 能查到的记录,在 Europe PMC 里一般以 MED 来源出现。

熟悉本站介绍过的 PubMed MeSH 检索的读者,要注意两点差异。第一,官方字段列表里没有与 PubMed [mh] 对应的独立 MeSH 字段:KW: 同时检索 MeSH 和出版商提供的关键词,CHEM: 检索 MeSH 物质词,结果会比纯主题词检索更宽。第二,API 的 synonym 参数默认关闭,设为 true 时才用 MeSH 术语和 UniProt 同义词扩展检索词,例如把 aspirin 扩展到 acetylsalicylic acid。手册没有说它等同于 PubMed 的自动词语匹配或下位词扩展,做系统检索时不要拿它替代 MeSH 检索式。

官方 Web Service 参考手册(6.9.0 版,2023 年 8 月 31 日)用 SRC: 来源代码区分各类记录,常用的有:

  • MED:PubMed/MEDLINE 记录。
  • PMC:PubMed Central 全文中没有 PubMed 记录的部分(据 Annotations API 文档的来源说明)。
  • PPR:预印本。2020 年报告称 Europe PMC 自 2018 年起收录预印本摘要,当时来自 15 个生命科学预印本服务器,包括 bioRxiv、medRxiv、Research Square 和 F1000Research 等,同年开始收录 COVID-19 相关预印本的全文。
  • PAT:生物学相关专利,来自欧洲专利局(EPO)。
  • HIR:NHS Evidence 提供的英国临床指南。
  • AGR、CBA、ETH、NBK:分别是 Agricola 农业文献、中国生物学文摘、英国国家图书馆 EThOS 博士论文和 Europe PMC 书架图书。

资助信息不是一个来源代码,而是附在文献记录上的字段。2020 年报告介绍了 Grant Finder 资助数据库(当时覆盖 31 个欧洲资助方),资助与论文的对应关系由资助方、Researchfish 或作者投稿时提供,Europe PMC 还会从文章的致谢与资助部分文本挖掘资助号。检索时用 GRANT_AGENCY:(资助机构)和 GRANT_ID:(资助编号)字段。需要提醒的是,手册的来源表成文于 2023 年,个别来源是否仍在持续更新,使用前可先用 SRC: 单独检索,看最新记录的收录日期。

Europe PMC 的 SciLite 平台界面截图,展示一篇生物医学文章正文中经文本挖掘标注出的术语

SciLite 在 Europe PMC 文章中显示文本挖掘注释的界面,对应下文“REST API 与文本挖掘注释”一节。图出自 SciLite 论文(Wellcome Open Research 1:25),作者:Aravind Venkatesan 等,来源:Wikimedia Commons,许可:CC BY 4.0。

字段检索语法和检索式

Europe PMC 的检索式写法是“字段名:检索词”,短语加英文双引号,用 AND、OR、NOT 和括号组合,范围用方括号,如 PUB_YEAR:[2020 TO 2024]。下表字段的定义出自官方参考手册附录;完整的可检索字段可以直接请求 API 的 fields 模块获得,它反映的是当前索引,比手册更新。

字段 用途 手册示例
AUTH: 作者姓,可加首字母 AUTH:"einstein G"
TITLE: / ABSTRACT: / TITLE_ABS: 标题、摘要、标题加摘要 TITLE_ABS:"african swine fever"
AFF: 作者机构 AFF:"university of cambridge"
PUB_YEAR: / FIRST_PDATE: 出版年、首次出版日期 PUB_YEAR:[2000 TO 2001]
SRC: 来源代码 SRC:PPR
OPEN_ACCESS: 限定开放获取 OPEN_ACCESS:y
IN_EPMC: Europe PMC 是否持有全文 IN_EPMC:y
PUB_TYPE: 文献类型 PUB_TYPE:review
LICENSE: 知识共享许可 LICENSE:"cc by"
GRANT_AGENCY: / GRANT_ID: 资助机构、资助编号 GRANT_ID:100229
METHODS: / ACK_FUND: / BODY: 全文的方法部分、致谢与资助部分、正文 METHODS:"yeast two-hybrid"
DISEASE: / GENE_PROTEIN: / ORGANISM: 文本挖掘出的疾病、基因/蛋白、生物体 GENE_PROTEIN:gng11

可检索字段的完整列表:fields 模块

以下检索式都在 2026 年 10 月 22 日通过 REST API 实际调用,命中数只代表当天结果;网页检索框里可直接粘贴同样的检索式。

示例 1:找某个主题的预印本

SRC:PPR AND TITLE:"long covid"

返回 973 条。前两条分别来自 Research Square 和 Qeios,pubType 为 preprint,isOpenAccess 和 inEPMC 均为 N,意思是 Europe PMC 只有这两条的元数据,没有全文。

示例 2:只在方法部分检索

METHODS:"propensity score" AND OPEN_ACCESS:y AND PUB_YEAR:[2024 TO 2025]

返回 14,637 条。METHODS: 只检索全文中的“材料与方法”部分,找的是“实际用了倾向评分”的文章,而不是“标题里提到倾向评分”的文章。

示例 3:按资助机构筛选

GRANT_AGENCY:"Wellcome Trust" AND TITLE_ABS:malaria AND OPEN_ACCESS:y

返回 4,467 条。注意:手册示例写法 GRANT_AGENCY:wellcome 当天实测返回 0 条(加不加引号都一样),而 GRANT_AGENCY:"Wellcome Trust" 单独检索返回 219,262 条。稳妥的做法是先用 resultType=core 取一条记录,看 grantsList 里 agency 的实际写法,再照抄进检索式。

REST API 与文本挖掘注释

REST 检索接口是 https://www.ebi.ac.uk/europepmc/webservices/rest/search,用浏览器或任何 HTTP 工具发 GET 请求即可,本文的所有请求都没有注册或使用 API key。参数含义与官方手册一致,REST 返回的 request 字段也会回显这些参数:query 放检索式;format 选 json 或 xml;resultType 可选 idlist(只返回 ID)、lite(基本元数据,默认值)或 core(全部元数据,含摘要、资助和全文链接);pageSize 默认 25,最大 1000;翻页用 cursorMark,第一页传 *,之后传上一页返回的 nextCursorMark;synonym 默认 false。

示例 4:用 API 批量取回结果

curl "https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=SRC:PPR%20AND%20TITLE:%22long%20covid%22&format=json&resultType=lite&pageSize=100&cursorMark=*"

需要取回全部结果时,按 nextCursorMark 循环翻页。下面是按手册翻页规则写的示意代码,本文没有用它跑完整结果集:

import requests

BASE = "https://www.ebi.ac.uk/europepmc/webservices/rest/search"

def fetch_all(query, page_size=1000, result_type="lite"):
    cursor = "*"
    while True:
        params = {"query": query, "format": "json", "resultType": result_type,
                  "pageSize": page_size, "cursorMark": cursor}
        data = requests.get(BASE, params=params, timeout=60).json()
        results = data["resultList"]["result"]
        yield from results
        next_cursor = data.get("nextCursorMark")
        if not results or not next_cursor or next_cursor == cursor:
            break
        cursor = next_cursor

全文检索有明确边界。手册说明,Europe PMC 的全部内容都能被检索,但大部分全文受版权和许可限制,API 对这类文章只返回元数据和摘要;只有开放获取子集可以取回全文 XML 以及图表、补充材料。METHODS:、ACK_FUND:、BODY: 这类章节字段也只对 Europe PMC 持有全文的文章起作用,只有摘要的记录不会被命中。

文本挖掘注释是 Europe PMC 相对 PubMed 的特色。2020 年报告称注释平台约有 13 亿条注释,来自 10 个提供方,类型包括基因/蛋白、疾病、生物体、GO 术语、化学物质和数据库登录号等,网页端由 SciLite 在文章里高亮这些词。检索时有两种用法:在检索式里加 HAS_TM:y,限定为有文本挖掘结果的全文文章;或用 DISEASE:、GENE_PROTEIN:、ORGANISM:、GOTERM: 直接检索被挖掘出的术语。需要逐条取回注释时,用 Annotations API。

Annotations API 的 annotationsByArticleIds 一次接受 1–8 个文章 ID,格式为“来源:编号”,如 MED:14670548 或 PMC:4771370,可用 type(注释类型)、section(文章章节)、provider(提供方)过滤;annotationsByEntity 按实体名找文章,每页 1–8 篇,filter=1 时只返回命中该实体的注释。

https://www.ebi.ac.uk/europepmc/annotations_api/annotationsByArticleIds?articleIds=PMC:4771370&type=Diseases&format=JSON

2026 年 10 月 22 日调用时,接口返回了这篇文章(PMID 26864432)的记录,但 annotations 是空数组。这只说明注释库里没有它的疾病类注释,不能推出文章没有讨论疾病;去掉 type 参数可以查看它有哪些类型的注释。

结果判读与局限

  • 命中数是当天的实时数字。 Europe PMC 每日更新,报告检索结果时要写明检索日期和完整检索式。本文的数字都是 2026 年 10 月 22 日的结果。
  • 同一项研究可能有多条记录。 预印本(PPR)和期刊版(MED)各成一条,2020 年报告称两者会互相链接。合并结果时按 DOI、PMID 去重,并事先决定是否保留预印本。
  • 日期字段含义不同。 firstIndexDate 是收录进 Europe PMC 的日期,不是发表日期。示例 3 中单独检索 GRANT_AGENCY:"Wellcome Trust" 返回的首条记录,firstIndexDate 为 2026-09-03,pubYear 却是 2027(印刷期号日期在后)。按时间筛选时,要想清楚用 PUB_YEAR:、FIRST_PDATE: 还是 FIRST_IDATE:。
  • 许可标记不等于能读全文。 上面那条记录的 license 显示 cc by,但 isOpenAccess 和 inEPMC 都是 N,全文链接标注 Subscription required。判断能否阅读,优先看 fullTextUrlList 里各链接的可获取性说明,再用 Unpaywall 等工具核查。
  • 章节检索会漏掉只有摘要的文章。 统计“某方法的使用比例”时,分子分母要用同样的全文范围(例如都加 IN_EPMC:y),否则比例会被低估。
  • 字段取值依赖数据录入。 资助机构名、许可写法各不相同,手册示例也可能与现行索引不符(如上文的 GRANT_AGENCY:wellcome)。正式检索前,先取几条记录核对实际取值。
  • 文本挖掘是自动标注。 可能漏标或错标,适合发现线索,不宜直接作为文献纳入或排除的依据。
  • 主题词检索仍以 PubMed 为主。 Europe PMC 没有独立的 MeSH 字段,做系统检索时可以用 PubMed 的 MeSH 检索式打底,再用 Europe PMC 补充预印本、全文章节和资助维度。

参考文献

  1. Europe PMC in 2020. Nucleic Acids Research, 49(D1): D1507, 2021 年 1 月 8 日出版(PMID 33180112). https://academic.oup.com/nar/article/49/D1/D1507/5976840

  2. Europe PMC in 2017. Nucleic Acids Research(PMCID PMC5753258). https://pmc.ncbi.nlm.nih.gov/articles/PMC5753258/

  3. EMBL-EBI. EBI Europe PMC SOAP Web Service 6.9.0 Reference Guide, Document Version 1.51, 2023-08-31. https://europepmc.org/docs/EBI_Europe_PMC_Web_Service_Reference.pdf

  4. Europe PMC. Annotations API 文档(2026-10-22 访问). https://europepmc.org/AnnotationsApi

  5. Europe PMC. REST API fields 模块(2026-10-22 访问). https://www.ebi.ac.uk/europepmc/webservices/rest/fields?format=json

  6. Europe PMC. REST API search 模块(本文示例于 2026-10-22 调用). https://www.ebi.ac.uk/europepmc/webservices/rest/search

  7. 学术之门 · 学者的智能时代生活指南

  8. 信息由 Scholay 学术一站式平台 整理并发表,如有侵权请反馈下架。

  9. 信息同步发表于恩特学术,智能时代的学者社区