mcpField
A
alterlab-dergipark

alterlab-dergipark

github.com/alterlab-ieu生産性7858 回インストール5 週間前に更新
リポジトリ

alterlab-dergipark について

alterlab-dergiparkは、TÜBİTAK ULAKBİMのジャーナルプラットフォームDergiParkから、メタデータや論文ファイルを再現可能な方法で取得するスキルです。ジャーナル記録、引用情報、PDF、対象範囲を必要とする研究者向けに、認証チャレンジのある検索ページではなくOAI-PMHと論文ページを利用します。

主な機能

  1. 01OAI-PMHによるジャーナル記録の収集
  2. 02論文メタデータをBibTeXまたはRISに変換
  3. 03論文PDFリンクの取得
  4. 04ジャーナルの目的と対象範囲の確認
  5. 05自己申告の収載リストの参照

活用シーン

  1. 01ジャーナルの論文アーカイブを収集
  2. 02論文の引用情報をBibTeXまたはRISで出力
  3. 03DergiParkの論文PDFを取得
  4. 04ジャーナルの対象範囲と申告済み収載情報を確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/alterlab-ieu/alterlab-academic-skills --skill alterlab-dergipark

インストール後、Claude Code で/alterlab-dergiparkを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

evals/
evals.json
references/
endpoints.md
indexing.md
oai-cookbook.md
scripts/
article_meta.py
dergipark_oai.py
journal_info.py

詳細

DergiPark — 全国学術誌ハーベスター(TÜBİTAK ULAKBİM)

