Home > 国際的なコンテンツ流通システム構築 > メタデータデータベースのスキーマ

メタデータデータベースのスキーマ

CODEが構築・運用しているメタデータデータベースの詳細を解説します。
このデータベースを基盤とし、検索や流通のためのアプリケーションは、そのレコードのサブセットを利用する、というアーキテクチャです。メタデータ項目は、LOM(IEEE 1484.12.1 – 2002 Standard for Learning Object Metadata)になるべく合致するように設計しています。ハーベスティングの可否などの管理上必要な項目、ライセンスや品質保証に関する項目は、CODE独自のデータ項目です。これらの他、メタデータの所有ユーザに関する項目(“3.2 Meta-metadata – Contribute”に対応)がありますが、本ページには示していません。協力・連携機関の要望やLODE(Learning Object Discovery & Exchange, IMS/GLCのプロジェクトグループ)などの標準化の動向により、メタデータ項目の変更を含む柔軟な運用を行います。以下の説明では、LOMやOAI-PMH、利用しているRDBMSであるPostgreSQL特有の表現を使用します。

全体的な枠組み

  • __lom_mainテーブルがメインのテーブルで、1タプルが1つのメタデータに対応します。
  • “LOの言語”など、複数の入力が可能な項目は、lom_***テーブルに格納されます。
  • 言語など、語彙の統制が必要な値は、マスタテーブルmaster_***に格納されます。
  • LangStringの言語は、”メタデータの言語”(__lom_main.metadata_language)となります。つまり、1つのメタデータ内で共通の1言語となります。
  • “セット”とは、OAI-PMHの選択的ハーベスティングに使用するセット(set)です。

メイン: __lom_mainテーブル, lom_mainビュー, lom_main_harvestingビュー

lom_mainビュー・lom_main_harvestingビューは、__lom_mainテーブルから作成されます。

項目 テーブル定義 IEEE 1484.12.1-2002との
フィールド名 データ型 制約 対応 相違
メタデータのID lomid character varying (32) primary key, check (lomid ~ ‘^[[:alnum:]+.:_-]+$’) 3.1 Meta-Metadata – Identifier 1つのみ
タイトル title character varying (1000) not null 1.2 General – Title
概要 description character varying (2000) 1.4 General – Description 1つのみ
内容のまとまり aggregation_level integer not null, references master_aggregation_level (aggregation_level) 1.8 General – Aggregation Level
メタデータの言語 metadata_language character (2) not null, references master_language (language_code) 3.4 Meta-Metadata – Language Alpha-2 codeのみ
URL url character varying (1000) not null 4.3 Technical – Location 1つのみ
動作条件 requirement character varying (2000) 4.4 Technical – Requirement 構造化なし(自由記述), 1つのみ
標準的な学習時間 typical_learning_time integer 5.9 Educational – Typical Learning Time 分単位のみ
対象レベル educational_description character varying (1000) 5.10 Educational – Description “対象レベル”のみ, 1つのみ
料金 cost boolean not null 6.1 Rights – Cost
許諾範囲 rights_description character varying (1000) 6.3 Rights – Description
ハーベスティング harvesting boolean not null
Federated Search federated_search boolean not null
メタデータの生成日時 datetime_creation timestamp (0) with time zone not null
メタデータの変更日時 datetime_modification timestamp (0) with time zone not null
有効/無効 valid boolean not null
  • costフィールドは、有料の場合trueとなります。
  • ハーベスティングで提供可能なメタデータは、harvestingフィールドがtrueとなります。
  • Federated Searchの対象メタデータは、federated_searchフィールドがtrueとなります。
  • LOM生成の際、”1.1 General – Identifier”は、”Catalog”を”URI”とし、”Entry”をurlフィールドの値とします。
  • lom_languageテーブルにタプルを持たない場合、LOの言語(1.3 General – Language)は”none”となります。
  • lom_technical_formatテーブルにタプルを持たない場合、ファイル形式(4.1 Technical – Format)は”non-digital”となります。
  • validフィールドがtrueのメタデータからlom_mainビューを作成します。(create view lom_main as select * from __lom_main where valid)
  • validフィールドがtrue、かつharvestingフィールドがtrueのメタデータからlom_main_harvestingビューを作成します。(create view lom_main_harvesting as select * from __lom_main where valid and harvesting)

LOの言語: lom_languageテーブル

項目 テーブル定義 IEEE 1484.12.1-2002との
フィールド名 データ型 制約 対応 相違
メタデータのID lomid character varying (32) references __lom_main (lomid) (省略)
LOの言語 language_code character (2) references master_language (language_code) 1.3 General – Language Alpha-2 codeのみ
  • primary key (lomid, language_code)

キーワード: lom_keywordテーブル

項目 テーブル定義 IEEE 1484.12.1-2002との
フィールド名 データ型 制約 対応 相違
メタデータのID lomid character varying (32) references __lom_main (lomid) (省略)
キーワード keyword character varying (1000) 1.5 General – Keyword
  • primary key (lomid, keyword)

寄与者: lom_contributeテーブル

