【Omeka S モジュール紹介】Numeric Data Types:日付データに対する範囲検索を可能にする、など

概要

特定のプロパティを数値データとして設定できるようにするモジュール「Numeric Data Types」について説明します。プロパティは、日付と時刻(ISO)、または数値として指定できます。

 

特に、日付データに対する範囲検索を実現できる点などがポイントです。

 

github.com

 

公式のマニュアルは以下です。

 

omeka.org

 

上記のマニュアルを参考に、本モジュールの使い方を説明します。

 

 

リソーステンプレートの作成または編集

本モジュールを利用するには、リソーステンプレートを作成または編集して、特定のプロパティを数値データ型として設定する必要があります。リソーステンプレートの使い方は、以下に記載がありますが、いずれ紹介記事を作成したいと思います。

 

omeka.org

 

今回は、動画に関するリソーステンプレートとして「動画」を作成してみます。以下に示すように、「動画」というリソーステンプレートを作成し、その編集画面を開きます。

 

f:id:nakamura196:20210801065921p:plain

 

本モジュールでは、以下のData typesが追加されます。

  • Timestamp(xsd:date)
  • 整数(o-module-numeric-xsd:integer)
  • 期間(xsd:duration)
  • 間隔

そのため、リソーステンプレートにおいて、これらの型を持つプロパティを作成します。具体的には、以下のように設定しました。

  • 公開日(ex:date):Timestamp
  • バージョン(ex:version):整数
  • 再生時間(ex:duraion):期間
  • 準備時間(ex:prepare):間隔

なお、独自の語彙「ex」の作成については、以下の記事を参考にしてください。

 

nakamura196.hatenablog.com

 

プロパティのData types(型)の設定方法について説明します。リソーステンプレートの編集画面を開き、型を設定したいプロパティの「鉛筆」アイコンをクリックします。画面右部に表示されるパネルの「その他のオプション」 > 「Data types」において、「数字」 > 「Timestamp」を選択します。

 

f:id:nakamura196:20210801070147p:plain

 

結果として、今回は以下のリソーステンプレートを使用します。

 

f:id:nakamura196:20210801062626p:plain

 

ここで設定した各プロパティについて、入力フォーム、保存されるデータを以下で説明します。

 

データ登録

今回は、下図のようなデータを作成します。2021年3月11日に公開された動画について、再生時間、バージョン、準備期間、などを入力します。

 

f:id:nakamura196:20210801062839p:plain

 

アイテムの登録または編集画面において、リソーステンプレートの選択フォームで、先に作成した「動画」を選択します。

それにより、先に設定した各プロパティについて、Data types(型)に応じた入力フォームが表示されます。

例えば、Timestampを設定したプロパティ「公開日」は、下図のように日付(および時刻)の入力に特化したフォームが表示されます。

 

f:id:nakamura196:20210801063113p:plain

 

検索

上記の設定により、管理者画面および公開サイトに検索フォームが追加されます。

例えば、下図のように、プロパティ「公開日」について、「2021-03」以降の値を検索する、といった使い方が可能となります。

 

f:id:nakamura196:20210801063857p:plain

 

その他

API

REST APIを通じて、登録したデータ(JSON-LD)を以下で確認できます。下図のように、型がRDFによっても記述されていること(xsd:date, xsd:duration, など)を確認できます。

https://diyhistory.org/nakamura196/api/items/13

 

f:id:nakamura196:20210801064316p:plain

 

モジュール「Bulk Import」を用いた一括登録

別のモジュール「Bulk Import」を用いることで、ここで説明した型を持つデータの一括登録を行うことができます。「Bulk Import」の使い方については、以下の記事を参考にしてください。

 

nakamura196.hatenablog.com

 

具体的には、以下に示すようなCSVファイルを用意します。ポイントとして、ヘッダー行に「^^numeric:timestamp」を与えることで、Data types(型)を指定した上での一括登録が可能です。

 

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

 

f:id:nakamura196:20210801065038p:plain

 

まとめ

今回は、特定のプロパティを数値データとして設定できるようにするモジュール「Numeric Data Types」について説明しました。

本モジュールの導入により、日付データに対する範囲検索を実現できる点などがポイントです。

Omeka Sの数値(日付、時刻、整数)データの取り扱いについて、本モジュールおよび本記事がお役に立てば幸いです。