在社区2.0.1中出现以下Cypher查询时间。不幸的是,我无法使用它生成profile
输出。
如果用户被重复,我希望消除歧义,如果特定用户发生这种情况,请尝试找到基线。但是,似乎Cypher并没有使用具有相同apiid
的两个节点"开始",而是首先要查询数据库中的所有关系。
match (n:LIuser)-[r:CONNECTED]-(), (nnn:LIuser)-[rr:CONNECTED]-()
where n.apiid = 'K1J3V8EI9M'
and nnn.apiid = '29302231'
return count(distinct r), count(distinct rr)
提前感谢!
编辑:我意识到我想念这个问题 - 这完全改变了含义。n.apiid和nnn.apiid不同。我最初键入它们是一样的。
您正在创建跨产品,这就是问题。
想象一下,您对这些用户中的每个用户有1000个连接的查询,然后创建必须处理的1000 x 1000行。(不是通常的1m行是通常的问题)。也许您还应该共享您的设置和graph.db/messages.log
实际上,如果我正确理解您,您想要的是一个分组,它将为重复的用户返回2行或更多行吗?
MATCH (n:LIuser)-[r:CONNECTED]-()
WHERE n.apiid = 'K1J3V8EI9M'
RETURN n, count(distinct r)
您甚至可以这样做以查看另一侧的内容:
MATCH (n:LIuser)-[r:CONNECTED]-(m)
WHERE n.apiid = 'K1J3V8EI9M'
RETURN n, count(distinct r),collect(m)
您是否尝试在apiid
属性上进行索引?
CREATE INDEX ON :LIuser(apiid)