Defina o gráfico no Prolog: borda e caminho, descobrindo se existe um caminho entre dois vértices

Sou muito novo no Prolog. Eu defini emgraph.pl o seguinte gráfico:

E aqui está o meu código Prolog:

edge(a,e).
edge(e,d).
edge(d,c).
edge(c,b).
edge(b,a).
edge(d,a).
edge(e,c).
edge(f,b).
path(X,X).
path(X,Y):- edge(X,Z) ; path(Z,Y).

Eu entendo assim: existe um caminho entre o vérticeX e vérticeY somente se houver uma aresta entre o vérticeX e vérticeZ E existe um caminho entre o vérticeZ e vérticeY (algum tipo de recursão

Isso é correto para o gráfico apresentado? Quando pergunto ao Prolog sobre o caminho entre o vérticeA e vérticeF me dátrue ... o que nem está certo! O que pode estar errado neste código?

questionAnswers(4)

yourAnswerToTheQuestion