国立国会図書館サーチが提供するOAI-PMH
1. OAI-PMHについて
国立国会図書館サーチ(NDLサーチ)では、Webサービスや研究開発等にご活用いただくため、NDLサーチの書誌メタデータをOAI-PMHで提供しています。
OAI-PMHとは、データの自動収集によってメタデータを交換するためのプロトコルです。OAI-PMHの基本仕様は以下のページに記述されています(国立情報学研究所による日本語訳)。
また、国立国会図書館では、これまでのNDLサーチの経験や反省をふまえ、OAI-PMHの概要と実装時の注意点などをまとめた「OAI-PMHの要点」(ZIPファイル)を公開しています。
OAI-PMHの入力形式はURL、出力形式はXMLです。リクエスト種別や取得したいメタデータの条件、フォーマット等を指定したOAI-PMHリクエスト(URL)を送信すると、NDLサーチがそのリクエストを受け取り、リクエストされた条件やフォーマット等に合致するメタデータをXML形式で返戻します。
以下で、NDLサーチのOAI-PMHの使い方をご紹介します。
2. OAI-PMHリクエストURLの作成方法
OAI-PMHのリクエストURLの構成は以下のとおりです。
NDLサーチへのリクエストURLはすべてこの「基本URL」から始まります。基本URLの後ろには、①リクエスト種別と②メタデータの指定条件を記述します。
①リクエスト種別は、次の6種類です。基本URLの後ろに、「verb=リクエスト種別
」と記述します。1つのリクエストURLで設定できるリクエスト種別は1つだけです。
リクエスト種別 | 内容 |
---|---|
GetRecord | NDLサーチの特定の書誌1件のメタデータを取得する |
Identify | NDLサーチがサポートするOAI-PMHについての情報を取得する |
ListIdentifiers | NDLサーチの全書誌のメタデータID を取得する |
ListMetadataFormats | NDLサーチのサポートするメタデータの形式を取得する |
ListRecords | NDLサーチのメタデータを取得する |
ListSets | NDLサーチのサポートしているset(絞込み条件)を取得する |
②メタデータの指定条件は、次の6つです。リクエスト種別の後ろに、「&指定条件=[値]&指定条件=[値]…
」 と記述します。なお、リクエストの種類ごとに必須な指定条件や使用可能な指定条件が異なります。
指定条件 | 内容 |
---|---|
identifier | NDLサーチの書誌メタデータID を指定する |
metadataPrefix | リクエストに対して返戻されるメタデータのフォーマットを指定する。oai_dc 、dcndl (DC-NDL(RDF)) のいずれかを選択可能。DC-NDL(RDF)の内容は、「DC-NDL(RDF)フォーマット仕様」のページを参照。 |
from | 日付(datestamp )の下限をYYYY-MM-DD またはYYYY-MM-DDThh:mm:ssZ 形式で指定する |
until | 日付(datestamp )の上限をYYYY-MM-DD またはYYYY-MM-DDThh:mm:ssZ 形式で指定する |
set | 収集対象とするset パラメータを指定する。詳しくは後述 |
resumptionToken | 一度では取得できないメタデータの続きを取得する場合に指定する。1回のリクエストに返戻されるデータの件数の上限は200件なので、201 件以降を取得したい場合には、200 件を取得した際に通知されるresumptionToken を指定してリクエストする |
- setパラメータについて
- NDLサーチでは、特定の属性を持つメタデータのみを取得できるよう、setパラメータを設けています。
set
とは、メタデータを特定の属性ごとにグループ化する定義です。NDLサーチのOAI-PMHにおけるset
は、以下の3つです。
- データプロバイダID
- データプロバイダグループID(オープンデータ、書誌種別、資料種別)
- コレクション、公開範囲(国立国会図書館デジタルコレクション)
データプロバイダ及びデータプロバイダグループID については、「インターフェース仕様書 附録1」または「API提供対象データプロバイダ一覧」を参照ください。コレクション、公開範囲(国立国会図書館デジタルコレクション)は、データプロバイダ「国立国会図書館デジタルコレクション」のメタデータのうち、特定の集合を指定することができます。国立国会図書館デジタルコレクションに関して、setパラメータの詳細はインターフェース仕様書 附録4を、各コレクションの詳細は、国立国会図書館デジタルコレクションの案内をご覧ください。
setパラメータを指定してリクエストした場合、setパラメータで指定したデータプロバイダないしデータプロバイダグループ、コレクション、公開範囲(国立国会図書館デジタルコレクション)の書誌メタデータのみが返戻されます。たとえば、データプロバイダに「国立国会図書館蔵書」を指定する場合は、「set=iss-ndl-opac
」のように指定します。
取得したいメタデータの特性に合わせて、setパラメータを指定してください。
3. OAI-PMHで書誌メタデータを取得する
OAI-PMHで書誌データを取得したい場合は、リクエスト種別にListRecords
を指定します。リクエスト種別の後ろにはメタデータの指定条件を記述しますが、このメタデータの指定条件は以下のとおりパラメータによって必須なもの、任意なものがあります。
指定条件 | 内容 |
---|---|
identifier | 使用不可 |
metadataPrefix | 必須 |
from | 必須 |
until | 任意 |
set | 任意 |
resumptionToken | 任意 (排他) |
from
やuntil
を使用して特定の期間の書誌メタデータを取得したり、setパラメータを使用して特定のデータプロバイダの書誌メタデータを取得するなど、目的に合わせてメタデータ選択基準の値を設定してください。
なお、resumptionToken
は排他(exclusive)のパラメータです。resumptionToken
を指定する場合は他のパラメータを指定しないでください。
from、untilの指定には次の制約がありますので注意してください。
- 1年を超える期間を指定することはできない。
- untilを指定しない場合には、上記の最大の期間がuntilに指定されたものとみなす
リクエスト例は次のとおりです。
https://ndlsearch.ndl.go.jp/api/oaipmh?verb=ListRecords&metadataPrefix=dcndl&set=aozora&from=2024-01-05
⇒2024年1月5日以降にNDLサーチに登録・更新された「青空文庫」のメタデータをDC-NDL(RDF)形式で取得する。https://ndlsearch.ndl.go.jp/api/oaipmh?verb=ListRecords&metadataPrefix=dcndl&set=iss-ndl-opac&from=2024-01-01&until=2024-01-31
⇒2024年1月1日~2024年1月31日までにNDLサーチに登録・更新された「国立国会図書館蔵書」の「作成完了書誌」のメタデータをDC-NDL(RDF)形式で取得する。
その他、OAI-PMHにおける ListRecords
以外のリクエストの詳細、及びNDLサーチが提供するAPI全般については、以下をご覧ください。
4. OAI-PMHで国立国会図書館作成の書誌メタデータを取得する
3. OAI-PMHで書誌メタデータを取得するで書誌メタデータを取得する方法をご紹介しましたが、特に国立国会図書館作成の書誌メタデータのみを取得したい場合のリクエストURL作成方法についてご紹介します。
国立国会図書館が提供するAPIデータプロバイダについては「API提供データプロバイダ一覧」の「国立国会図書館作成書誌のデータプロバイダ詳細」をご覧ください。国立国会図書館の書誌データの提供については、国立国会図書館ウェブサイト「書誌データの提供」のページも合わせてご覧ください。
4-1. 「国立国会図書館蔵書」の書誌データ
「国立国会図書館蔵書」(NDL新着書誌情報・全国書誌情報を含む)の書誌データをOAI-PMHで取得する場合、メタデータ選択基準のsetパラメータにiss-ndl-opac
、もしくはiss-ndl-opac-national
、iss-ndl-opac-inprocess
を指定します(リクエスト種別はListRecords
です)。
リクエスト例は次のとおりです。
https://ndlsearch.ndl.go.jp/api/oaipmh?verb=ListRecords&metadataPrefix=dcndl&from=2024-01-01&until=2024-01-31&set=iss-ndl-opac
⇒2024年1月1日~2024年1月31日にNDLサーチに登録・更新された「作成完了書誌」を取得できます。https://ndlsearch.ndl.go.jp/api/oaipmh?verb=ListRecords&metadataPrefix=dcndl&from=2024-01-10&until=2024-01-20&set=iss-ndl-opac-national
⇒2024年1月10日~2024年1月20日にNDLサーチに登録・更新された「全国書誌」を取得できます。https://ndlsearch.ndl.go.jp/api/oaipmh?verb=ListRecords&metadataPrefix=dcndl&from=2024-01-01&until=2024-02-01&set=iss-ndl-opac-inprocess
⇒2024年1月1日~2024年2月1日にNDLサーチに登録・更新された「作成中書誌」を取得できます。
4-2. 「国立国会図書館雑誌記事索引」の書誌データ
「国立国会図書館雑誌記事索引」の書誌データをOAI-PMHで取得する場合、メタデータ選択基準のsetパラメータにzassaku
またはzassaku-online
を指定します。
リクエスト例は次のとおりです。
https://ndlsearch.ndl.go.jp/api/oaipmh?verb=ListRecords&metadataPrefix=dcndl&from=2024-01-01&until=2024-08-31&set=zassaku
⇒2024年1月1日~2024年8月31日にNDLサーチに登録・更新された「国立国会図書館雑誌記事索引」のデータを取得できます。https://ndlsearch.ndl.go.jp/api/oaipmh?verb=ListRecords&metadataPrefix=dcndl&from=2024-01-01&until=2024-01-31&set=zassaku-online
⇒2024年1月1日~2024年1月31日にNDLサーチに登録・更新された「国立国会図書館雑誌記事索引(オンライン資料編)」のデータを取得できます。
4-3. 国立国会図書館デジタルコレクションの書誌データ
国立国会図書館デジタルコレクションの書誌データをOAI-PMHで取得する場合は、メタデータ選択基準のsetパラメータにndl-dl
、もしくはndl-dl-online
を指定します(リクエスト種別はListRecords
です)。
リクエスト例は次のとおりです。
https://ndlsearch.ndl.go.jp/api/oaipmh?verb=ListRecords&metadataPrefix=dcndl&from=2024-01-10&until=2024-01-20&set=ndl-dl
⇒2024年1月10日~2024年1月20日にNDLサーチに登録・更新された「国立国会図書館デジタルコレクション」のデータを取得できます。https://ndlsearch.ndl.go.jp/api/oaipmh?verb=ListRecords&metadataPrefix=dcndl&from=2024-01-10&until=2024-01-20&set=ndl-dl-online
⇒2024年1月10日~2024年1月20日にNDLサーチに登録・更新された「国立国会図書館デジタルコレクション(電子書籍・電子雑誌)」のデータを取得できます。
4-4. 国立国会図書館作成書誌データの起点日
国立国会図書館作成書誌データの起点日(最も古い更新日のデータ)は、以下のとおりです。
データプロバイダ名 | データプロバイダID(set) | 起点日 |
---|---|---|
国立国会図書館蔵書 | iss-ndl-opac | 2023-12-16 |
国立国会図書館新着書誌情報 | iss-ndl-opac-inprocess | 2023-12-16 |
国立国会図書館全国書誌情報 | iss-ndl-opac-national | 2023-12-16 |
国立国会図書館雑誌記事索引 | zassaku | 2023-12-16 |
国立国会図書館雑誌記事索引オンライン資料編 | zassaku-online | 2023-12-16 |
国立国会図書館デジタルコレクション | ndl-dl | 2023-12-16 |
国立国会図書館デジタルコレクション(電子書籍・電子雑誌) | ndl-dl-online | 2023-12-16 |
リクエストに対する1度の返戻は200件が上限です。resumptionToken
を指定することで200件以降の取得が可能になります。from
やuntil
を使用して特定の期間の書誌メタデータを取得することができますが、1年を超える期間を指定することはできません(until
を指定しない場合には、最大の期間がuntil
に指定されたものとみなされます)。
全件のデータ量が多いため、できるだけ期間等で対象を絞ってリクエストしていただくことを推奨いたします。
5. OAI-PMHの全件ファイル提供について
NDLサーチのOAI-PMHでメタデータの提供を可としているデータプロバイダについては、OAI-PMHのListRecordsリクエストに対するレスポンス仕様に準じた全件ファイルを提供しております。
下記のURLから、全件ファイルのダウンロードURLリストを取得することができます。
https://ndlsearch.ndl.go.jp/files/oaipmhAllData/xmlList.txt
- 全件ファイルは合計で約23,000ファイルあり、1ファイル当たり5,000のデータが含まれています。データ総数は約1億1千万件です。各ファイルの解凍後のサイズは約30MBです。
- 全件ファイルの更新頻度は月1回です。データ断面日は第一土曜日の前日です。出力に時間がかかるため、日曜日以降に取得ください。
- 全件ファイルの利用に際しては、APIのご利用についてをご確認の上、条件を守ってご利用ください。
- 各メタデータが属するデータプロバイダは、メタデータの
setSpec
タグに出力されていますので、当該のデータプロバイダの二次利用条件に従ってご利用ください。
6. OAI-PMHの大量更新履歴
以下の日付にてNDLサーチのOAI-PMHに大規模な更新が発生しているため、この日付を含む範囲のデータの取得については、OAI-PMHの全件ファイルからの取得をおすすめいたします。