我有一个用户事实列表定义为:
user(@michael).
user(@ana).
user(@bob).
user(@george).
user(@john).
等等。此外,我有一组事实:
follows(@michael,@ana).
follows(@ana,@bob).
follows(@bob,@michael).
我正在尝试编写一个关系indirect(user1,user1),它会告诉我user1 是否间接跟随user2。但是,我无法消除循环关系。
就像在给定的示例中一样, michael -> ana -> bob -> michael 将导致循环。
从间接(user1,user2)的结果中消除这些循环的最佳方法是什么?