Java Internet Prolog is a cross-platform pure Java 100% Prolog
interpreter which integrates Prolog and Java languages in a very easy
way. JIProlog allows to call Prolog predicates from Java without
dealing with native code (JNI) and allows to invoke Java methods from
Prolog in the same way you call predicates.
InterProlog is an open source Java front-end and functional enhancement for standard Prologs. InterProlog provides Java with the ability to call any Prolog goal through a PrologEngine object, and for Prolog to invoke any Java method through a javaMessage predicate, while passing virtually any Java objects and Prolog terms between both languages with a single instruction.
JPL is a set of Java classes and C functions providing an interface between
Java and Prolog. JPL uses the Java Native Interface (JNI) to connect
to a Prolog engine through the Prolog Foreign Language Interface (FLI),
which is more or less in the process of being standardized in various implementations
of Prolog. JPL is not a pure Java implementation of Prolog; it makes
extensive use of native implementations of Prolog on supported platforms.
The current version of JPL only works with SWI-Prolog.
JPL bridge Java and SWI-Prolog. It isn't a Prolog engine by itself.