问题标签 [xsb]

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 投票
1 回答
429 浏览

eclipse - 对于 XSB prolog,关于错误

无论是什么简单的代码,我都在使用 Eclipse IDE 在 Xsb prolog 中运行,它向我显示如下错误:

++Error[XSB/Runtime/P]: [存在(无程序 usermod : demo / 1 存在)] []

前进继续...

给我解决方案,如果有人知道这一点。

0 投票
0 回答
1055 浏览

prolog - 从 OWL 到 Prolog 代码

我有一个猫头鹰本体,我会使用 prolog 规则和 XSB 进行推理。我知道 THEA 库有助于将 owl 代码转换为 prolog,但没有可用的示例。那么任何人都可以帮助我。提前致谢。

0 投票
0 回答
73 浏览

prolog - 将 DTD 映射到 Datalog 程序

谁能帮我写一个相当于给定DTD的Datalog程序。

DTD:

在将 dtd 转换为相应的数据记录程序时,我们还需要遵循任何特定规则吗?

0 投票
0 回答
33 浏览

prolog - XSB 错误#126 加载 pcre dll

我在带有 Pro-DT 的 Eclipse 中使用 Win64 XSB。

尝试使用 pcre 时加载本机库时出错:(第一次使用时它也编译没有错误。)

我检查了一下,有问题的 DLL 位于 XSB.exe 旁边的当前配置目录中。我需要改变什么吗?抱歉,如果这是一个常见的/RTFM 问题——只是习惯了。

看起来 StackOverflow 没有太多的 XSB 活动——任何其他资源,或者邮件列表是首选论坛?

谢谢

0 投票
1 回答
4519 浏览

string - Prolog:要列出的字符串

我有一个要转换为列表的字符串:

我需要它以列表格式将其传递给成员规则。当我直接将它传递给成员规则时,它会作为一系列数字传递,我认为这是它们的字符代码,但我想要实际的字符。如何将其放入列表中,然后将其与规则一起使用。我是 Prolog 的新手,所以我将不胜感激。

0 投票
1 回答
103 浏览

path - 如何在 Cygwin 上运行 XSB?

我试图在 cygwin64 上运行 xsb

$PATH

如何在 cygwin 上运行 xsb?你能帮助我吗。

0 投票
1 回答
664 浏览

graphviz - Mulval:安装设置

我正在尝试按照此文档在我的机器上安装 mulval:

http://people.cis.ksu.edu/~xou/argus/software/mulval/readme.html

但是,我不确定如何更改 XSB、dot 和 Mulval 的路径。当我尝试运行“make”时出现以下错误:

对完成此安装有任何帮助吗?

提前致谢!

0 投票
2 回答
54 浏览

xsb - 带有 clpr 约束的 XSB Prolog 元解释器问题

我在我的 Mac (El Capitan 10.11.2) 上运行 XSB Prolog:XSB 版本 3.6。(Gazpatcho) 2015 年 4 月 22 日 [i386-apple-darwin15.2.0 64 位;模式:最优;引擎:slg-wam;调度:本地] [构建日期:2016-01-17]

我正在使用 clpr 包并想编写一个小元解释器:

但是,try({X=1+2})不起作用——它与第四个子句不匹配,并下降到第五个子句。

知道为什么吗?

0 投票
0 回答
48 浏览

c - 使用 XSB Prolog 的 C API(嵌入式)的子查询

我有一个嵌入 XSB Prolog 以用作约束求解器的程序 (C++)。我已经使用低级 C API 编写了代码来注入事实和运行查询。但我陷入了一个特定的问题。

我想(出于调试目的)运行查询,然后将查询统一的每个术语输出到流中。为了确保输出很好,我认为使用 的输出string:term_to_atom/2来生成字符串会很好。

所以,我想把查询词放在寄存器 1 中,运行xsb_query(),然后运行string:term_to_atom/2结果。但是运行string:term_to_atom/2本身就是一个查询,你不能xsb_query()在查询中间运行。

我尝试使用xsb_query_save(),希望我可以做一个子查询,然后是xsb_query_restore(),但这似乎不起作用。对我的子查询的调用仍然失败,因为已经有一个查询正在进行中。

我考虑过保存一个使用withp2p_new()统一创建的变量向量,但我不知道这些术语如何或何时会被垃圾收集,因为我认为 XSB Prolog 无法知道我的 C 程序正在使用它们。(除非我应该在处理完他们后给他们打电话给无证人员?)p2p_unify()reg_term(1)p2p_deref()

最后,我想在单个查询中执行此操作(如果可能),以避免将命名空间与临时规则混淆。但也许我太努力了,我应该完全使用另一种方法。想法?

0 投票
1 回答
901 浏览

prolog - 已定义谓词时的xsb“无过程usermod”

所以在我的文件中我有

直接在命令行中运行它会给出

但是加载文件本身并运行该函数会出错

知道为什么会这样以及如何解决这个问题吗?文件中的其他谓词也会发生这种情况。