问题标签 [tuprolog]

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.

0 投票
2 回答
470 浏览

java - Prolog/tuprolog,单行返回 'The enitire [sic] string could not be read as one term'

tl:dr - 我有一行 prolog,在一个版本的 Prolog (SWI) 中运行良好,但在另一个版本 (TuProlog) 中运行良好。

我正在将脚本从 SWI prolog 移植到 Tuprolog。(TuProlog 最近做了一个大更新,我在两个版本上都得到了相同的行为)

当我使用下面的 java 设置将脚本放入 TuProlog 时,我收到错误“无法将整个字符串读取为一个术语”。

所以我减少了脚本(有效地使用二进制搜索),直到我将脚本减少到:

虽然 swipl 很好,但输出如下......

但仍然在 Tuprolog 中返回“无法将整个字符串读取为一个术语” - 谁能告诉我为什么会发生这种情况?

附录: 使用的代码:

0 投票
1 回答
188 浏览

prolog - tuprolog 语法错误。-1 行/之前的语法错误

我是序言的新手。我在 swi-prolog 上通常有一个 .pl 文件咨询,但是当我在 tu-prolog 上咨询它时,总是会发生疯狂的事情。这是我的部分代码。

当我在 tu-prolog 上查阅它时,它在第 12219 行/之前说语法错误,这是上面的第三行。它在 swi-prolog 上运行良好。然后我想可能+有问题,所以我把它改成了这个。

这一次,它在 -1 行/之前表示语法错误。我真的不明白,-1 行是什么意思。名为 swi2tu.pl 的 .pl 位于https://drive.google.com/folderview?id=0B4KCEwRVmr_yWjQwOEp3LWpYdk0&usp=sharing

0 投票
0 回答
91 浏览

iso-prolog - 警告:谓词 =/2 未知

我正在尝试将为 SICStus Prolog 编写的文件传输到 TuProlog。

我收到错误消息:

警告:谓词 =/2 未知。

(代码在 SICStus 中有效,但在 TuProlog 中无效)。

我应该用什么代替=/2TuProlog?语法有什么区别?

0 投票
2 回答
125 浏览

java - 如何让 TuProlog 识别无效事实?

我有以下两个 Prolog 文件:

本体.pl:

无效文件.pl:

invalidFile.pl是无效的,因为它违反了ontology.pl所有GuestPostIds 必须是唯一的规则。

当我将该数据加载到我的引擎中时,我除了抛出一些异常,表明数据无效。但事实并非如此。

我究竟做错了什么?如何确保当我向TuProlog引擎提供无效数据时,我会收到某种通知(例如异常或某些标志)?

这是我的代码的相关片段(您可以在此处找到整个代码):

0 投票
1 回答
1168 浏览

prolog - 如何在 Prolog 中编写键值对?

想象一下,我有以下谓词,它指出 IDloc1指定了一个位置。

我想为第二个文本 ( Location 1) 提供翻译,即键值对,例如en='Location 1', de='Ort 1', ru='Местоположение 1'.

在 Prolog 中编码此类数据的正确方法是什么,尤其是 TuProlog(以及理想的标准化 Prolog)?

下面的符号可以在 SWI Prolog 之外工作吗?

0 投票
1 回答
100 浏览

java - tuProlog - 使用多个文件进行咨询 - 无法让引擎通过咨询加载其他文件(otherFile.pl)

编辑:清晰 - 加载主 .pl 文件,它是所有被告知加载但不加载的子文件。(所有的咨询('subfile.pl')。)

我有一个使用 tuProlog 的 Java 项目。它把一个理论称为:

这是按照手册。file.pl 与其他 prolog 文件位于同一文件夹中。在 main.pl 里面,我还有更多

加载附加文件的语句(几个)。

文件夹结构为:

我无法让引擎加载我告诉它在主 file.pl 内部咨询的理论

  • 我试过:给它绝对路径,而不仅仅是文件名。
  • 四处移动文件。

我想知道 tuProlog 的使用是否有什么我不理解的地方?

该理论在加载时有效:

但是,这在构建 jar 时引起了我的问题,因为它找不到文件位置。

我是否尝试正确加载文件?我在主 .pl 文件中的咨询是否正确?

有人可以发布一个例子,如果没有,应该如何做?该手册没有详细说明这个主题。

谢谢