scholar-citations について
scholar-citationsは、OpenAlexで論文の引用関係を調べる研究者向けのコマンドラインスキルです。参考文献、被引用論文、または両方を取得し、年や被引用数で絞り込めます。
主な機能
- 01論文の参考文献と被引用論文を検索
- 02OpenAlex、DOI、arXiv、PMIDの識別子に対応
- 03年と被引用数で結果を絞り込み
- 04論文情報と要旨を構造化して返す
活用シーン
- 01論文の基盤となった先行研究を追跡
- 02ある研究を引用する最近の論文を検索
- 03レビュー用に引用関係の背景を整理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ dsebastien/ ai-skill-scholar --skill scholar-citationsインストール後、Claude Code で/scholar-citationsを入力して読み込まれたか確認します。
同梱ファイルscripts/scholar_citations.py
詳細
Scholar Citations
OpenAlex を介して、研究論文の引用グラフをたどります。方向は 2 つあります。
- 参考文献 — この論文が引用しているもの(知的系譜)
- 被引用文献 — この論文を引用しているもの(知的な後続研究)
1 回のサブプロセス呼び出しで、タイトル、要約、引用数、外部 ID を含む論文の構造化リストが返されます。
使用方法
# References — what this paper cites
python3 scripts/scholar_citations.py references 2501.11120 --limit 100
# Citations — what cites this paper
python3 scripts/scholar_citations.py citations 2501.11120 --limit 100
# Both at once
python3 scripts/scholar_citations.py both 2501.11120 --limit 50
# Filter to recent, high-impact descendants
python3 scripts/scholar_citations.py citations 1706.03762 \
--min-year 2024 --min-citations 10 --limit 100
# Accepts many ID formats
python3 scripts/scholar_citations.py citations W4395065622
python3 scripts/scholar_citations.py citations "10.48550/arxiv.2404.14082"
python3 scripts/scholar_citations.py citations "doi:10.48550/arxiv.2404.14082"
python3 scripts/scholar_citations.py citations "https://openalex.org/W4395065622"
サブコマンド:
references <id>— 対象の論文が引用している論文citations <id>— 対象の論文を引用している論文both <id>— 両方向を 1 つのペイロードで取得
フラグ:
--limit N— 方向ごとの最大結果数(デフォルトは 100)--min-year YYYY— 指定年より古いエントリを除外--min-citations N— 引用数の少ないエントリを除外(影響の大きい後続研究の抽出に便利です)
使用する場面
- アイデアをさかのぼる — 論文を指定して、その基盤となった重要な研究を見つけます(
references+--min-citations 50) - 後続研究を見つける — 重要な論文を基盤とする研究を確認します(
citations+--min-year 2024) - ギャップ分析 — 複数の基準論文の参考文献と被引用文献を照合し、未開拓の領域を見つけます
- 査読時の背景把握 — 論文を査読する前に、引用関係の周辺を確認します
データの網羅性に関する注意事項
OpenAlex の参考文献リストは、十分にインデックス化されている論文(学術誌論文、会議録、古い arxiv 投稿)では網羅的ですが、ごく最近のプレプリントでは不完全なことがよくあります。references が空を返す場合、通常はスクリプトの不具合ではなく、OpenAlex のデータ網羅性が原因です。arxiv のみの系譜を調べる場合は、arxiv-analyze で --tier tex を指定して論文自体の参考文献リストを解析してください。
ワークフロー
1. 基準となる論文を特定する
OpenAlex W-id、DOI、arxiv id(arxiv の DOI に自動変換)、PMID(pmid:<n> の形式)、または OpenAlex/DOI の URL を指定できます。スクリプトが自動的に正規化します。
2. 方向を選ぶ
- 論文がどのように生まれたかを理解するには? →
references - 影響を追跡したり、新しい研究を見つけたりするには? →
citations - 周辺全体を把握するには? →
both
3. 積極的に絞り込む
参考文献リストや被引用文献リストには、100~1000 件のエントリが含まれることがあります。--min-citations と --min-year を積極的に使ってください。シグナルの弱い 1000 件より、シグナルの強い 20 件のほうが有益です。
4. 分析に活用する
興味深い論文ごとに、arxiv_id を arxiv-analyze に渡すか、open_access_pdf URL を直接使用します。
レート制限
OpenAlex は寛容です。匿名の場合は毎秒 10 リクエスト、ポライトプールではさらに多くのリクエストが可能です(OPENALEX_EMAIL を設定してください)。スクリプトは毎秒 5 リクエストに自動でスロットリングします。
--limit 100 を指定した references または citations の呼び出し 1 回につき、通常は API リクエストが 2~3 回発生します(ルートの論文に 1 回、関連論文の一括解決に 1~2 回)。
トークン効率
- 参考文献/被引用文献 100 件で約 15K~30K トークン(大半を要約が占めます)
- 幅を深さより重視してグラフを探索する場合は、コンテキストに渡す前に
jq 'del(.*.abstract)'を通してください
厳守事項
- グラフを爆発的に拡張しないでください。 参考文献を 100 件ずつ 100 回たどると、論文が 1 万件になります。n ホップの探索が必要な場合は、ユーザーの確認を得ながら、明示的に段階を分けて実行してください。
- レート制限を守ってください。 スクリプトの自動スロットリングは不可欠です。
- 疎なデータもデータです。
referencesまたはcitationsが空の場合は、空として報告してください。捏造してはいけません。
要件
- Python 3.11 以降(標準ライブラリのみ)
api.openalex.orgへのインターネット接続- 任意:ポライトプールへのアクセスには
OPENALEX_EMAIL