SuperAPI AI 工具集

openaire-api

写作与研究

查看项目

更新于 10-16 08:18

技能介绍

用途

OpenAIRE Graph API 是欧洲开放科学基础设施 OpenAIRE 提供的程序化接口,用于检索和发现欧盟资助的研究成果。它覆盖出版物、数据集、软件及其他研究产品,并将这些成果与欧盟资助项目、组织和研究人员关联起来。该 API 免费、无需认证,返回 JSON 或 XML 格式,特别适合发现欧盟/Horizon 资助的研究,以及追踪研究成果、项目与机构之间的关联。

主要能力

  • 检索出版物:支持按关键词、DOI、开放获取状态、接收日期范围、欧盟项目 ID 等条件查询。
  • 检索数据集:支持按关键词、开放获取状态等条件查询研究数据集。
  • 检索项目:支持按关键词、资助机构(如 EC)、资助计划(如 H2020、HE)查询欧盟资助项目。
  • 项目—成果关联:可追踪哪些出版物来自哪个欧盟资助项目。
  • 跨实体关系:支持出版物 ↔ 数据集 ↔ 软件 ↔ 项目 ↔ 组织之间的关联查询。
  • 去重:OpenAIRE 对来自多个来源(Crossref、PubMed、arXiv、机构仓库等)的记录进行去重。
  • 开放获取监测:可追踪受资助研究的开放获取合规情况。
  • 数据规模:来自 120,000+ 数据源的 1.75 亿+ 研究产品。

使用方式

基础 URL 为 https://api.openaire.eu。

检索出版物示例:

# 按关键词检索
curl "https://api.openaire.eu/search/publications?keywords=climate+change+adaptation&format=json&size=10"

# 仅开放获取
curl "https://api.openaire.eu/search/publications?keywords=machine+learning&openaccessonly=true&format=json"

# 按日期过滤
curl "https://api.openaire.eu/search/publications?keywords=CRISPR&fromDateAccepted=2023-01-01&toDateAccepted=2026-12-31&format=json"

# 按欧盟项目过滤
curl "https://api.openaire.eu/search/publications?projectID=corda__h2020::123456&format=json"

# 按 DOI 检索
curl "https://api.openaire.eu/search/publications?doi=10.1038/s41586-023-05881-4&format=json"

检索数据集示例:

# 查找研究数据集
curl "https://api.openaire.eu/search/datasets?keywords=genomics+sequencing&format=json&size=20"

# 仅开放获取数据集
curl "https://api.openaire.eu/search/datasets?keywords=ocean+temperature&openaccessonly=true&format=json"

检索项目示例:

# 检索欧盟资助项目
curl "https://api.openaire.eu/search/projects?keywords=artificial+intelligence&funder=EC&format=json"

# Horizon 2020 项目
curl "https://api.openaire.eu/search/projects?keywords=renewable+energy&fundingStream=H2020&format=json"

# Horizon Europe 项目
curl "https://api.openaire.eu/search/projects?keywords=quantum+computing&fundingStream=HE&format=json"

查询参数:

参数 说明 示例
keywords 自由文本检索 keywords=deep+learning
doi 按 DOI 检索 doi=10.1234/example
openaccessonly 开放获取过滤 openaccessonly=true
fromDateAccepted 开始日期 fromDateAccepted=2023-01-01
toDateAccepted 结束日期 toDateAccepted=2026-12-31
funder 资助机构 funder=EC(欧盟委员会)
fundingStream 资助计划 fundingStream=H2020
format 响应格式 format=json 或 format=xml
size 每页结果数 size=50(最大 100)
page 页码 page=2
sortBy 排序方式 sortBy=resultdateofacceptance,descending

Python 使用示例:

import requests

BASE_URL = "https://api.openaire.eu"

def search_publications(keywords: str, open_access: bool = False,
                         from_date: str = None, size: int = 20) -> list:
    """Search OpenAIRE publications."""
    params = {
        "keywords": keywords,
        "format": "json",
        "size": size
    }
    if open_access:
        params["openaccessonly"] = "true"
    if from_date:
        params["fromDateAccepted"] = from_date

    resp = requests.get(f"{BASE_URL}/search/publications", params=params)
    resp.raise_for_status()
    data = resp.json()

    results = []
    for item in data.get("response", {}).get("results", {}).get("result", []):
        metadata = item.get("metadata", {}).get("oaf:entity", {}).get("oaf:result", {})
        title = metadata.get("title", {})
        if isinstance(title, dict):
            title = title.get("$", "")
        results.append({
            "title": title,
            "doi": metadata.get("pid", [{}])[0].get("$", "") if metadata.get("pid") else None,
            "date": metadata.get("dateofacceptance", {}).get("$", ""),
            "description": metadata.get("description", {}).get("$", "")[:300] if metadata.get("description") else None
        })
    return results

# Example: find recent open access papers on climate
pubs = search_publications("climate resilience urban", open_access=True, from_date="2024-01-01")
for p in pubs:
    print(f"[{p['date']}] {p['title']}")

适用场景

  • 发现欧盟/Horizon 资助的研究成果。
  • 追踪某欧盟资助项目产出的出版物、数据集或软件。
  • 监测受资助研究的开放获取合规情况。
  • 跨来源检索并利用去重后的研究记录。
  • 构建研究实体之间的关联图谱(成果、项目、机构、研究人员)。

限制

  • 单页最多返回 100 条结果(size 最大 100)。
  • 资料未提供速率限制、配额或商业使用条款等具体信息。
  • 资料未提供除 JSON/XML 之外的其他格式说明。
  • 资料未提供 API 版本、稳定性承诺或 SLA 信息。

参考

  • OpenAIRE API Documentation
  • OpenAIRE Graph
  • OpenAIRE EXPLORE Portal