enhERモデリング

enhanced ER modeling は、FRBR や IFLA Library Reference Model〈IFLA LRM〉で使われているモデリング手法。これを余代数と関係の多圏を使って定式化すれば、ハイパーメディアの定式化になる。ブリットはハイパーメディアの一種。

  1. トークンは、なんらかの構文規則で決められた文字列の集合の要素。
  2. 関係空間は、多関係の多圏の多ホムセット
  3. 関係のプロファイルは、多圏の多プロファイル。バンチを使って記述する。シーケントと同じ。テーブルスキーマと言ってもいい。
  4. 関係は、関係空間の要素。つまり、多圏の多射。テーブルと言ってもいい。
  5. スキーマは、インターフェース、指標と同じ。location, time, state を隠蔽ソートとして持つ。ECMAScript仕様と同様に、[​[location]], [​[time]], [​[state]] と書く。
  6. 隠蔽ソートを持つ指標は余代数を定義する。余代数の台空間が状態空間。
  7. スキーマ=指標は、データメンバーと関数メンバー(C++では「メンバー関数」)と法則メンバーに分かれる。
  8. データメンバーをプロパティ、関数メンバーをメソッド、法則メンバーを制約とも言う。
  9. スキーマはプロパティしか定義してないことが多い。
  10. スキーマをAPI仕様とも呼ぶ。
  11. スキーマ=指標の実装である余代数を実装クラスと呼ぶ。$`C \models \Sigma`$ と書く。
  12. 実装クラスの台集合である状態空間(時空含む)をクラスインスタンスのオブジェクトと呼ぶ。オブジェクトは所属する実装クラスがなくてもいいし、複数あってもよい。
  13. オブジェクトの型は固定しない。ファセットとして考える。ファセットとは、オブジェクトとスキーマの組 (o, Σ) で、∃C.(o instance-of C, C model-of Σ) であること。
  14. ファセットは、o : some Σ と書いても同じ。some はイプシロン型を示す。Σ が o のファセットであるともいう。この意味のファセットは、指標=スキーマ のこと。
  15. 複数の指標にconformするオブジェクトをマルチファセット・オブジェクトと呼ぶ。
  16. 我々が扱うオブジェクトはマルチファセットである。
  17. オブジェクトのプロパティは適当なファセットのもとで属性リンクに分類できる。
  18. リンクの値はスカラー値だが、リゾルバにより、他のオブジェクトを指示する。
  19. あるファセットのもとでリンクとみなせるスカラー値をポインター値と呼ぶ。
  20. リゾルバも関係に過ぎない。つまり、リゾルバも射。
  21. インターフェースの調整をする射をアダプターと呼ぶ。アダプターも射。
  22. スキーマ達は継承グラフを持つ。継承も射となり、おそらく二重圏の射〈縦射〉だろう。
  23. プロファイル〈シーケント〉の変形で、カリー化に基づくものをカリー変形と呼ぶ。
  24. なにかを分類するシステムを分類システムと呼ぶ。
  25. 分類に使うトークンを分類子〈classifier〉と呼ぶ。
  26. オブジェクトの分類は様々な分類システムで行う。様々な分類子が付く。分類子のトークンは修飾付きトークンにする必要がある。修飾部は接頭辞とも呼ぶ。
  27. MIMEメディアタイプは分類システムの例で、MIME分類システムと呼ぶ。
  28. MIME分類システムもスキーマ達を定義するので、スキーマライブラリと言ってよい。
  29. 分類システムとスキーマライブラリと分類子のトークン構文は通常一体化している。
  30. 型システムも分類システムであり、分類子のトークン構文を持っている。
  31. 接頭辞をURIにするマッピングも関係である。
  32. 関係〈多関係〉の圏では、指数があるが、指数と直積が一致する。
  33. 指数とは別にレイフィケーションがある。多ホムセット (A → B) のレイフィケーションを 〈(A → B)〉 と書くことにする。指数 [A → B] と多ホムセットのレイフィケーション 〈(A → B)〉 はまったく違う
  34. リゾルバによりショートカットを作ることを脱参照または解決と呼ぶ。多圏の多結合に他ならない
  35. リンクか属性かはファセットに相対的。あるファセットでリンクを持ち、リンクのリゾルバが指定されているとき、そのファセット付きオブジェクトは、ハイパーオブジェクトであるという。
  36. あるファセットではハイパーオブジェクトだが、別なファセットではスレートオブジェクト(リンクを持たないオブジェクト)のことがある。ポインター構文が決まっていても、リゾルバがないと解決できない。異なるリゾルバでは解決の結果も異なる。
  37. オブジェクトの属性の一部は、なんらかの分類システムの分類子を値に持つかもしれない。どれが分類子であるかもファセットであるスキーマに依存する。
  38. 型付き値とファセット付きオブジェクトが基本的な存在物。