Как заказать все мои фильмы с рейтингом в клипах? - PullRequest
0 голосов
/ 08 января 2019

Я должен сделать рекомендательный проект фильмов. У меня есть 1 пользователь, и моя программа задает ему вопросы, чтобы заполнить слоты, а затем дает оценку фильмам. Когда пользователь ответил на все вопросы, я должен составить правило, которое должно выполняться последним, чтобы заказать мои фильмы. Проблема в том, что я не знаю какого-либо метода заказа моих классов.

(defclass Pelicules
(is-a USER)
(role abstract)
(slot puntuacio (type INTEGER) (default 0))
(slot plorar (type SYMBOL) (allowed-symbols yes no))
(slot riure (type SYMBOL) (allowed-symbols yes no))
(slot edat (type INTEGER))
)

У меня есть слот для показа пяти фильмов с большим рейтингом (пеликулы), и я думаю о его значении 1 для каждого показанного фильма, в результате чего система показывает 5 фильмов.

(defclass Usuari
(is-a USER)
(role concrete)
(pattern-match reactive)
(slot edat (type SYMBOL) (default nil))
(slot sexe (type SYMBOL) (default nil))
(slot estatCivil (type SYMBOL) (default nil))
(slot vehicle (default nil))
(slot social (default nil))
(slot emocionalment (default nil))
(slot esportista (default nil))
(slot tipusMusica (default nil))
(slot professioEscolliries (default nil))
(slot tempsLliure (default nil))
(slot viatge (default nil))
(slot festaPrefe (default nil))
(slot pasarTemps (default nil))
(slot pensar (default nil))
(slot pelicules (type INTEGER) (default 5))
)

1 Ответ

0 голосов
/ 08 января 2019

Я имел в виду объекты. Наконец тестирование я нахожу ответ.

(defrule order
(declare (salience -1))
?obj <- (object (is-a Usuari) (pelicules ?s&:(> ?s 0)))
?obj2 <- (object (is-a Pelicules) (puntuacio ?p))
(not (object (is-a Pelicules) (puntuacio ?q&:(> ?q ?p))))
=>
(send ?obj canvia-pelicules 1)
(send ?obj2 print)
(send ?obj2 delete)
)
...