如何从Java webapp调用Prolog-predicate?

时间:2016-03-29 12:21:07

标签: java ffi swi-prolog

在我的Linux机器上,我开发了一个谓词(使用SWI-Prolog),我想通过webapp调用它。最好是我想将谓词作为一个独立于平台的单元提供,可以从任何基于java的应用程序服务器(Tomcat,Wildfly,Websphere?)调用它。 使用JPL,可以构建Prolog和Java之间的桥梁。我知道可以为谓词构建一个独立的可执行文件。

是否可以将所有需要的文件打包到WAR文件中,我应该尝试使用docker-technology还是有其他方法?

2 个答案:

答案 0 :(得分:2)

这里有一个Java Prolog连接库:

https://github.com/java-prolog-connectivity

它提供了Java和许多Prolog系统之间的统一接口。不幸的是,我不认为任何为其编写驱动程序的Prolog系统都是100%纯Java实现 - 因此您无法将整个内容打包到单个WAR文件中。

有大约100%的Java Prolog实现。例如:

https://www.gnu.org/software/gnuprologjava/

很高兴看到它的JPC驱动程序 - 检查还没有。

答案 1 :(得分:0)

您可以将mProlog用于与Web相关的项目。这是一款轻量级的Prolog引擎。 mProLog

您也可以根据需要编辑此引擎。我也坚持这一点,但SWI-Prolog无法支持java web [J2EE]环境。

但确定它会帮助你