それから現在のエジンバラ版(Dec10)のPrologではカンマが特権的な位置を占めてしまっていて、
オペレータ定義を駆使しても、

select id,data from foo というような表現できません。

select (id,data) from foo ならOKですが、これだとSQLの方で構文エラーになります。

本当にデータベースシステムと双方向に一体化するためには
エジンバラ版Prologを放棄した方がよいと思います。