CHISE DB の構造 (Re: 素性メタデータ)
守岡知彦 / MORIOKA Tomohiko
tomo @ kanji.zinbun.kyoto-u.ac.jp
2003年 10月 6日 (月) 17:42:08 JST
>>>>> In [chise-ja : No.00236]
>>>>> "守岡" = tomo @ kanji.zinbun.kyoto-u.ac.jp (守岡知彦 / MORIOKA
Tomohiko) wrote:
守岡> また、文字素性と同様に文字素性の属性も CHISE DB に格納するのが良
守岡> いと思います。この形式をどうするかでずっと悩んでるのですが、現在
守岡> の所、char-db/metadata/ の中に文字素性の属性名をファイルとする
守岡> Berkeley DB 形式のファイルを置くというのが良いんじゃないかと思っ
守岡> ています。ここで、この DB ファイルのキーは文字素性名で値は素性属
守岡> 性値とします。
守岡> 文字素性の定義を S 式なり XML なり STD 11 風なりに、1素性1ファ
守岡> イルのplain text にするということも考えられますが、複数の文字素
守岡> 性の情報を次から次へと開いたり、条件に合致した文字素性を捜し出す
守岡> ような時にこそこの種の情報が役立つ気がするので、そうしたことを考
守岡> えると、上述の案が良いのではないかと思います。また、既存の文字素
守岡> 性の扱いとの対称性もあります。
守岡> それから、type など文字素性属性の定義をどう書くかなんですが、ま
守岡> だ考えてません。抜本的に再設計した方が良いのかも。
考え直して、以下のファイル構成を提案します:
・文字 → 素性値
$CHISE-ROOT/character/feature/<name>
但し、<name> は素性名
例:文字素性 ideographic-radical
/usr/local/lib/chise/db/character/feature/ideographic-radical
・素性値 → 文字
$CHISE-ROOT/character/by-feature/<name>
但し、<name> は素性名
例:CCS =cbeta の decoder
/usr/local/lib/chise/db/character/by-feature/=cbeta
・文字素性 → 属性値
$CHISE-ROOT/feature/property/<name>
但し、<name> は属性名
例:文字素性属性 :type
/usr/local/lib/chise/db/feature/property/type
・属性値 → 文字素性
$CHISE-ROOT/feature/by-property/<name>
但し、<name> は属性名
例:final-byte から CCS 名への対照表
/usr/local/lib/chise/db/feature/by-property/ccs-final-byte
なお、現在との差は、
文字素性
$CHISE-ROOT/system-char-id/<name>
↓
$CHISE-ROOT/character/feature/<name>
CCS decoder
$CHISE-ROOT/<name>/system-char-id
↓
$CHISE-ROOT/character/by-feature/<name>
となります。
また、alias に関しては、素性属性 :true-name を用いて解決しようと思って
います。例えば、XEmacs CHISE で
(define-charset-alias 'ideograph-gt '=gt)
とした場合、文字素性 ideograph-gt の属性 :true-name に =gt という値が
入ることとします。これにより、属性 :true-name の有無で alias かどうか
が判り、alias の場合には :true-name の値によって本名を調べることができ
ます。
--
===『幾千億の分子に分かれても ========================================
決して忘れない。
この宇宙が終るまで』 守岡 知彦 (MORIOKA Tomohiko)
====================== Email: <tomo @ kanji.zinbun.kyoto-u.ac.jp> ======
More information about the CHISE-ja
mailing list