DergiPark(https://dergipark.org.tr)は、**TÜBİTAK ULAKBİMの全国学術誌ホスティングプラットフォームです。OJSベースのインフラ上で、3,000誌以上のトルコの学術誌を提供しています(ホームページによると、2026-09時点)。このスキルは、プラットフォーム全体で利用できる唯一の安定した機械向けインターフェースであるOAI-PMH**(Open Archives Initiative Protocol for Metadata Harvesting)エンドポイントと、公開されている論文ページを経由して、メタデータ、要旨、全文PDFを再現可能な方法で収集します。書誌データを推測することはありません。すべてのフィールドは稼働中のエンドポイントから取得し、解析したメタタグからローカルでBibTeX/RISを生成します。

対話型検索ページは人間による認証チャレンジで保護されているため、このスキルは通常のHTTPで検索ページをスクレイピングしません。OAIセットのハーベストと論文ページへの直接アクセスが堅牢な方法です(references/oai-cookbook.mdを参照)。

このスキルを使う場面

リクエストがDergiParkからのデータ取得に関する場合に使用します。

  • トルコの(DergiPark上の)学術誌に掲載された全論文を収集/取得する
  • 学術誌のアーカイブ一覧を表示する、またはそのスラッグを調べる
  • DergiParkの論文のBibTeXまたはRIS(エクスポート形式)を取得する
  • DergiParkの論文全文PDFをダウンロードする
  • 学術誌の目的と対象範囲(öz/kapsam — 要旨/対象範囲)または自己申告の収録インデックス一覧を読む

目にする可能性のある標準的なトルコ語用語:öz(要旨)、kapsam(対象範囲)、dergi(学術誌)、künye(引用情報/誌面の書誌情報)。ユーザー向けの文字列では、トルコ語の綴りとダイアクリティカルマークを保持してください(例:Mülkiye Dergisi)。

該当しない場合 — 関連するリクエストは適切な姉妹スキルに振り分けてください
実際のリクエスト内容…振り分け先
学術誌がTR Dizin(国内引用索引)に収録されているかどうか/そのTR Dizinのステータスalterlab-trdizin
大学院論文(YÖK Ulusal Tez Merkezi)を見つける/検索するalterlab-yok-tez
研究者のプロフィール/所属(YÖK Akademik)alterlab-yok-akademik
大学のプログラム入学統計(YÖK Atlas)alterlab-yokatlas
doçentlik(准教授資格)の適格性ポイントを計算するalterlab-docentlik-eligibility
akademik teşvik(学術奨励)スコアを計算するalterlab-akademik-tesvik
原稿/データをAperta(TÜBİTAKオープンアーカイブ)に登録するalterlab-aperta
引用文献が実在することの検証/ハルシネーション監査alterlab-citation-verifier
トルコ語APA/TR Dizinの文体規則alterlab-tr-academic-style

仕組み — 3つのスクリプト

すべてスキルディレクトリからuv run pythonで実行します。APIキーは不要です。requestsがインストールされていればそれを優先して使用し、なければ標準ライブラリのurllibにフォールバックします。詳しい手順と注意点はreferences/oai-cookbook.md、検証済みのエンドポイント一覧はreferences/endpoints.mdにあります。

1. scripts/dergipark_oai.py — OAIハーベスト(主要な方法)
# The slug (== OAI setSpec) is in the journal URL: dergipark.org.tr/en/pub/{slug}
# list-journals only sees the first 100 sets — ListSets stopped paging (2026-09-23)
uv run python scripts/dergipark_oai.py list-journals --tsv | rg -i "mülkiye"

# Harvest a whole journal (follows resumptionToken paging automatically)
uv run python scripts/dergipark_oai.py harvest mulkiye --prefix oai_dc --out mulkiye.json

# One article's structured oai_dc record
uv run python scripts/dergipark_oai.py get 10 --prefix oai_dc

動詞:Identify / ListSets / ListRecords / GetRecord。プレフィックス: oai_dc(クリーンなフィールドに解析)およびoai_mods / oai_marc / oai_etdms (より豊富なスキーマを必要とする呼び出し元向けに、生のレコードXMLを返します)。

2. scripts/article_meta.py — 論文1件 → BibTeX/RIS
uv run python scripts/article_meta.py /en/pub/mulkiye/article/10 --format bibtex
uv run python scripts/article_meta.py /en/pub/mulkiye/article/10 --format ris
uv run python scripts/article_meta.py /en/pub/mulkiye/article/10 --format json

ページのcitation_*とDC.*メタタグを解析し、ローカルでBibTeX/RISを整形します。サイト上のエクスポート用バックエンドは呼び出しません(その経路は未検証です)。JSON出力には解決済みのpdf_urlが含まれます。

3. scripts/journal_info.py — 目的と対象範囲 + 自己申告インデックス
uv run python scripts/journal_info.py mulkiye --lang en

目的と対象範囲のテキストと/indexesページを返します。後者にはDISCLAIMERと、TR DizinおよびDOAJとの照合先が付記されています。

誤回答を防ぐ3つのルール

  1. 出版日 ≠ OAI datestamp。 OAI の <datestamp> はプラットフォームでの 再インデックス 時刻であり、出版日ではありません。出版年で絞り込むには、 ハーベストしてからローカルで dc:date を使ってフィルタリングしてください。 from/until に頼らないでください。
  2. PDF の ID ≠ 論文の ID。 ページの citation_pdf_url メタタグから PDF のリンクを取得してください(例:論文 /10 に対して /en/download/article-file/9)。論文の ID から PDF のリンクを組み立てないでください。
  3. ホスティング ≠ インデックス登録。 DergiPark に掲載されていても、品質や TR Dizin への登録状況は分かりません。/indexes ページの内容は 自己申告であり、DergiPark による検証は行われていません。信頼できる TR Dizin の 登録状況の判定には、alterlab-trdizin を利用してください。 references/indexing.md を参照してください。

エラー時の縮退動作

ネットワークエラーは、stderr に network_unavailable/oai_error JSON オブジェクトを 出力して通知されます(終了コード 1)。スクリプトがレコードや判定を捏造することはありません。 エンドポイントに接続できない場合は、その旨を伝えて処理を中止してください。記憶を頼りにメタデータを 作り出さないでください。

参考資料

  • references/endpoints.md — 検証済みの各エンドポイント、プレフィックス、識別子の方式 (明確に未検証の項目も含む)。2026-06-06 に実際に確認したものです。
  • references/oai-cookbook.md — スラッグ検索、全件ハーベスト、 年によるフィルタリング、PDF のダウンロード、Playwright を使った検索制限の回避策など、 コピーして使える手順。
  • references/indexing.md — DergiPark と TR Dizin の違い、および TR Dizin と DOAJ を使って 実際のインデックス登録状況を照合する方法。

AlterLab Academic Skills スイートの一部です。

コメント