項目 テーブル定義 IEEE 1484.12.1-2002との
フィールド名 データ型 制約 対応 相違
メタデータのID lomid character varying (32) references __lom_main (lomid) (省略)
役割 contribute_role character varying (22) references master_contribute_role (contribute_role) 2.3.1 Life Cycle – Contribute – Role
氏名 contribute_entity_fn character varying (64) not null 2.3.2 Life Cycle – Contribute – Entity 自由記述 (IEEE 1484.12.1-2002はvCard)
所属 contribute_entity_org character varying (128)
電話番号 contribute_entity_tel character varying (32)
メールアドレス contribute_entity_email character varying (64)
  • unique (lomid, contribute_role, contribute_entity_fn)

ファイル形式: lom_technical_formatテーブル

項目 テーブル定義 IEEE 1484.12.1-2002との
フィールド名 データ型 制約 対応 相違
メタデータのID lomid character varying (32) references __lom_main (lomid) (省略)
ファイル形式 technical_format character varying (500) references master_technical_format (technical_format) 4.1 Technical – Format
  • primary key (lomid, technical_format)

教育分野: lom_educational_contextテーブル

項目 テーブル定義 IEEE 1484.12.1-2002との
フィールド名 データ型 制約 対応 相違
メタデータのID lomid character varying (32) references __lom_main (lomid) (省略)
教育分野ID educational_context_id integer references master_educational_context (educational_context_id) 5.6 Educational – Context 独自のValue space
  • primary key (lomid, educational_context_id)

専門分野: lom_classificationテーブル

項目 テーブル定義 IEEE 1484.12.1-2002との
フィールド名 データ型 制約 対応 相違
メタデータのID lomid character varying (32) references __lom_main (lomid) (省略)
分類体系 source character varying (1000) 9.2.1 Classification – Taxon Path – Source
taxon character varying (500) 9.2.2.2 Classification – Taxon Path – Taxon – Entry
  • primary key (lomid, source, taxon)
  • “9.1 Classification – Purpose”は、”discipline”とします。
  • 語彙の統制は行いません。

ライセンス: lom_licenseテーブル

項目 テーブル定義 IEEE 1484.12.1-2002との
フィールド名 データ型 制約 対応 相違
メタデータのID lomid character varying (32) references __lom_main (lomid) (省略)
ライセンス体系 catalog character varying (100) not null
entry character varying (100)
  • unique (lomid, catalog, entry)
  • foreign key (catalog, entry) references master_license (catalog, entry)

品質: lom_qualityテーブル

項目 テーブル定義 IEEE 1484.12.1-2002との
フィールド名 データ型 制約 対応 相違
メタデータのID lomid character varying (32) references __lom_main (lomid) (省略)
品質保証体系 catalog character varying (100) not null
entry character varying (100)
  • unique (lomid, catalog, entry)
  • foreign key (catalog, entry) references master_quality (catalog, entry)

セット: lom_setテーブル

項目 テーブル定義 IEEE 1484.12.1-2002との
フィールド名 データ型 制約 対応 相違
メタデータのID lomid character varying (32) references __lom_main (lomid) (省略)
セット setspec character varying (100) references master_set (setspec)
  • primary key (lomid, setspec)

言語マスタ: master_languageテーブル

ISO 639-1で規定されているAlpha-2 codeを格納します。

フィールド名 データ型 制約
language_code character (2) primary key

内容のまとまりマスタ: master_aggregation_levelテーブル

フィールド名 データ型 制約
aggregation_level integer primary key

master_aggregation_levelテーブルには、以下のタプルが存在します。

aggregation_level
1
2
3
4

寄与者の役割マスタ: master_contribute_roleテーブル

フィールド名 データ型 制約
contribute_role character varying (22) primary key

master_contribute_roleテーブルには、以下のタプルが存在します。

contribute_role
author
publisher
unknown
initiator
terminator
validator
editor
graphical designer
technical implementer
content provider
technical validator
educational validator
script writer
instructional designer
subject matter expert

ファイル形式マスタ: master_technical_formatテーブル

Content-Type(MIME Media Types)を格納します。

フィールド名 データ型 制約
technical_format character varying (500) primary key

教育分野マスタ: master_educational_contextテーブル

フィールド名 データ型 制約
educational_context_id integer primary key
educational_context character varying (6) unique, not null

master_educational_contextテーブルには、以下のタプルが存在します。

educational_context_id educational_context
1 就学前教育
2 初等教育
3 中等教育
4 高等教育
5 特別支援教育
6 職業教育
7 生涯学習
8 その他

ライセンスマスタ: master_licenseテーブル

ライセンスの体系と値を格納します。

フィールド名 データ型 制約
catalog character varying (100) not null
entry character varying (100)
  • unique (catalog, entry)

master_licenseテーブルのタプルの例を以下に示します。

catalog entry
CC BY-SA 3.0
CC BY-NC-SA 2.1 Japan
GNU Free Documentation License 1.3

品質マスタ: master_qualityテーブル

品質保証体系と値を格納します。

フィールド名 データ型 制約
catalog character varying (100) not null
entry character varying (100)
  • unique (catalog, entry)

セットマスタ: master_setテーブル

フィールド名 データ型 制約
setspec character varying (100) primary key
setname character varying (100) unique, not null