加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 06:49:43 所属栏目:MsSql教程 来源:网络整理
导读:假设我的事实数据库至少填充了: fact1(A) :- !,A=ok.fact2(B) :- !,B=ok. 如何枚举此数据库中的所有事实?理想情况下,我有一个可以使用的谓词: ?- all_rules( Head :- Tail).Head=fact1(_G100),Tail=(!,_G100=ok) ;Head=fact2(_G101),_G101=ok)....followed
假设我的事实数据库至少填充了:
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通常仅适用于动态声明的谓词.

(编辑:李大同)

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

    推荐文章
      热点阅读