问题标签 [jpl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 在 jpl 中调用列表函数
我想知道是否有人设法使用了“列表”。JPL 中的命令来检查 Prolog 知识库的内容?JPL 要求您构建查询,并将根据您在查询中设置的变量返回解决方案。例如(Java):
我看不出这对于listing/0 或什至需要实例化输入的listing/1 是如何工作的。目前我正在玩形式的代码
它返回知识库中存在的函数:
答案:
但这还不够,因为没有返回任何目标。我想我需要的是一个函数(如果不能使用 JPL 调用列表函数),它作为变量返回谓词头以及必须满足的相关目标列表。不幸的是,我不熟悉列表功能的内部结构,所以我不确定如何去做。
提前致谢
java - 如何将我的 Java UI 连接到 JPL Prolog 应用程序?
我正在使用SWI-Prolog提供的JPL在 Java 中编写一个应用程序,以从 Java 调用 Prolog。
我使用 Eclipse 作为 IDE。我不知道如何开始我在网上找到的这个例子:
这里的java代码:
如果我直接从 Prolog 运行 Prolog 程序,它可以正常工作,并且当我从 Java 应用程序调用它时也一样。
我还可以在 Eclipse 控制台中看到输出,并且可以回答问题。
但是我想为用户和系统之间的交互构建一个Java UI,但是我不知道如何从Java中的Prolog中获取代码并将其放入UI中。
例如,如何从 Java UI 捕获输入并将其传递给 Prolog 代码?
java - 如何在通过 JPL 在 Java 应用程序内运行的 Prolog 代码上使用 GUI 调试器?
我正在通过 JPL 桥开发 Java+Prolog 应用程序。主应用程序是 Java 语言,它使用以下方法调用 Prolog 代码Query.oneSolution("doPrologStuff(here)")
我尝试使用运行 GUI 调试器/跟踪器,Query.hasSolution("gtrace")
但它引发异常:
(同样适用于“guitracer”)
当我直接运行 Prolog 代码时,调用gtrace.
效果很好swipl
。
当我尝试Query.hasSolution("trace")
时,它可以让我使用文本控制台调试代码,但这不是我想要的。任何想法如何启用 GUI 调试器?
我在 Ubuntu 上使用 Eclipse 进行开发,但如果有帮助,我可以尝试其他工具:)
java - 如何在 Ubuntu11.04 上使用 JPL 解决“符号查找错误”?
我正在用 Java 编写程序,我想连接到 Prolog。因此,我决定使用 JPL。在 Windows Vista 上使用 JPL 是完美的。后来,我不得不将操作系统平台更改为 Ubuntu 11.04。不幸的是,有一个错误:
符号查找错误:/usr/lib/swi-prolog/lib/i386/libjpl.so:未定义符号:PL_is_initialised
环境:
- Ubuntu 11.04
- Java 版本 1.6.0_24
- Eclipse 伽利略版本:3.5.2
- 适用于 i386 的 SWI-Prolog 版本 5.10.1
- Jpl (apt-get install swi-prolog-java)
- 家庭.java + 家庭.pl
我将工作步骤和问题解释如下。step1:使用 Synaptic 包管理器安装 swi-prolog + jpl
step2:运行Family.java,发现报错
step3:在VMarguments 处配置库路径 step4:再次运行,出现错误 /usr/lib/jvm/java-6-sun-1.6.0.24/bin/java: symbol lookup error: /usr/lib/swi-prolog /lib/i386/libjpl.so:未定义符号:PL_is_initialised step5 :我也配置了环境,但错误仍然相同。
我从互联网上搜索的步骤3和5中用于解决问题的方法。我找不到其他解决方案来尝试。有谁有想法吗?
提前致谢。
java - 尝试在 OS X 中使用 JPL 和 YAP Prolog 时引发异常
我正在尝试使用 JPL 进行 Java 程序和 YAP Prolog 的交互。
在我的 java 文件中,这一行抛出异常:
Query query = new Query("consult", new Term[] { new Atom("test.pl") });
异常如下所示:
虽然我没有发现有人在 YAP 中报告了同样的问题,但有些人在使用 SWI 时遇到了这个问题,建议他们验证 SWI 是在多线程支持下编译的。以防万一我编译了支持多线程的 YAP,但它没有帮助。
这个问题只发生在 OS X 中,我在 Ubuntu 中尝试过,一切正常。
有人知道 OS X 中这个问题的解决方法吗?
java - 将 SWI-Prolog 与 Eclipse 和 Java(以及 JUNG)一起使用:我应该使用 ProDT、PDT 还是两者都使用?
我想一起使用 SWI-Prolog、Eclipse 和 Java,我有两个相互关联的问题:
PDT 说它包括一个“使 Java 代码能够与 SWI-Prolog 交互的子系统”。我不知道这本身是否足够,或者我是否应该使用InterProlog、JPL或三者的某种组合。
背景
我想与使用JUNG作为其数据类型的现有 java 代码库进行交互,因此整齐地适合 java 对象层次结构可能很有用。(我想使用 JUNG 对象(例如树和图)作为我的域来应用约束——尽管如果需要,我愿意以迂回的方式执行此操作,即将 JUNG 对象映射到使用 SWI 可用约束模式更易于管理的数据类型。 )
我想部署到 PC 和 MAC,也想试用 SWI 的CHRrp 包。
prolog - 访问序言列表项
我一直在使用 jpl 从 java 调用 prolog。我在java中使用以下代码从prolog中获取X的值。
我的解决方案是——
我现在想做的是从解决方案中获取值 2 并将数字加倍。谁能帮助我如何处理?
java - 如何在java中处理序言列表
我正在使用 jpl 连接 java 和 prolog。我正在尝试处理 java 中的序言列表。执行时我的序言代码返回如下列表
现在我正在尝试使用以下代码在 java 中处理此输出
执行此操作,我们得到查询的第一个解决方案,即
而且我能够打印出列表的第一个元素“38”
同样,我无法处理列表中的所有元素。请帮我这样做?
java - 在 Eclipse 插件中显示第三方 JNI 库的控制台输出
我正在使用 JPL,一个用于与 Java 中的 Prolog 交互的 JNI 库。在我的应用程序中,重要的是查看 Prolog 引擎生成的输出(例如:加载 Prolog 文件、执行单元测试等时)。当我在独立的 Java 应用程序中使用该库时,就会发生这种情况。
但是,当我将我的应用程序打包为 Eclipse 插件时,我再也看不到 JPL 生成的输出(这样的输出来自 Prolog 引擎)。
有人知道是否有办法在 Eclipse 控制台中查看此输出?
提前致谢。