我不明白
的含义是什么[sopio|...], [...|...]|...
的结果
?- findall([X,Y], indirectowner(X, Y), L).
:
L = [[sopio, badri], [temur, badri], [temur, leila], [badri, anuki], [badri, tamar], [tamar, ioseb], [sopio, anuki], [sopio|...], [...|...]|...].
我已经了解了以下事实:
owner(sopio,badri).
owner(temur,badri).
owner(temur,leila).
owner(badri,anuki).
owner(badri,tamar).
owner(tamar,ioseb).
和条款:
indirectowner(X,Z) :-
owner(X,Z).
indirectowner(X,Z) :-
owner(X,Y), owner(Y,Z).
答案 0 :(得分:3)
答案是缩写的,以避免在屏幕上输出太多。
在SWI-Prolog中,您可以在查询后按w
来编写整个答案,但对于您的查询,您需要YOURquery ; true.
,因为它是确定性的,并且w
被接受需要非 - 确定性查询。
您还可以使用Prolog标志更改行为。