Omeka Sの概要
Omeka Sは、ジョージ・メイソン大学のロイ・ローゼンツヴァイグ歴史・新メディアセンター(Roy Rosenzweig Center for History and New Media、RRCHNM)が開発するオープンソースのデジタルコレクション管理プラットフォームです。
「Omeka」という名前は、スワヒリ語で「荷物を広げる」「品物を陳列する」という意味を持ちます。その名の通り、デジタル資料を整理し、Web上で公開・展示するための機能を豊富に備えています。
Omeka Sの「S」はSemantic(意味的)を意味しており、Linked Open Data(LOD)の思想に基づいた設計が最大の特徴です。リソースのメタデータ記述にRDF語彙(Dublin Core、FOAF、Bibliographic Ontologyなど)を標準的に使用し、機械可読なデータの公開を促進します。
Omeka ClassicとOmeka Sの違い
Omeka Sの前身として、2008年にリリースされたOmeka Classic(旧称Omeka)があります。Omeka Classicは長年にわたり多くの機関で利用されてきましたが、Omeka Sは2017年にその後継として開発されました。
筆者は以前、両者の違いについて詳しく解説しました。詳細はOmeka ClassicとOmeka Sの違いをご覧ください。また、GPT-4を活用した比較分析も行っています(Omeka ClassicとOmeka S: 機能と違いの比較(GPT-4による解説))。
両者の主な違いを整理します。
| 項目 | Omeka Classic | Omeka S |
|---|---|---|
| リリース年 | 2008年 | 2017年 |
| マルチサイト | 非対応(1インストール1サイト) | 対応(複数サイト作成可能) |
| メタデータ | Dublin Core中心 | 複数のRDF語彙に対応 |
| Linked Data | 限定的 | ネイティブ対応 |
| API | 簡易的なREST API | 充実したREST API(JSON-LD対応) |
| テーマシステム | 独自テンプレート | Laminas(旧Zend)ベース |
| モジュール/プラグイン | プラグイン | モジュール |
| PHP要件 | PHP 5.6以上 | PHP 7.4以上(推奨8.x) |
Omeka Classicからの最も大きな進化は、マルチサイト機能とLinked Dataネイティブ対応の2点です。
マルチサイト機能により、一つのOmeka Sインストールから複数の公開サイトを運用できます。たとえば、大学の図書館と博物館が同じOmeka Sインスタンスを共有しつつ、それぞれ独自の公開サイトを持つといった運用が可能です。アイテムのデータは共通のプールで管理されるため、同じアイテムを複数のサイトで参照することもできます。
Linked Data対応により、メタデータはRDFの語彙に基づいて記述されます。Dublin Coreだけでなく、FOAF(Friend of a Friend)、BIBO(Bibliographic Ontology)、Schema.orgなど、複数のRDF語彙をインポートして利用できます。これにより、他のLinked Dataシステムとの相互運用性が格段に向上しています。
なお、Omeka Classicも引き続き利用可能です。筆者はOmeka Classicについても多くの記事を執筆しており、Omeka Classicのインストール方法についてはOmeka Classicのインストールで解説しています。Omeka Classicの使い方全般については【まとめ記事】Omeka.net(Classic)の使い方にまとめています。
アーキテクチャ概要
Omeka Sは、以下の技術スタックで構築されています。
- プログラミング言語: PHP 7.4以上(PHP 8.x推奨)
- フレームワーク: Laminas(旧Zend Framework)
- データベース: MySQL 5.7.9以上 / MariaDB 10.2.6以上
- ORM: Doctrine ORM
- パッケージ管理: Composer
- フロントエンド: jQueryベース
アプリケーションの構造はMVCパターンに従っています。
データモデル
Omeka Sのデータモデルは、以下の主要なエンティティで構成されます。
リソース(Resource): Omeka Sにおけるデータの基本単位です。すべてのリソースはRDFの語彙に基づいたプロパティ(メタデータフィールド)を持ちます。リソースには以下の3種類があります。
- アイテム(Item): 個々のデジタルオブジェクト。書籍、写真、文書、映像など、収蔵物一点一点に対応します。筆者はアイテムの詳細について【Omeka S マニュアル和訳】リソース > アイテムで和訳を公開しています
- メディア(Media): アイテムに紐づくファイルやリソース。画像ファイル、動画ファイル、URL、IIIF画像、oEmbedコンテンツなどの形態があります
- アイテムセット(Item Set): アイテムのグループ。コレクションやフォンドなどの上位概念に対応します
語彙(Vocabulary): RDF語彙の定義。Dublin Core、FOAF、BIBOなどがデフォルトで登録されており、カスタム語彙をRDFファイルからインポートすることも可能です。
プロパティ(Property): 語彙に属する個々のメタデータフィールド。たとえばDublin Coreの dcterms:title、dcterms:creator、dcterms:date などがプロパティです。
リソーステンプレート(Resource Template): アイテム登録時に使用するメタデータ入力フォームのテンプレート。どのプロパティをどの順序で表示するか、入力のデータ型は何かなどを定義します。
サイト(Site): 公開用Webサイト。一つのOmeka Sインスタンスに複数のサイトを作成できます。各サイトはページ、ナビゲーション、テーマを個別に設定できます。
これらの関係を図示すると、以下のようになります。
このように、データ層(アイテム、メタデータ)とプレゼンテーション層(サイト、ページ、テーマ)が明確に分離されている点が、Omeka Sの設計上の大きな特徴です。
バージョンの変遷
Omeka Sは継続的に開発が進められています。筆者は各バージョンのリリースやアップデートに関する記事も執筆してきました。
Omeka S 4.0.0のリリース候補版についてはOmeka S 4.0.0 release candidateが公開されました。で紹介しました。また、バージョンアップの際に発生し得るエラーとその対処法についてはOmeka Sのv4.0.4からv4.1へのアップデートに伴うエラー対応やOmeka Sの更新で解説しています。
アップデート時には、モジュールの互換性にも注意が必要です。Omeka Sのモジュールアップデート情報(2025-03-27)のように、定期的にモジュールのアップデート情報を追跡しておくことをお勧めします。
Linked Open Dataへの対応
Omeka SのLinked Open Data対応は、単なるオプション機能ではなく、システムの根幹に組み込まれています。
RDF語彙の利用
すべてのメタデータフィールド(プロパティ)は、RDF語彙のURIに基づいて定義されています。たとえば、アイテムの「タイトル」フィールドは内部的に http://purl.org/dc/terms/title というURIに対応しています。
JSON-LDによるデータ表現
Omeka SのREST APIは、レスポンスをJSON-LD形式で返します。これにより、APIから取得したデータをそのままLinked Dataとして利用できます。筆者は、EASY RDFを用いたデータ変換についても紹介しています(EASY RDFを用いてJSON-LDのデータをRDF/XMLやTurtleに変換してみる)。
{
"@context": "http://example.com/api-context",
"@id": "http://example.com/api/items/1",
"@type": "o:Item",
"dcterms:title": [
{
"type": "literal",
"@value": "源氏物語絵巻",
"@language": "ja"
}
],
"dcterms:creator": [
{
"type": "uri",
"@id": "http://viaf.org/viaf/252935625",
"o:label": "紫式部"
}
]
}
外部語彙のインポート
デフォルトで登録されているDublin Core以外にも、RDFファイル(Turtle、RDF/XML、N-Triplesなど)からカスタム語彙をインポートできます。日本の文化財分野で使われる語彙や、プロジェクト固有の語彙を追加することが可能です。筆者は既存の標準語彙の追加方法についても解説しています(【Omeka S Tips】既存の標準語彙の追加方法)。
ユーザ権限とアクセス制御
Omeka Sでは、ユーザの役割に応じた権限管理が可能です。筆者はユーザ権限と非公開リソースのアクセス制御についてOmeka Sのユーザ権限と非公開リソースへのアクセスで詳しく解説しています。非公開サイトの共有方法についてはOmeka Sで非公開サイトを共有するも参考になります。
まとめ
本章では、Omeka Sの概要、Omeka Classicとの違い、アーキテクチャ、Linked Open Data対応について解説しました。
Omeka Sは、Linked Dataの思想を核に据えた設計により、単なるデジタルコレクション管理ツールを超えた、セマンティックWebの実践プラットフォームとしての役割を担っています。マルチサイト機能やモジュールによる拡張性も相まって、小規模な個人プロジェクトから大規模な機関横断プロジェクトまで、幅広い用途に対応できます。
次章では、実際にOmeka Sをインストールして動かすための手順を解説します。
関連記事
- Omeka ClassicとOmeka Sの違い
- Omeka ClassicとOmeka S: 機能と違いの比較(GPT-4による解説)
- 【Omeka S マニュアル和訳】リソース > アイテム
- 【Omeka S Tips】既存の標準語彙の追加方法
- Omeka S 4.0.0 release candidateが公開されました。
- Omeka Sのv4.0.4からv4.1へのアップデートに伴うエラー対応
- Omeka Sの更新
- Omeka Sのモジュールアップデート情報(2025-03-27)
- EASY RDFを用いてJSON-LDのデータをRDF/XMLやTurtleに変換してみる
- Omeka Sのユーザ権限と非公開リソースへのアクセス
- Omeka Sで非公開サイトを共有する
- Omeka Sの導入に関する参考資料
- Omeka Classicのインストール
- 【まとめ記事】Omeka.net(Classic)の使い方