I have this homework(I'm a student), in CLIPS, however I can't make any progress, despite searching on google, and spending some time on it.
(clear)
(deftemplate book
(multislot surname)(slot name)(multislot title)
)
(book (surname J.P.)(name Dubreuil)(title History of francmasons))
(book (surname T.)(name Eker)(title Secrets of millionaire mind))
(defrule find_title
?book<-(book(name Eker))
=>
(printout t ?book crlf)
)
What I eventually get is this error: "Expected the beginning of a construct". Any ideas please?
If you're using the load command to load this content, then you're mixing commands (such as clear) with CLIPS constructs (such as deftemplate and defrule). To fix this, first create a file such as book.clp with just constructs:
(deftemplate book
(multislot surname)(slot name)(multislot title)
)
(deffacts initial
(book (surname J.P.)(name Dubreuil)(title History of francmasons))
(book (surname T.)(name Eker)(title Secrets of millionaire mind)))
(defrule find_title
?book<-(book(name Eker))
=>
(printout t ?book crlf)
)
Then you can use the load command to load the file and run it:
CLIPS> (clear)
CLIPS> (load book.clp)
%$*
TRUE
CLIPS> (reset)
CLIPS> (agenda)
0 find_title: f-2
For a total of 1 activation.
CLIPS> (facts)
f-0 (initial-fact)
f-1 (book (surname J.P.) (name Dubreuil) (title History of francmasons))
f-2 (book (surname T.) (name Eker) (title Secrets of millionaire mind))
For a total of 3 facts.
CLIPS> (run)
<Fact-2>
CLIPS>