【发布时间】:2015-02-19 15:08:35
【问题描述】:
我有一个 orientdb 图形数据库设置,用户作为顶点,朋友作为边。
如果两个用户彼此有 2 条边,则他们是朋友:
u1 --朋友 --> u2 和 u2 -- 朋友 --> u1
我如何使用 Gremlin 向 u1 推荐朋友的朋友,并确保这些人不是 u1 的当前朋友,具有单个 Gremlin 函数链?
到目前为止,这是我的 Gremlin 代码,但我想过滤掉已经与 u1 成为朋友的顶点:
u1.out('Friend').out('Friend').dedup()
我试过了,但似乎没有用:
u1.out('Friend').out('Friend').dedup().filter{ it!= u1.out('Friend')}
感谢您的帮助:)。
【问题讨论】:
-
使用您的方法,您需要执行
u1.out('friend').out('friend').dedup.filter{ !u1.out('friend').toList().contains(it) && it != u1}之类的操作,这当然是非常低效的。