技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
semantic-scholar-database【数据与研究】Access the Semantic Scholar Graph API to search papers and retrieve paper/author/citation data when you need literature discovery or citation graph exploration.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
citations)references)>=3.9requests >=2.25.0import os
from scripts.client import (
search_papers,
get_paper_details,
get_author_details,
get_citations,
)
# Optional: set for higher rate limits
# os.environ["S2_API_KEY"] = "YOUR_API_KEY"
def main():
# 1) Search papers
results = search_papers(query="Attention Is All You Need", limit=5)
print("Search results (top 5):")
for i, p in enumerate(results, 1):
# The exact keys depend on the fields requested by the client implementation.
print(f"{i}. {p.get('title')} ({p.get('year')}) - paperId={p.get('paperId')}")
# 2) Get paper details
paper_id = "649def34f8be52c8b66281af98ae884c09aef38b"
paper = get_paper_details(paper_id=paper_id)
print("\nPaper details:")
print("Title:", paper.get("title"))
print("Venue:", paper.get("venue"))
print("Year:", paper.get("year"))
print("Abstract:", (paper.get("abstract") or "")[:300], "...")
# 3) Get author details
author_id = "1741101"
author = get_author_details(author_id=author_id)
print("\nAuthor details:")
print("Name:", author.get("name"))
print("AuthorId:", author.get("authorId"))
# 4) Traverse citations / references
citing = get_citations(paper_id=paper_id, method="citations")
refs = get_citations(paper_id=paper_id, method="references")
print("\nCitation traversal:")
print("Citations count:", len(citing) if isinstance(citing, list) else "N/A")
print("References count:", len(refs) if isinstance(refs, list) else "N/A")
if __name__ == "__main__":
main()
https://api.semanticscholar.org/graph/v1/requests to perform REST calls.S2_API_KEY is set in the environment, requests should include it (typically via an x-api-key header) to obtain higher rate limits.scripts/client.py):
search_papers(query, limit=...): queries the search endpoint and returns a list of matching papers.get_paper_details(paper_id): fetches metadata for a specific paper ID.get_author_details(author_id): fetches metadata for a specific author ID.get_citations(paper_id, method="citations"|"references"): traverses the citation graph by selecting either inbound citations or outbound references.limit: controls the maximum number of results returned by search.method: must be either "citations" or "references" to select traversal direction.