我对这个问题感到有些困惑 - 写一条规则,给定两个人A
和B
以及一个日期D
返回{{1}的所有日期列表}和A
已将消息交换到日期B
。
到目前为止,我有这个,但我不知道我哪里出错。
D
其次,我完全坚持这一点 - 编写一条规则,计算在事实数据库中为每个人发送的消息数量。
我如何编写这些规则?
编辑:对不起,我忘了发布这些;这些都是事实。
mexchanged(A,B,D) :- message(A,B,D1), D > D1.
答案 0 :(得分:1)
你实际上并不遥远,除了我不知道G
在这里代表什么:
message(hunter, user3147584, '12-30-2013').
message(hunter, mom, '12-29-2013').
message(hunter, user3147584, '12-28-2013').
% predicate to test for exchanged messages
mexchanged(A,B,D) :- message(A,B,D1), D @> D1 ;
message(B,A,D1), D @> D1 .
% example
mexchanged(hunter, user3147584, '12-29-2013').
% output = true