0
假设我有3个节点A,B和C,并且A和B之间以及B和C之间存在边缘。我想在运行时断言数据库的新事实,这样如果A和B之间存在边缘,而另一个边缘从B到C,则可以从A到C.我希望边缘(a,c)被添加,但是我有以下问题:预先感谢向数据库添加新的事实PROLOG
dynamic/1: No permission to modify static procedure `edge/2'
ERROR: [Thread pce] c:/users/win7/documents/prolog/test.pl:6: Syntax error: Operator expected
这是我的代码:
edge(a,b).
edge(b,c).
:- dynamic edge/2.
conn :-(X,C):- edge(X,Y),edge(Y,C),assert(edge(X,C)).
'conn :-(X,C): - ...'是语法错误。 – lurker