私はJavaでアプリケーションに取り組んでおり、その機能の一部として複雑な論理ルールの推論を行う必要があります。結果として得られるコードは非常に単純で保守しやすいものになると信じているため、Java の代わりに Prolog やその他の論理/制約プログラミング言語で論理演繹をコーディングしたいと考えています。
Prolog に埋め込まれた Java の実装を探してみたところ、多数の実装が見つかりましたが、それぞれのドキュメントはほとんどありませんでした。私の(控えめな)選択基準は次のとおりです。
- Java に組み込むことができる必要があります (たとえば、外部プログラムのネイティブ インストールを必要とする代わりに、私の Java パッケージにバンドルすることができます)。
- Java から使用するシンプルなインターフェース (推論の開始、結果の検査、およびルールの追加用)
- それを使用する方法に関する少なくともいくつかの例が付属しています
- 必ずしも Prolog である必要はありませんが、上記の基準を持つ他のロジック/制約プログラミング言語も私のニーズに合っています。
どのような選択肢があり、その利点と欠点は何ですか?