Prolog和java中的查询谓词

Prolog和java中的查询谓词,java,prolog,swi-prolog,jpl,Java,Prolog,Swi Prolog,Jpl,我想通过JPL在java中使用Prolog进行查询,我想在java中调用如下谓词: predicate_test([X,Y,Z]):- a_predicate(X), another_predicate(Y). 我用java查询invoque“predicate_test”,如下所示: Query q4=null; try{ q4 = new Query("predicate_test(Percept)."); System.o

我想通过JPL在java中使用Prolog进行查询,我想在java中调用如下谓词:

predicate_test([X,Y,Z]):-
     a_predicate(X),
     another_predicate(Y).
我用java查询invoque“predicate_test”,如下所示:

   Query q4=null;
    try{
        q4 = new Query("predicate_test(Percept).");
        System.out.println(q4.query());
    }
    catch(PrologException pl){

        System.out.println(pl.getMessage());
    }
我从catch块得到这个消息

PrologException: error(existence_error(predicate_test, /(schedule, 1)), context(:(system, /('$c_call_prolog', 0)), _37))
我的方法有什么问题


提前感谢

您如何定义您试图在查询中使用的谓词?@ScottHunter'predicate\u test'只有上面所示的定义,还有什么需要添加的吗?对不起,我的意思是predicate\u test如何被断言到Prolog中,以便您的查询可以使用它?如果它不在那里,它会解释为什么你的查询找不到它。@ScottHunter谢谢,这就是问题所在,我没有正确调用我的prolog文件