问题标签 [swi-prolog]
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.
prolog - 检查原子是否为小写字母
我这样做是这样的:
有没有一种方法感觉不像是一种工作方式?
exception - HOWTO catch timeout exception in Prolog
I want to limit "executing" of algorithm in prolog. Can you give me a hint, how to do it? I have found this predicate: call_with_time_limit How can I catch the time_limit_exceeded exception? Thanks
UPDATE:
I am trying it this way:
but noting happend when I call timeout(1):
but when I do it this way:
and again call timeout(1) everything is fine. Why? Thanks UPDATE 2:
Problem solved, it is necessary to have predcate "argument" with upper case...
prolog - 断言和撤回以模拟全局变量
我这样做是为了模拟全局变量:
还有其他方法吗?(除了将变量作为参数传递之外)。不一定更有效率,我只是好奇。
prolog - 在 SWI-Prolog 中聚合谓词
我需要计算所有X
持有some_predicate(X)
的东西,而且确实有很多这样的X
. 最好的方法是什么?
第一条线索是findall
,累积到一个列表并返回列表的长度。
(permutation/2
只是一个虚拟占位符,表明有很多结果并且计算计数的方法很糟糕)
显然,对于真实数据,会有堆栈溢出。
然后,我试图用 替换findall
,setof
但无济于事。
最后,我找到了 [ aggregate
][1] (可点击的)谓词系列,并尝试使用aggregate/3
and aggregate/4
:
一切都错了,我想。我需要得到这样的东西:
我究竟做错了什么?
我如何声明一个谓词来计算正确的答案?[1]:http ://www.swi-prolog.org/pldoc/doc/home/vnc/prolog/lib/swipl/library/aggregate.pl
user-interface - Logtalk 和 XPCE
可以同时使用 XPCE 和 Logtalk 开发应用程序,还是类系统在某些方面不兼容?
python - 从python调用prolog谓词
我有一些.pl
文件,我想从 python 脚本调用在其中声明的谓词。我怎样才能做到这一点?
例如,test.pl
像这样工作
我想以rD
某种方式从 python 脚本调用并在结果变量中得到答案
ps:这只是一个例子,我不想重写我现在的Prolog程序。
prolog - 寻找 SWI-prolog 的记录库示例
我正在寻找记录库的示例用途(或教程)
http://www.cs.fit.edu/~pkc/classes/ai/swi-prolog/Manual/record.html
对于我可以用作模板的 SWI-prolog。你有什么指示吗?
谢谢,
SetJmp
prolog - 如何在 Prolog 中加载文件?
我有一个文件,名称:“file1.pl”在 c:/。
现在我想将文件加载到prolog中,然后询问有关我定义的过程和关系的查询。
据我了解,我需要做下一个步骤:
文件-> 编辑。
文件 -> 重新加载修改过的文件。
文件 -> 导航器查看文件和程序。
当我执行这些步骤时,什么都没有发生。当我问这个查询时,它给了我下一个问题:toplevel: Undefined procedure: blabla/2 (DWIN couldnt correct goal)
谢谢你。
prolog - 如何使用 SWI-Prolog 的语义网络库查询 RDF/OWL?
如何使用 SWI-Prolog Semantic Web Library 查询 OWL/RDF 文件并提取一些信息?
OWL/RDF 文件包含有关所有 Debian 软件包的信息,因此我需要进行查询以查找软件包依赖项。
例如:
OWL 文件的结构如下:
如何将 OWL/RDF 文件加载到 Prolog 脚本中,以及在 Prolog 脚本中进行查询以使我将 A 作为参数并且脚本输出 B 和 C 的语法是什么?
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中用于解决问题的方法。我找不到其他解决方案来尝试。有谁有想法吗?
提前致谢。