Я пытаюсь написать правило из данной базы знаний о локальной библиотеке, которая позволит мне увидеть, написаны ли два писателя вместе.Путаница над главой правила и тело правила?
Это база знаний, которая используется.
localLib(‘AHorowitz’, ‘Stolen Gods’, 2011, ‘Scorpia Rising’, 448, 4).
localLib(‘AHorowitz’, ‘Night Visitors’, 2000, ‘Stormbreaker’, 240, 2).
localLib(‘AHorowitz’, ‘Matador’, 2003, ‘Eagle Strike’, 340, 6).
localLib(‘AJohnston’, ‘Night Visitors’, 2000, ‘Stormbreaker’, 240, 2).
localLib(‘AJohnston’, ‘Matador’, 2003, ‘Eagle Strike’, 340, 6).
localLib(‘RMuchamore’, ‘Basic Training’, 2007, ‘The Recruit, 342, 3).
localLib(‘MHaddon’, ‘11.’, 2004, ‘The Curious Incident Of The Dog In The Night Time’, 226, 5).
Ключ для КБ выглядит следующим образом:
localLib(w, e, y, t, n, c) where
w = writer’s name
e = excerpt in text
y = year of text
t = title of text
n = no. of pages in text
c = no. of acknowledgements
Это код, который я написал для правила:
searchlocalLib(W,E,_,_,_,_):- localLib((W1,W2),E,_,_,_,_).
Однако я получаю очень путать, как это делает не выглядят правильно, потому что я чувствую, потому что я не описал W1 и W2 в заголовке правила, поэтому запрос не будет работать, пожалуйста, могу ли я получить некоторые рекомендации?
Также скажу, что я также хотел бы запросить ptolog, если два писателя записаны вместе через определенный год, например, 2004. Я просто вводил номер года в правило выше при исправлении?
Привет, спасибо за помощь, я пробовал этот метод, однако, когда вы вводите правило в базу знаний, он говорит, что есть ОШИБКА: Синтаксическая ошибка: Незаконный старт термина. –
Это не полная реализация. Это должно дать вам подсказку о том, как это решить. –
Да, я немного поиграл и смог получить ответ. Спасибо. –