【Omeka S モジュール紹介】Numeric Data Types:日付データに対する範囲検索を可能にする、など
概要
特定のプロパティを数値データとして設定できるようにするモジュール「Numeric Data Types」について説明します。プロパティは、日付と時刻(ISO)、または数値として指定できます。
特に、日付データに対する範囲検索を実現できる点などがポイントです。
公式のマニュアルは以下です。
上記のマニュアルを参考に、本モジュールの使い方を説明します。
リソーステンプレートの作成または編集
本モジュールを利用するには、リソーステンプレートを作成または編集して、特定のプロパティを数値データ型として設定する必要があります。リソーステンプレートの使い方は、以下に記載がありますが、いずれ紹介記事を作成したいと思います。
今回は、動画に関するリソーステンプレートとして「動画」を作成してみます。以下に示すように、「動画」というリソーステンプレートを作成し、その編集画面を開きます。
本モジュールでは、以下のData typesが追加されます。
- Timestamp(xsd:date)
- 整数(o-module-numeric-xsd:integer)
- 期間(xsd:duration)
- 間隔
そのため、リソーステンプレートにおいて、これらの型を持つプロパティを作成します。具体的には、以下のように設定しました。
- 公開日(ex:date):Timestamp
- バージョン(ex:version):整数
- 再生時間(ex:duraion):期間
- 準備時間(ex:prepare):間隔
なお、独自の語彙「ex」の作成については、以下の記事を参考にしてください。
プロパティのData types(型)の設定方法について説明します。リソーステンプレートの編集画面を開き、型を設定したいプロパティの「鉛筆」アイコンをクリックします。画面右部に表示されるパネルの「その他のオプション」 > 「Data types」において、「数字」 > 「Timestamp」を選択します。
結果として、今回は以下のリソーステンプレートを使用します。
ここで設定した各プロパティについて、入力フォーム、保存されるデータを以下で説明します。
データ登録
今回は、下図のようなデータを作成します。2021年3月11日に公開された動画について、再生時間、バージョン、準備期間、などを入力します。
アイテムの登録または編集画面において、リソーステンプレートの選択フォームで、先に作成した「動画」を選択します。
それにより、先に設定した各プロパティについて、Data types(型)に応じた入力フォームが表示されます。
例えば、Timestampを設定したプロパティ「公開日」は、下図のように日付(および時刻)の入力に特化したフォームが表示されます。
検索
上記の設定により、管理者画面および公開サイトに検索フォームが追加されます。
例えば、下図のように、プロパティ「公開日」について、「2021-03」以降の値を検索する、といった使い方が可能となります。
その他
API
REST APIを通じて、登録したデータ(JSON-LD)を以下で確認できます。下図のように、型がRDFによっても記述されていること(xsd:date, xsd:duration, など)を確認できます。
https://diyhistory.org/nakamura196/api/items/13
モジュール「Bulk Import」を用いた一括登録
別のモジュール「Bulk Import」を用いることで、ここで説明した型を持つデータの一括登録を行うことができます。「Bulk Import」の使い方については、以下の記事を参考にしてください。
具体的には、以下に示すようなCSVファイルを用意します。ポイントとして、ヘッダー行に「^^numeric:timestamp」を与えることで、Data types(型)を指定した上での一括登録が可能です。
https://github.com/omeka-j/Omeka-S-module-BulkImport-Sample-Data/blob/main/item_with_datatype.csv
まとめ
今回は、特定のプロパティを数値データとして設定できるようにするモジュール「Numeric Data Types」について説明しました。
本モジュールの導入により、日付データに対する範囲検索を実現できる点などがポイントです。
Omeka Sの数値(日付、時刻、整数)データの取り扱いについて、本モジュールおよび本記事がお役に立てば幸いです。