我想咨询下Prolog的文件作为一个模块,因为JPL不支持多个虚拟机序言。
在swipl控制台,我可以做这样的事情成功
?- consult(mod1:'data/load.pro') .
在java中(当然,它实际上是斯卡拉,但他们都在JVM之上),我可以咨询文件直接W / O问题
scala> import jpl._
scala> val q = new Query("consult", Array[Term](new Atom("data/load.pl")))
scala> q.query()
...
true
然而,当我试图把文件作为协商模块,我总是得到的异常。
scala> val q = new Query("consult", Array[Term](new Atom("mod1:data/load.pl")))
scala> q.query()
jpl.PrologExcepion: PrologException: error(existence_error(source_sink, 'mod1:data/load.pl'), _0)
at jpl.Query.get1(Query.java:336)
at jpl.Query.hasMoreSolutions(Query.java:258)
at jpl.Query.oneSolution(Query.java:688)
at jpl.Query.query(Query.java:747)
at .<init>(<console>:15)
at .<clinit>(<console>)
....
任何人都可以点我在喷气推进实验室的咨询序言文件模块的正确方法是什么? 谢谢!