タギングシステムとタクソノミーシステム
ここでのタグはブログエントリーとかブックマークエントリーとかに付く文字列のこと。
タグ付け(=タギング)する対象であるモノをアイテムと呼び、アイテムの全体をアイテム空間と呼ぶ。アイテム空間はひとつだけ想定する。タグ空間は複数あってもよい。
複数タグ空間システムでは、タグ空間を識別する名前も必要で、それをタグ空間名と呼ぶ。タグ空間名で修飾されたタグ名を foo:bar の形で書く。barはタグのローカル名と呼ぶ。異なるタグ空間に属する名前(タグ名)はローカル名が同じでも異なる。例えば、"俳優:クリント・イーストウッド"と"監督:クリント・イーストウッド"は違う。
Hugoでは、複数タグ空間タギングシステムをタクソノミーシステムと呼んでいる。
- タグ空間 = タクソノミー
- タグ = ターム
- アイテム = バリュー = コンテンツ
という名前を使っているが、Hugoの用語法はいらんと思う。
アイテム空間の部分集合をアイテムセット、タグ空間の部分集合をタグセットと呼ぶ。共通部分がない部分集合は直交しているという。
複数タグ空間は、互いの共通部分が空なので、直和を作ると単一タグ空間になる。タグ名が構造化された単一タグ空間と同じ。複数タグ空間をマージ(直和構成)したとき、もとのタグ空間達は直交することが保証される。
- tがタグのとき、items(t)はtをタグに持つアイテムセットのこと。
- aがアイテムのとき、tags(a)はaに付いているタグのタグセットのこと。
アイテム空間をItem、タグ空間をTagとすると、items(t)⊆Item, tags(a)⊆Tag。
タギングシステムの機能
- クエリー式: タグをアイテム空間上の単項述語だと思って作った論理式をクエリー式と呼ぶ。クエリー式の値は真偽ではなくてアイテムセット。
- 仮想タグ: クエリー式をタグとみなしたもの。
- 抽象タグ: 直接はアイテムに付与できないタグ。
- タググラフ: タグ空間上の有向グラフや色付き有向グラフ構造。
- タグ関連: タグ空間上の関係。タググラフでも表現できる。
- 引数付きタグ: スカラー型の引数を持つタグ
- メタタグ: タグ空間をアイテム空間としてのタグ。メタメタタグなども考えられる。
- システムタグ: タグ名が予約されていて、その名前をシステムが理解して、動作に影響を与えるタグ。システムメタタグ、システムメタメタタグもある。
- レイフィケーション: タグやタグ空間をアイテム空間に埋め込むこと。
- タギングAPI: タギングシステムを操作するAPI