Prolog和java中的查询谓词
我想通过JPL在java中使用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
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文件