如何在数据库中查找所有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通常仅适用于动态声明的谓词.(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |