如何在prolog中从数据库构建列表?

时间:2017-11-25 03:00:16

标签: database list prolog

我正在尝试构建一个列表,列出数据库中两个人的所有朋友。我遇到的问题是我陷入无限循环。这就是我到目前为止所做的。

is_friends(From,To):- friend(From,To).
is_friends(From,To):- friend(From,Z), is_friends(Z,To).

这是我正在使用的数据库,

friend(christian,margaret).
friend(christian,jas). 
friend(christian,todd).
friend(christian,ji).
friend(christian,geener).

friend(todd,christian).
friend(todd,susan).

friend(susan,todd).

friend(jas,christian).
friend(jas,geener).
friend(jas,clark).

friend(geener,christian).
friend(geener,jas).
friend(geener,ji).

friend(clark,pat).

friend(pat,mike).
friend(pat,clark).

friend(margaret,christian).

friend(ji,christian).
friend(ji,geener).

我想我想知道有没有办法让prolog记住我已经检查了一个数据库并可以转到下一个数据库?

这就是我的输出应该是什么样的

is_friends(From, To).
L = [christian, jas, clark).

0 个答案:

没有答案
相关问题