ケーススタディ: SWI-Prolog ではどのようにデータベースレコードをモデル化するか (2010-01-30)
今回のケーススタディは SWI-Prolog のメーリングリストに最近投稿された [SWIPL] newbie question - how to model database records in swi-prolog and other questions についてです。
オンメモリのデータベースとして Prolog を使うのは由緒正しい利用方法だと考えられます。効率的なマッチに適したモデル化を求めている質問者に対し、いつものように開発者からすぐに返答されています:
- 属性の値に文字列でなく atom を使うこと
- サロゲートキーにあたる id を先頭に持つ fact を用いるのなら、reverse fact も併用すること
- レコードを登録する述語と問い合わせる述語に異なる構文を使うこと
- SWI-Prolog での record は term なので、リストよりもましだということ
- RDF データベースという選択肢
といった点が指摘されています。
また、この投稿のスレッドで続く
- FastBit という bitmap index の実装が特許になっている
- ニュージーランドやアメリカ、EU でのソフトウェア特許の話
といったポストも興味深いです。
© 2006-2023 fixedpoint.jp