【发布时间】:2014-11-05 14:01:07
【问题描述】:
我有一个包含超过 200 万个节点的图形数据库。我有一个应用程序,它需要一个社交图并对其进行一些推断。作为算法的一个步骤,我必须得到两个连接节点的关系 [:friends] 的所有可能组合。目前,我有一个查询,如下所示: match (a)-[:friend]-(c), (b)-[:friend]-(d) 其中 id(a)={ida} 和 id(b)={idb} 首先返回不同的 c, d 为第二个
所以,我已经知道节点a 和b,并且我想从a 和b 的朋友那里获得所有可能的配对。
这显然是一个非常缓慢的操作。我想知道是否有更有效的方法可以在 neo4j 中获得相同的结果。也许添加索引可能会有所帮助?欢迎任何想法/线索!
示例
节点a 有朋友:x, y
节点b有朋友:g,h,i``
Then the result should be:
x,g
x,h,h
x
x,i,g,y@89 y,h
y,i`
【问题讨论】:
标签: neo4j query-optimization cypher cartesian-product