在Prolog中使用不等于运算符

时间:2016-12-28 10:28:41

标签: prolog

在Prolog中我的事实如下。

flows(godavari,andhra).
flows(krishna,telangana).
flows(krishna,andhra).

我想构建一个查询,以查找流经andhra但不在telangana中的河流列表。

我试过

fl(X,Y,Z):- flows(X,Y), flows(X,Z).

列出了所有经过的河流 Y和Z。

我希望河流通过Y而不是Z.

1 个答案:

答案 0 :(得分:1)

只需使用not运算符:

fl(X,Y,Z) :- flows(X,Y), not(flows(X,Z)).