第三章 OAI 詮釋資料擷取協定
第四節 OAI 詮釋資料擷取協定指令說明
以下列舉OAI-PMH 的命令(verb),包括命令使用方式、所有參數、及錯誤 處理,並舉例說明。其中Identify、ListMetadataFormats、ListSets 屬於支援命令,
負責提供與資料庫相關的資訊;ListRecords、ListIdentifiers、GetRecord 則屬於擷 取命令,負責取回所指定的詮釋資料。
參數中若指明為必需(required)者,則一定要要包含在要求(request)之中(除非 要求中使用了具唯一性的參數)。若為非必需(optional),則視要求的情況是否需 要而選用。若為唯一的(exclusive),則表示這項參數不能與其他參數合用。意即 可以不使用,但若使用了,則它會是唯一使用的參數,不會同時出現其他參數。
(一)GetRecord
1.使用方式:當欲從資料庫(repository)中,單獨取得一筆特定的資料紀錄時使 用。使用時必須指定其資料物件的識別碼(identifier),及所要的詮釋資料格 式。若資料庫能夠追蹤刪除資料,則在回應時,對於已刪除的資料可以在 header 欄加入 status 參數,其值為“deleted”。
2.可用參數:
(1)identifier:必需,用以指示一個資料物件(item)在資料庫中的唯一識別碼。
(2)metadataPrefix:必需,用以指示回應時使用何種詮釋資料格式。資料庫 能提供的所有詮釋資料格式,可以藉ListMetadataFormats 命令取得。
3.錯誤狀況:
(1)badArgument : 使用了不合法的參數,或缺失了必需的參數。
(2)cannotDisseminateFormat : 由 identifier 所指定的資料物件並不支援由 metadataPrefix 所指定的詮釋資料格式。
(3)idDoesNotExist : 指定的 identifier 不合法,或在資料庫中根本不存在。
(二)Identify
1.使用方式:用以取得資料庫的各項基本資訊。資料庫也可以將一些敘述性 的資訊放在這個命令的回應裡。
2.可用參數:無。
3.錯誤狀況:
(1)badArgument : 使用了不合法的參數。
(三)ListIdentifiers
1.使用方式:這個命令可以看作 ListRecords 的縮減版,與 ListRecords 的差別 在於它只取回每一筆資料紀錄的標頭(header)部分,而不是完整的紀錄(一筆 完整的紀錄還必須包括詮釋資料部分,以及非必需的相關(about)部分)。可 以利用資料集(set)與時間戳記(datestamp)兩個參數,作選擇性擷取(selective harvesting)。若資料庫能夠追蹤刪除資料,則在回應時可以在標頭(header) 部分加入status 參數,並設定其值為“deleted” ,來表示該筆資料已刪除。
2.可用參數:
(1)from:非必需,其值必須符合 UTC(Coordinated Universal Time)的標準格 式。當我們依某一段日期時間範圍進行選擇性擷取時,用以指示開始的 時間點。
(2)until:非必需,其值必須符合 UTC(Coordinated Universal Time)的標準格 式。當依某一段日期時間範圍進行選擇性擷取時,用以指示終止的時間 點。
(3)metadataPrefix : 必 需 , 用 以 指 示 回 應 時 只 取 回 詮 釋 資 料 格 式 符 合 metadataPrefix 的標頭(若資料庫能夠追蹤刪除資料,則已刪除的資料標 頭 也 會 被 取 回) 。 資 料 庫 能 提 供 的 所 有 詮 釋 資 料 格 式 , 可 以 藉 ListMetadataFormats 命令取得。
(4)set:非必需,當進行選擇性擷取,想將範圍限制在某一個資料集內時使 用。
(5)resumptionToken:唯一,其值為前一個 ListIdentifiers 命令未傳完全部的 資料時,所傳回來的一個流量控制用的標記。在要求中放入該傳回來的 resumptionToken,則資料提供者會延續之前未完成的 ListIdentifiers 命 令,繼續傳送接下去的資料。
3.錯誤狀況:
(1)badArgument:使用了不合法的參數,或缺失了必需的參數。
(2)badResumptionToken:所給予的 resumptionToken 是無效的,或是已經過 期。
(3)cannotDisseminateFormat:資料庫不支援要求中 metadataPrefix 所指定的 詮釋資料格式。
(4)noRecordsMatch:由 from,until,set 三個參數所構成的選取範圍裡沒有 任何一筆紀錄。
(5)noSetHierarchy:資料庫未支援資料集。
(四)ListMetadataFormats
1.使用方式:這個命令的用途是取得資料庫所有可用的詮釋資料格式。可以 利用非必需的identifier 參數,將傳回的結果限制為資料庫中某一個資料物 件所有可用的詮釋資料格式。
2.可用參數:
(1)identifier:非必需,其值應該要是資料庫中某個資料物件的唯一識別碼,
並且將傳回的結果限制為該資料物件所有可用的詮釋資料格式。當省略 這個參數時,傳回的結果則是資料庫所有可用的詮釋資料格式。特別要 注意的是:資料庫支援某種詮釋資料格式,並不表示資料庫裡的所有資 料物件都能使用該種詮釋資料格式。
3.錯誤狀況:
(1)badArgument:這個要求包含了不合法的參數,或缺失了必需的參數。
(2)idDoesNotExist:指定的 identifier 不合法,或在資料庫中根本不存在。
(3)noMetadataFormats: identifier 所指定的資料物件目前並沒有可以使用的 詮釋資料格式。
(五)ListRecords
1.使用方式:此命令用於從資料庫擷取大批資料紀錄。它提供一些非必需的 參數,協助我們運用資料集、時間戳記,進行選擇性擷取。若資料庫能夠追 蹤刪除資料,則在回應時可以在標頭(header)部份加入 status 參數,並設定 其值為“deleted” ,來表示該筆資料已刪除。已刪除的資料物件,其紀錄中 不會包含有詮釋資料(metadata)部份。
2.可用參數:
(1)from:非必需,其值必須符合 UTC(Coordinated Universal Time)的標準格 式。當我們依某一段日期時間範圍進行選擇性擷取時,用以指示開始的 時間點。
(2)until:非必需,其值必須符合 UTC(Coordinated Universal Time)的標準格 式。當我們依某一段日期時間範圍進行選擇性擷取時,用以指示終止的 時間點。
(3)set:非必需,當進行選擇性擷取,想將範圍限制在某一個資料集內時使 用。
(4)resumptionToken:唯一,其值為前一個 ListRecords 命令未傳完全部的資 料紀錄時,所傳回來的一個流量控制用的標記。在要求中放入該傳回來 的resumptionToken,則資料提供者應該要延續之前未完成的 ListRecords 命令,繼續傳送接下去的資料紀錄。
(5)metadataPrefix:必需,用以指示回應的資料紀錄中,詮釋資料的部份應 該要使用的詮釋資料格式,並且每筆紀錄只有能夠照metadataPrefix 所指 定之格式發佈詮釋資料,才會被取回。資料庫能提供的所有詮釋資料格 式,可以藉ListMetadataFormats 命令取得。
3.錯誤狀況:
(1)badArgument : 這個要求包含了不合法的參數,或缺失了必需的參數。
(2)badResumptionToken : 所給予的 resumptionToken 是無效的,或是已經 過期。
(3)cannotDisseminateFormat : 資料庫不支援要求中 metadataPrefix 所指定 的詮釋資料格式。
(4)noRecordsMatch : 由 from,until,set 三個參數所構成的選取範圍裡沒 有任何一筆紀錄。
(5)noSetHierarchy : 資料庫未支援資料集。
(六)ListSets
1.使用方式:這個命令的用途,在於取得資料庫內,資料集的階層架構,以 協助選擇性擷取之處理。
2.可用參數:
(1)resumptionToken:唯一,其值為前一個 ListSets 命令未傳完全部的資料 集架構時,所傳回來的一個流量控制用的標記。在要求中放入該傳回來的 resumptionToken,則資料提供者應該要延續之前未完成的 ListSets 命令,
繼續傳送接下去的資料集架構。
3.錯誤狀況:
(1)badArgument : 這個要求包含了不合法的參數。
(2)badResumptionToken : 所給予的 resumptionToken 是無效的,或是已 經過期。
(3)noSetHierarchy : 資料庫未支援資料集之使用。
(七)實例
下面的命令使用OAI-PMH 來要求單一一筆資料的詮釋資料,資料的識別碼 為oai:arXiv:cs/0112017,並要求詮釋資料必需以 Dublin Core 來呈現。
Request:
Response:
<?xml version="1.0" encoding="UTF-8"?>
<OAI-PMH xmlns=http://www.openarchives.org/OAI/2.0/
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/
http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd">
<responseDate>2002-02-08T08:55:46Z</responseDate>
<request verb="GetRecord" identifier="oai:arXiv:cs/0112017"
metadataPrefix="oai_dc">http://arXiv.org/oai2</request>
<GetRecord>
<record>
<header>
<identifier>oai:arXiv:cs/0112017</identifier>
<datestamp>2001-12-14</datestamp>
<setSpec>cs</setSpec>
<setSpec>math</setSpec>
</header>
<metadata>
<oai_dc:dc
xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/
http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
<dc:title>Using Structural Metadata to Localize Experience of Digital Content</dc:title>
<dc:creator>Dushay, Naomi</dc:creator>
<dc:subject>Digital Libraries</dc:subject>
<dc:description>With the increasing technical sophistication of both information consumers and providers, there is
particular communities of users.
</dc:description>
<dc:description>Comment: 23 pages including 2 appendices, 8 figures</dc:description>
<dc:date>2001-12-14</dc:date>
</oai_dc:dc>
</metadata>
</record>
</GetRecord>
</OAI-PMH>