我正在试图查询谁有一个爷爷,但是无法弄清楚,我知道它很简单,但它让我有些困惑。
我在这里有一些基本的事实:
parent(queenmother,elisabeth). parent(elisabeth,charles).
parent(elisabeth,andrew). parent(elisabeth,anne).
parent(elisabeth,edward). parent(diana,william).
parent(diana,harry). parent(sarah,beatrice).
parent(anne,peter). parent(anne,zara).
parent(george,elisabeth). parent(philip,charles).
parent(philip,andrew). parent(philip,edward)...
我有一些断言可以确定女性的男性:
the_royal_males(charles). the_royal_males(andrew).
the_royal_males(edward). the_royal_males(william).
the_royal_males(philip). the_royal_males(phillip).
the_royal_males(georgejun). the_royal_males(harry).
并确定祖先,兄弟,兄弟姐妹。
ancestor(X,Y):- parent(X,Y).
ancestor(X,Y):- parent(X,Z), ancestor(Z,Y).
sibling(X,Y):- parent(Z,X), parent(Z,Y), X \= Y.
brother(X,Y):- sibling(X,Y), sibling(Y,X), the_royal_males(Y), X \= Y.
我一直在尝试的查询,例如
brother(X,_), ancestor(X,_)
没有给出预期的结果。任何帮助/指导都会很棒。谢谢!