加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 数据库 > MsSql > 正文

如何在数据库中查找所有prolog规则

发布时间:2020-05-24 11:59:09 所属栏目:MsSql 来源:互联网
导读:假设我的事实数据库至少填充了: fact1(A) :- !, A=ok.fact2(B) :- !, B=ok. 如何枚举此数据库中的所有事实?理想情况下,我有一个可以使用的谓词: ?- all_rules( Head :- Tail).Head=fact1(_G100),Tail=(!, _G100=ok) ;Head=fact2(_G101),Tail=(!, _G101=ok)

假设我的事实数据库至少填充了:

fact1(A) :- !,A=ok.
fact2(B) :- !,B=ok.

如何枚举此数据库中的所有事实?理想情况下,我有一个可以使用的谓词:

?- all_rules( Head :- Tail).
Head=fact1(_G100),Tail=(!,_G100=ok) ;
Head=fact2(_G101),_G101=ok)
....followed by all other predicates in other modules loaded...

我找到了current_predicate/1,但我无法弄清楚这是在做什么……

解决方法

这取决于您使用的精确Prolog系统.只要您想查看定义,列出/ 0就可以在许多系统中使用.但是列表/ 0只打印文本.子句/ 2通常仅适用于动态声明的谓词.

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读