はじめに
以下の記事で、Bulk ImportによるCSVファイルを用いたメタデータと画像の一括登録方法を説明しました。
本記事では、すでに登録済みのメタデータに対する一括更新の方法について説明します。
進め方
Bulk Importのオプションとして、以下の5つがあります。
- Create new resources
- Append data to resources
- Revise data of resources
- Update data of resources
- Replace all data of resources
- Delete resources
以下では、これらの挙動を確認します。
1. Create new resources
まず、先に共有した一括登録の方法と同様、「Create new resources」オプションを使用します。
以下のデータを登録します。
https://github.com/omeka-j/Omeka-S-module-BulkImport-Sample-Data/blob/main/update/01_create.csv
| dummy | dcterms:identifier | dcterms:title | dcterms:subject |
|---|---|---|---|
| abc | ダミーアイテム 1 | 一括登録サンプル 01-create |
ポイントとして、以下では「dcterms:identifier」に与えた文字列をIDとして扱います。この文字列が同じアイテムに対して、更新や削除を行います。
なお、「dcterms:identifier」に与えた文字列をIDとして扱うのが一般的ですが、任意のプロパティを選択可能です。
モジュールの登録画面において、以下のようなオプションを選択して登録します。CSVで示したメタデータを持つアイテムが登録されます。

2. Append data to resources
次に、「Append data to resources」オプションを使用します。
以下のデータを登録します。
https://github.com/omeka-j/Omeka-S-module-BulkImport-Sample-Data/blob/main/update/02_append.csv
| dummy | dcterms:identifier | dcterms:title | dcterms:subject | dcterms:creator |
|---|---|---|---|---|
| abc | ダミーアイテム 1 | 一括登録サンプル 02-append | 中村覚 |
変更点として、「dcterms:subject」の値を変更し、また「dcterms:creator」を追加しています。また「dcterms:title」の値は変更していません。
これを以下のように「Append data to resources」で登録します。

その結果、以下のように、「キーワード(dcterms:subject)」と「作成者(dcterms:creator)」に値が追加されます。また、「タイトル(dcterms:title)」は登録前のデータとCSVのデータが同じだったため、変更はありません(ダミーアイテム 1のままです)。

3. Revise data of resources
次に、「Revise data of resources」オプションを使用します。
以下のデータを登録します。
https://github.com/omeka-j/Omeka-S-module-BulkImport-Sample-Data/blob/main/update/03_revise.csv
| dummy | dcterms:identifier | dcterms:subject | dcterms:creator |
|---|---|---|---|
| abc | 一括登録サンプル 03-revise |
変更点として、「dcterms:subject」の値を変更し、また列から「dcterms:title」を削除し、さらに「dcterms:creator」を空にしています。
これを「Revise data of resources」で登録します。
その結果、以下のように、「キーワード(dcterms:subject)」の値がCSVのデータに置換されます。
ポイントとして、CSVデータでは空にしていた「作成者(dcterms:creator)」はそのままです。

4. Update data of resources
次に、「Update data of resources」オプションを使用します。
以下のデータを登録します。
https://github.com/omeka-j/Omeka-S-module-BulkImport-Sample-Data/blob/main/update/04_update.csv
| dummy | dcterms:identifier | dcterms:subject | dcterms:creator |
|---|---|---|---|
| abc | 一括登録サンプル 04-update |
変更点として、「dcterms:subject」の値を変更し、また3と同様、「dcterms:creator」を空にしています。
これを「Update data of resources」で登録します。
その結果、以下のように、「キーワード(dcterms:subject)」の値がCSVのデータに置換されます。
ポイントとして、CSVデータで空にしていた「作成者(dcterms:creator)」の値が削除されています。このように、CSVデータで空にしていた値が削除される点が、3の「revise」との違いです。

5. Replace all data of resources
次に、「Replace all data of resources」オプションを使用します。
以下のデータを登録します。
https://github.com/omeka-j/Omeka-S-module-BulkImport-Sample-Data/blob/main/update/04_update.csv
| dummy | dcterms:identifier | dcterms:subject | dcterms:creator |
|---|---|---|---|
| abc | 一括登録サンプル 05-replace |
変更点として、「dcterms:subject」の値を変更し、また3と同様、「dcterms:creator」を空にしています。
これを「Replace all data of resources」で登録します。
その結果、以下のように、「キーワード(dcterms:subject)」と「識別子(dcterms:identifier)」の値がCSVのデータに置換されます。また、「タイトル「dcterms:title」」が削除されています。
ポイントとして、このオプションでは、いったんすべてのメタデータを削除して、CSVデータに値があるものだけ登録されます。そのため、値が空である「dcterms:creator」はもちろん、CSVデータに列がない「dcterms:title」も削除されます。

6. Delete resources
次に、「Delete resources」オプションを使用します。
以下のデータを登録します。
https://github.com/omeka-j/Omeka-S-module-BulkImport-Sample-Data/blob/main/update/06_delete.csv
このオプションの結果は単純で、dcterms:identifierに指定したIDを持つアイテムを削除します。結果、以下のように、当該アイテムはNotFoundとなります。

まとめ
本記事では、Bulk Importモジュールを用いた、メタデータの一括更新における、特にオプションの違いを確認しました。更新作業による予期しないメタデータの削除を避けるため、まずは「3. Revise data of resources」のオプションを選択して、メタデータの追加や置き換えを行うことをお勧めします。そして本モジュールに慣れた後、4や5のオプションをお使いいただくのがよいと思います。
本モジュールでは、本記事で説明した機能以外にも多様な機能が提供されています。上述した通り、更新対象のアイテムの識別子について、「dcterms:identifier」以外も使用できます。設定内容を調整することにより、多様なニーズに対応することが可能です。
CSVデータを用いたメタデータの一括修正などにあたり、本記事がお役にたてば幸いです。