Kappa/src/add_utl/kp_schema.kl1のget/2に、以下のようにスキーマが定義 されている。
スキーマmeibo_historyは、名簿の変更履歴をとっておくために必要で、 スキーマmeiboとの違いは、idに、key(table)が含まれていないことである。
スキーマmeibo_idは、登録されたメンバーのidの一意性を保つために 定義されている。
get(meibo, Schema):-
Schema = meibo(primitive,{
id(single,[type(string),key(table),access(indexed),null_value(not_allowed)]),
name_j(single,[type(string),access(indexed)]),
name_e(single,[type(string),access(indexed)]),
name_for_search(set,[type(string),access(indexed)]),
name_for_sort(single,[type(string),access(indexed)]),
prefix(single,[type(string)]),
icot(single,[type(string)]),
nation_code(single,[type(string),access(indexed)]),
home(single,{
home_address(single,[type(string),access(indexed)]),
sub_home_address(single,[type(string)]),
home_telephone(single,[type(string),access(indexed)]),
home_fax(single,[type(string)])}),
organization(single,{
organization_section(single,[type(string),access(indexed)]),
organization_address(single,[type(string),access(indexed)]),
organization_code(single,[type(string),access(indexed)]),
organization_title(single,[type(string)]),
organization_telephone(single,[type(string)]),
organization_fax(single,[type(string)]),
organization_e_mail(single,[type(string),access(indexed)]),
organization_telex(single,[type(string)])}),
wg_info(set,[type(string),access(indexed)]),
organization_kind(single,[type(string),access(indexed)]),
error_info(single,[type(string),access(indexed)]),
info1(set,[type(string),access(indexed)]),
info2(single,[type(string),access(indexed)]),
source(set,[type(string),access(indexed)]),
version(single,[type(integer),access(indexed)]),
date(single,[type(string)]),
user(single,[type(string),access(indexed)]),
remarks(set,[type(string),access(indexed)])},[],nil).
get(meibo_history):-
Schema = meibo_history(primitive,{
id(single,[type(string),access(indexed),null_value(not_allowed)]),
name_j(single,[type(string),access(indexed)]),
name_e(single,[type(string),access(indexed)]),
name_for_search(set,[type(string),access(indexed)]),
name_for_sort(single,[type(string),access(indexed)]),
prefix(single,[type(string)]),
icot(single,[type(string)]),
nation_code(single,[type(string),access(indexed)]),
home(single,{
home_address(single,[type(string),access(indexed)]),
sub_home_address(single,[type(string)]),
home_telephone(single,[type(string),access(indexed)]),
home_fax(single,[type(string)])}),
organization(single,{
organization_section(single,[type(string),access(indexed)]),
organization_address(single,[type(string),access(indexed)]),
organization_code(single,[type(string),access(indexed)]),
organization_title(single,[type(string)]),
organization_telephone(single,[type(string)]),
organization_fax(single,[type(string)]),
organization_e_mail(single,[type(string),access(indexed)]),
organization_telex(single,[type(string)])}),
wg_info(set,[type(string),access(indexed)]),
organization_kind(single,[type(string),access(indexed)]),
error_info(single,[type(string),access(indexed)]),
info1(set,[type(string),access(indexed)]),
info2(single,[type(string),access(indexed)]),
source(set,[type(string),access(indexed)]),
version(single,[type(integer),access(indexed)]),
date(single,[type(string)]),
user(single,[type(string),access(indexed)]),
remarks(set,[type(string),access(indexed)])},[],nil).
get(meibo_id, Schema):-
Schema = meibo_id(primitive,{id(single,[type(integer)])},[],nil).