另一种提问方式是:
如何列出原子的所有属性?
例如:
movie(agora).
director(agora, 'Alejandro Amenabar')
duration(agora, '2h').
所以,我想接收所有具有agora
参数的谓词。在这种情况下,它将是:movie
, director
, duration
, 和其他参数('Alejandro Amenabar', '2h')
。
PersonInvited
如果不喜欢这部电影的某些内容,我希望在“可变答案”中具有 false 的值。
我的查询将是:
answer(Answer, PersonInvited, PersonWhoMadeInvitation, Movie)
答:我不喜欢这个导演
answer(false, PersonInvited, PersonWhoMadeInvitation, Movie):-
director(Movie, DirectorName),not(like(PersonInvited,DirectorName)).
例如,类似类型的任何属性都会发生同样的事情。
答:不喜欢这个类型
answer(false, PersonInvited, PersonWhoMadeInvitation, Movie):-
genre(Movie, Genre), not(like(PersonInvited,Genre)).
所以,我想概括这种情况,而不是重复写每个对象的每个特征。