如何在 Prolog 中使用bagof
,查询具有 3 个或更多属性setof
的数据库事实 一个例子我定义了一个数据库students(name, grade,sport,gender)
。我想找到参加特定运动的学生名单,比如板球。我当前的查询
sport_list(L):-
bagof(S,N^G^D^students(N,G,S,D),L),
S = cricket.
student(patash,5,rugby,male).
student(naomi,3,netball,female).
student(lepo,6,_,male).
student(diamal,4,cricket,male).
student(bonga,5,chess,female).
student(imi,6,cricket,male).
student(ayanda,3,_,female).