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