prolog中“^”的含义是什么?

时间:2016-11-25 00:07:50

标签: prolog prolog-setof

我有关于电影的知识库。我的演员和女演员谓词看起来像这样:

% actor(M,A,R) -- actor A played role R in movie M
% actress(M,A,R) -- actress A played role R in movie M

我正在尝试在我的知识库中统计不同的演员和女演员。 我只想写:

count(Nr):-
setof(Name,actor(Movie,Name,Role),List1),
setof(Name,actress(Movie,Name,Role),List2),
length(List1,Nr1),
length(List2,Nr2),
Nr is Nr1+Nr2.

它不起作用,但它确实如此:

count(Nr):-
setof(Name,(Movie^Role^actor(Movie,Name,Role)),List1),
setof(Name,(Movie^Role^actress(Movie,Name,Role)),List2),
length(List1,Nr1),
length(List2,Nr2),
Nr is Nr1+Nr2.

那是什么“^”?

编辑:看起来就是每部电影和每个角色只选择一次。但我还是不确定。

0 个答案:

没有答案