詳細/C-APIへのアクセス

Top > 詳細 > C-APIへのアクセス

現在、C-APIは公開されていませんが、at your own riskにて利用することは可能です。

GETAssocにおける連想計算ライブラリは、
libnwam.a (もしくはlibnwam.so) です。
libnwamが提供するいくつかの機能はGETA3.2uのライブラリにある同名のものと同一の機能を提供しますが、
同じ名前でも機能が異なるものも少なくないため、
全体としての互換性はありません。
また、仕様は研究の進展に伴い、変更されることがあります。

定義が変更されたデータ型

struct syminfo

メンバvが追加されました.これは、assvにベクトルを渡すためのものです。
wshを呼出す場合にはこのメンバを明示的にNULLにセットしなければなりません。

動作が異なる関数

wam_open

wam_initを呼ばない、もしくはwam_initにNULLを渡した場合、wam_openはこれまでより一つ余分に引数を受け取り、
それを$GETAROOTとして扱います。この余分の引数にNULLを渡すと、handleはパスとして扱われます。
絶対パス、相対パスのいずれも指定可能です。

引数が異なるが動作はほぼ同じ関数

wam_total_elem_num, wam_total_freq_sum, wsh

wam_total_elem_numおよびwam_total_freq_sumは、GETA3.2uでも第3引数はdon't careでしたが、
GETAssocでは、第3引数が省略可能になりました。
wshは、ユーザ利用のための引数(cookie)が追加されました。
ブール式や全文一致の問い合わせ式等もこのクッキーを利用して渡します。

大幅に変更された関数

bex_wsh, csb

ブール式のデータ構造が、bex_t から bxue_t に変更になりました。
csbは、HBC(階層的ベイジアンクラスタリング)しかできなくなりました。

GETA3.2uにしかない関数

GETAssocにしかない関数

assv, fssx, fss_wsh, wam_update, wam_rename, wam_drop

assvは、wshの高機能版で、任意のベクトルを受け取ることができます。
fssxは全文一致検索、
fss_wshは全文一致検索で制約をかけた上での連想計算機能です。
wam_updateは、既存もしくは新規のWAMに記事を追加したり、既存のWAMから記事を削除します。
wam_rename, wam_dropはそれぞれWAMの名前変更、削除を行います。
これらは、非分散版では、ディレクトリの名前変更、削除とほぼ同じです。

gss3

gss3を処理する関数群はライブラリ化されておらず、getassocに直接組込まれています。
コードの大部分は、gss3.q(またはgss3.c)に集約されていますから切り出しは可能ですが、
libnwamもしくはGETA32uに強く依存していることに注意してください。

参考になるコード

xgetassoc.c、gss3.qが参考になるでしょう。

最終更新日: 2014-12-09 (火) 18:25:46 (931d)

このページをブックマーク:

このページのURL(コピペして利用下さい):

TOP