我正在尝试将 Prolog 文件作为模块进行咨询,因为 jpl 不支持多个 prolog vm。
在 swipl 控制台中,我可以成功地做这样的事情
?- consult(mod1:'data/load.pro') .
在java中(嗯,它实际上是scala,但它们都在jvm之上),我可以直接查阅文件而没有问题
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>)
....
任何人都可以指出我在 jpl 中将 prolog 文件作为模块咨询的正确方法吗?谢谢!