问题描述
举个例子:我试图找出哪些人认识 n
人脉中的名人。
我的图有两种类型的节点:normalPerson
、Celebrity
,都具有属性 name
。只有一种连接:KNowS
。
这是我用 n
= 3 编写的代码,它给出了想要的结果:
MATCH (np:normalPerson)-[:KNowS*..3]-(c:Celebrity)
RETURN disTINCT(np.name)
问题在于,随着 n
变大,查询开始运行非常缓慢。现在重要的是,我们不在乎某人知道什么名人,我们只想知道他们是否知道。这意味着一旦我们知道一个人认识某个名人,我们就可以停止寻找更多名人。我希望这种推理可以节省时间,但我不确定如何实现这一点。我尝试了以下方法,但比以前的方法花费的时间更长:
MATCH (np:normalPerson),(c:Celebrity)
WHERE EXISTS((np)-[:KNowS*..3]-(c))
RETURN disTINCT(np.name)
获得这些结果的最快方法是什么?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)