給設計成邊表示節點之間的連接指向一組在序言斷言:有向圖中所有節點列表
edge(n1, n2).
edge(n2, n3).
edge(n1, n4).
下面的查詢給出了[n1, n2, n1, n2 ... ]
無限級聯...
allnodes([]).
allnodes([X | [ Y | Xs]]) :-
edge(X, Y),
allnodes(Xs).
當被問及作爲allnodes(Result)
我正在尋找的是在一些命令列表[n1, n2, n3, n4]
。
嗯。我顯然需要更多地研究setof/3謂詞(並且在任何情況下prolog更多)。 –