Open Archives Initiative Object Reuse and Exchange(以下、OAI-ORE)は、オープン・アーカイブズ・イニシアティブのオブジェクトの再利用と交換(OAI-ORE)プロジェクトは、Webリソースの集合体を記述、交換するための標準を定義する。本文書は、序論とOAI-ORE標準を構成する仕様書とユーザガイドの一覧を提供する。
詳細はhttps://www.openarchives.org/ore/をご参照ください。
WEKOではOAI-OREを利用し、インデックスとインデックスに所属するアイテムの関係性を出力します。
本書はWEKOのOAI-OREデータを取得するためのAPI仕様について記載した文書です。
OAI-OREの取得APIを利用するためのクエリは以下の形式です。
[トップページURL]/?action=repository_oaiore&(パラメータ=値)&(パラメータ=値)&…&(パラメータ=値)
指定するパラメータは下記のとおりです。
表 1 リクエストパラメータ一覧
No. |
パラメータ |
内容 |
必須 |
デフォルト値 |
設定例 |
1 |
itemId |
OAI-OREを取得する対象のアイテムID |
|
|
itemId=10 |
2 |
itemNo |
OAI-OREを取得する対象のアイテム通番 |
|
|
itemNo=1 |
3 |
indexId |
OAI-OREを取得する対象のインデックスID |
|
|
indexId=2 |
またリクエストパラメータの指定パターンによって、出力内容が下記のとおりになります。
表 2 出力内容一覧
No. |
itemId |
itemNo |
indexId |
出力内容 |
1 |
なし |
なし |
なし |
ルートインデックスをAggregation、ルートインデックスの直下のインデックスをAggregatedResourceとしたResourceMap |
2 |
あり |
あり |
なし |
パラメータで指定したアイテムID、アイテム通番のアイテムをAggregation、関連アイテムをAggregatedResourceとしたResourceMap |
3 |
なし |
なし |
あり |
パラメータで指定したインデックスIDのインデックスをAggregation、子インデックスおよび所属アイテムをAggregatedResourceとしたResourceMap |
OAI-ORE形式です。
OAI-ORE型式でのレスポンスを構成する要素については以下の通りです。
表 3 OAI-OREレスポンスフォーマット一覧
No. |
タグ名 |
属性 |
内容 |
備考 |
||
第1階層 |
第2階層 |
第3階層 |
||||
1 |
xml |
|
|
|
XML文書であることを宣言 |
<?xml version="1.0" encoding="UTF-8"?> |
2 |
atom:feed |
|
|
xmlns:atom |
文書のルート要素 |
<atom:feed xmlns:atom="http://www.w3.org/2005/Atom" xmlns:ore="http://www.openarchives.org/ore/terms/" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" grddl:transformation="http://www.openarchives.org/ore/atom/atom-grddl.xsl">
|
3 |
atom:id |
|
|
|
リクエストされたURI |
この取得リクエストのURI。クエリをURLエンコードし、「変数名=値」形式で出力 |
4 |
atom:author |
atom:name |
|
|
作成者 |
Aggregationの作成者を出力。表2のNo.1の場合は出力しない |
5 |
atom:title |
|
|
|
タイトル |
Aggregationのタイトルを出力。表示言語が日本語の場合、日本語名があれば日本語名、なければ英語名を出力。表示言語が日本語以外の場合、英語名があれば英語名、なければ日本語名を出力 |
6 |
atom:category |
|
|
scheme |
Aggregationのカテゴリ |
<atom:category |
7 |
atom:category |
|
|
scheme |
資源タイプ |
<atom:category 表2のNo.1, 3の場合はNIItype=Others固定 |
8 |
atom:link |
|
|
rel |
親へのリンク |
親を持つAggregationの場合、下記のように出力する <atom:link rel="related" type="text/html" href="「トップページURL」/?action=repository_oaiore「親のアイテムまたはインデックスを示すリクエストパラメータ」"/> |
9 |
atom:link |
|
|
rel |
自身へのリンク |
<atom:link rel="self" type="application/atom+xml" href="「リクエストされたURI」"/> |
10 |
atom:generator |
|
|
uri |
ホスト |
<atom:generator uri="「ホスト名」">「リポジトリ名」</atom:generator> |
11 |
atom:updated |
|
|
|
更新日時 |
Aggregationの更新日時を「YYYY-MM-DDThh:mm:ssZ」の形式で出力 |
12 |
rdf:Description |
|
|
rdf:about |
リクエストされたURI |
この取得リクエストのURI。クエリをURLエンコードし、「変数名=値」形式で出力 |
13 |
|
dcterms:created |
|
|
作成日時 |
Aggregationの作成日時を「YYYY-MM-DDThh:mm:ssZ」の形式で出力 |
14 |
atom:entry |
|
|
|
|
複数の場合は列挙。AggregatedResourceの情報を出力 |
15 |
|
atom:id |
|
|
AggregatedResourceへのリンク |
「トップページURL」/?action=repository_oaiore「AggregatedResourceを示すリクエストパラメータ」の形式で出力 |
16 |
|
atom:author |
atom:name |
|
作成者 |
AggregatedResourceの作成者を出力 |
17 |
|
atom:title |
|
|
タイトル |
AggregatedResourceのタイトルを出力。表示言語が日本語の場合、日本語名があれば日本語名、なければ英語名を出力。表示言語が日本語以外の場合、英語名があれば英語名、なければ日本語名を出力 |
18 |
|
atom:updated |
|
|
更新日時 |
AggregatedResourceの更新日時を「YYYY-MM-DDThh:mm:ssZ」の形式で出力 |
19 |
|
rdf:Description |
|
rdf:about |
取得リクエストURI |
AggregatedResourceの取得リクエストのURI。クエリをURLエンコードし、「変数名=値」形式で出力 |
20 |
|
|
dcterms:created |
|
作成日時 |
Aggregationの作成日時を「YYYY-MM-DDThh:mm:ssZ」の形式で出力 |
21 |
|
atom:category |
|
scheme |
資源タイプ |
<atom:category インデックスの場合はNIItype=Others固定 |
22 |
|
atom:link |
|
rel |
詳細画面URL |
<atom:link rel="related" type="text/html" href="「詳細画面URL」"/> 詳細画面URLは下記の通り アイテム:「トップページURL」/?action=repository_uri&item_id=「アイテムID」 インデックス:「トップページURL」/?action=repository_oaiore&indexId=「インデックスID」 |