问题标签 [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.
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 中返回“无法将整个字符串读取为一个术语” - 谁能告诉我为什么会发生这种情况?
附录: 使用的代码:
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
iso-prolog - 警告:谓词 =/2 未知
我正在尝试将为 SICStus Prolog 编写的文件传输到 TuProlog。
我收到错误消息:
警告:谓词 =/2 未知。
(代码在 SICStus 中有效,但在 TuProlog 中无效)。
我应该用什么代替=/2
TuProlog?语法有什么区别?
java - 如何让 TuProlog 识别无效事实?
我有以下两个 Prolog 文件:
本体.pl:
无效文件.pl:
invalidFile.pl
是无效的,因为它违反了ontology.pl
所有GuestPostId
s 必须是唯一的规则。
当我将该数据加载到我的引擎中时,我除了抛出一些异常,表明数据无效。但事实并非如此。
我究竟做错了什么?如何确保当我向TuProlog引擎提供无效数据时,我会收到某种通知(例如异常或某些标志)?
这是我的代码的相关片段(您可以在此处找到整个代码):
prolog - 如何在 Prolog 中编写键值对?
想象一下,我有以下谓词,它指出 IDloc1
指定了一个位置。
我想为第二个文本 ( Location 1
) 提供翻译,即键值对,例如en='Location 1', de='Ort 1', ru='Местоположение 1'
.
在 Prolog 中编码此类数据的正确方法是什么,尤其是 TuProlog(以及理想的标准化 Prolog)?
下面的符号可以在 SWI Prolog 之外工作吗?
java - tuProlog - 使用多个文件进行咨询 - 无法让引擎通过咨询加载其他文件(otherFile.pl)
编辑:清晰 - 加载主 .pl 文件,它是所有被告知加载但不加载的子文件。(所有的咨询('subfile.pl')。)
我有一个使用 tuProlog 的 Java 项目。它把一个理论称为:
这是按照手册。file.pl 与其他 prolog 文件位于同一文件夹中。在 main.pl 里面,我还有更多
加载附加文件的语句(几个)。
文件夹结构为:
我无法让引擎加载我告诉它在主 file.pl 内部咨询的理论
- 我试过:给它绝对路径,而不仅仅是文件名。
- 四处移动文件。
我想知道 tuProlog 的使用是否有什么我不理解的地方?
该理论在加载时有效:
但是,这在构建 jar 时引起了我的问题,因为它找不到文件位置。
我是否尝试正确加载文件?我在主 .pl 文件中的咨询是否正确?
有人可以发布一个例子,如果没有,应该如何做?该手册没有详细说明这个主题。
谢谢