Metacat は LocalIDs を、オブジェクトを参照するコードの至る所で 使用しており、また LocalID は制約された構造になっていて 識別子の中にリビジョンに関する意味を含んでいるため、 それをより制約の少ない文字列型識別子にすっかり置き換えるには、 Metacat の大部分の書き換えが避けられない。 それゆえ、代替案として、Metacat の API に 識別子解決レイヤをかぶせて、制約のない GUID を Metacat 内部で使用する制約のあるローカル識別子に対応させる方法を 考えている。基本的な識別子テーブルモデルは図1 に示した。 図2 にはオブジェクト取り出しの基本戦略を示した。 オブジェクト作成は図3、オブジェクト更新は図4、オブジェクト消去は 図5である。
図 1. 識別子用のテーブル構造
GUID を用いてオブジェクトを読み出すのに必要な手順を示す。
図 2. オブジェクトを取り出すため、文字列型識別子 (GUIDs) を docids (LocalIDs) に変換するための基本操作
GUID を用いてオブジェクトを作成するのに必要な手順を示す。
図 3. オブジェクトを取り出すため、文字列型識別子 (GUIDs) を docids (LocalIDs) に変換するための基本操作
GUID を用いてオブジェクトを更新するのに必要な手順を示す。
図 4. オブジェクトを更新するため、文字列型識別子 (GUIDs) を docids (LocalIDs) に変換するための基本操作
GUID を用いてオブジェクトを削除するのに必要な手順を示す。
図 5. オブジェクトを削除するため、文字列型識別子 (GUIDs) を docids (LocalIDs) に変換するための基本操作