メタデータデータベースのスキーマ
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) |
|
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) |
|
セットマスタ: master_setテーブル
| フィールド名 |
データ型 |
制約 |
| setspec |
character varying (100) |
primary key |
| setname |
character varying (100) |
unique, not null |