💬

【Omeka S モジュール紹介】Bulk Import:CSVファイルを用いたメタデータと画像の一括登録(2023-03版)

2023/03/12に公開

概要

Omeka Sへのメタデータ(アイテム)と画像(メディア)等の一括登録を行うためのモジュール「Bulk Import」の使い方について、以前に以下の記事を作成しました。

https://nakamura196.hatenablog.com/entry/2021/07/28/080952

ただし、Omeka Sやモジュールのアップデートにより、2023年3月時点では、一部挙動が異なる点があります。そこで本記事では、詳細な説明は上記の記事に譲りつつ、アイテムセットからメディアの登録までの一連の流れを再度紹介します。

モジュールのインストール

関連モジュールのインストール

まず、以下の2つのモジュール「Log」と「Generic」をインストールしてください。

https://github.com/Daniel-KM/Omeka-S-module-Log

https://github.com/Daniel-KM/Omeka-S-module-Generic

(オプショナル)ログの設定

Logモジュールのインストール後に、以下のようなアラートが表示されます。config/local.config.phpの設定を変更しておくことで、Bulk Importを使用する際のエラー内容などを確認することができて便利です。

具体的には、/config/local.config.phpについて、logtrueに設定します。

/config/local.config.php
return [
    'logger' => [
'log' => true, //ここをtrueに変更する
'priority' => \Laminas\Log\Logger::NOTICE,
    ],
    'http_client' => [
'sslcapath' => null,
'sslcafile' => null,
    ],
    ...
]

この設定を行うことにより、後述する一括登録の際に、以下のようなログが表示されます。特に、意図したとおりに一括登録できない場合に、その原因を調べる上で参考になります。

Bulk Importのインストール

以下のリポジトリからインストールしてください。

https://github.com/Daniel-KM/Omeka-S-module-BulkImport

インストール後に以下のような設定画面が表示されますが、とりあえずそのままで構いません。

アイテムセットの登録

まず、アイテムセットの登録を行います。インポートの画面から、以下の「CSV - Item sets」を選択します。

サンプルデータとして、以下のcsvファイルをダウンロードしてください。

https://github.com/omeka-j/Omeka-S-module-BulkImport-Sample-Data/blob/main/item_set.csv

ダウンロードしたファイルを選択します。

次の画面では、いろいろな設定項目がありますが、とりあえずデフォルトのままでOKです。

登録が完了すると、以下のように、タイトル(dcterms:title)とIdentifier(dcterms:identifier)が登録されます。

アイテムの登録

次に、アイテムの登録を行います。以下のcsvファイルを使用します。

https://github.com/omeka-j/Omeka-S-module-BulkImport-Sample-Data/blob/main/item.csv

csvファイルの内容については、冒頭でご紹介した以下の記事に譲ります。

https://nakamura196.hatenablog.com/entry/2021/07/28/080952#アイテム

注意点として、設定画面の「Identifier to use for linked resources or update」において、「dcterms:identifier」を追加してください。これは、アイテムセットをbabyという値で入力しており、これはアイテムセットの「dcterms:identifier」が「baby」のものを指定するため、「Identifier to use for linked resources or update( = リソースの関連付けや更新に使用する識別子)」として、「dcterms:identifier」を追加します。この設定を行わないと、関連付けるアイテムセット(baby)が見つかりません、となり、今回のサンプルデータ(2件)を登録することができません。

一方、登録するcsvファイルからアイテムセットに関連する列を削除すれば、上記の設定を行わなくても登録することができますが、リソースの関連付けや更新を行う際に識別子(一般的にはdcterms:identifier)があったほうが便利です。

画像の登録

次に、アイテムの登録を行います。以下のcsvファイルを使用します。

https://github.com/omeka-j/Omeka-S-module-BulkImport-Sample-Data/blob/main/media.csv

ここでも、上述の通り、設定画面の「Identifier to use for linked resources or update」において、「dcterms:identifier」を追加してください。メディア(画像)を登録するアイテムの指定に「dcterms:identifier」の値を使用しているため、この設定が必要です。

結果、以下のように、登録したアイテムにメディア(画像)が登録されます。

補足:複数の値の登録について

アイテムの一括登録に使用したcsvファイルについて、「dcterms:subject @ja」の値を以下のように与えていました。

あかちゃん|リクエスト

これは区切り記号|(パイプ)で複数の値を登録するための記述です。この区切り記号は登録時の設定画面で変更可能です。具体的には、以下の「Multi-value separator」の項目で指定します。

結果、「Subject」という項目に対して、複数の値が登録されています。

まとめ

本モジュールの提供機能は、リソースの更新や削除など、多岐に渡ります。そのため大変便利なモジュールなのですが、一方で様々な設定項目が用意されており、慣れるまでは使いにくさを感じるかもしれません。

本記事が本モジュールを使用する際の参考になりましたら幸いです。

Discussion