другой способ задать вопрос:
Как я могу перечислить все свойства атома?
Например:
movie(agora).
director(agora, 'Alejandro Amenabar')
duration(agora, '2h').
Итак, я хотел бы получить все предикаты, которые имеют агору для аргумента. В данном случае это будет: фильм, режиссер, продолжительность, с остальными параметрами ("Алехандро Аменабар", "2ч").
Я нашел: это и это вопросы, но я не мог понять.
Я хочу иметь значение false в «ответе переменной», если PersonInvited что-то не нравится в фильме.
Мой запрос будет:
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)).
Итак, я хочу обобщить эту ситуацию, вместо того, чтобы повторять каждую особенность каждого объекта.
succ(X,s(X))
? Запрос:- succ(agora, Y).
выполнен успешно, но этого ли вы хотите? Как насчет предикатов из библиотеки?:- member(agora, List).
тоже преуспевает. - person lambda.xy.x   schedule 30.09.2015