💬

Omeka Sへの画像一括登録用プログラム

2023/02/03に公開

概要

Omeka Sでメタデータ(Omeka用語でアイテム)や画像(Omeka用語でメディア)を一括する場合、Bulk Importモジュールなどを使用することが多いです。

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

一方、Omeka Sが提供するREST APIを介して登録することも可能です。

今回は、本APIを用いた画像の一括登録用プログラムを作成しましたので、その紹介です。

開発した理由

最新のBulk Importモジュールでは、エラーが発生した際に、停止するか継続するか等を選択できますが、古いバージョンのモジュールでは、この設定ができません。そのため、画像を一括登録した際に、画像の取得に失敗する都度、その画像が抜けてしまうケースがありました。

そこで、上記への対応のため、APIを用いた画像の一括登録用プログラムを作成しました。

使い方

以下のノートブックでサンプルをご確認いただけます。

https://colab.research.google.com/github/nakamura196/ndl_ocr/blob/main/Omeka_Sへの画像一括登録用プログラム.ipynb

まず、登録用のcsvファイルを作成します。本プログラムのIIIF画像の一括登録のみを対象としており、Media Urlには、IIIF画像のURL(info.jsonを含む)を指定します。

Item Identifier Media Url
post_226 https://nakamura196.github.io/iiif_static/files/tile/kunshujo/info.json

Google Colabで実行する場合には、csvファイルをアップロードします。

次にAPIの認証情報やエンドポイントのURLを設定します。

property_idの値については、上記csvのItem Identifierで指定した値をもつプロパティのIDを指定します。ここでは、dcterms:identifierを使用するため、そのOmekaの内部IDにあたる10を指定します。

処理内容

入力したcsvファイルと数の齟齬がある場合のみ、登録を行います。

例えば、アイテムに2件のメディアを紐づけるようにcsvファイルで指定されているにも関わらず、Omeka上では1件のメディアしか紐づいていないアイテムがあった場合、当該アイテムの紐づいたメディアを削除し、再度csvファイルの内容に基づいて登録します。

これにより、メディアの新規の一括登録や、登録漏れが発生していたメディアの修正等を行うことができます。

まとめ

BulImport以外での画像の一括登録方法として、参考になりましたら幸いです。

Discussion