neo4j-计算结果中的重复数量
社区,
我是Neo4J的新手,我正在尝试获取一个节点列表(没有特定关系)并计算节点名称重复。
查询:
MATCH (e:ExampleNode)
WHERE NOT exists((e)-[:EXAMPLE_REL]->())
RETURN e.name as name, count(e.name) as count
结果:
名称 | 计数 |
---|---|
名称 | 1 3 |
name23 | 1 |
name8 | 4 |
到目前为止很好...
在节点的名称外,我还需要更多值。此值使每个结果唯一,并分别返回每个节点(如果名称相同)。
查询:
MATCH (e:ExampleNode)
WHERE NOT exists((e)-[:EXAMPLE_REL]->())
RETURN e.name as name, count(e.name) as count, e.property as someValue
结果:
名称 | 计数 | somevalue |
---|---|---|
name1 | 1 | abc |
name1 | 1 | cba |
name1 | 1 | xyz |
name23 | 1 | abc |
name8 | 1 | 123 |
name8 name8 | 1 | 321 |
name8 | 1 | 987 |
name8 name8 | 1 | 789 |
... | ... | ... |
...喜欢:
名称 | 计数 | somevalue |
---|---|---|
name1 | 3 | abc |
name1 | 3 | cba |
name1 | 3 | xyz |
name23 | 1 | abc |
name8 | 4 | 123 |
name8 name8 | 4 | 321 |
name8 | 4 | 987 |
name8 name8 | 4 | 789 |
... | ... | ... |
我想返回每个hasn'的节点' t特定的关系并按名称计数所有重复。
那么,是否有可能获得我想要的结果?
Community,
I am new to neo4j and I'm trying to get a list of nodes (that has not a specific relation) and count node name duplicates.
Query:
MATCH (e:ExampleNode)
WHERE NOT exists((e)-[:EXAMPLE_REL]->())
RETURN e.name as name, count(e.name) as count
Result:
name | count |
---|---|
name1 | 3 |
name23 | 1 |
name8 | 4 |
So far so good...
Beside the name of the node I also need some more values. This value makes each result unique and returns every node separately even (if the name is the same).
Query:
MATCH (e:ExampleNode)
WHERE NOT exists((e)-[:EXAMPLE_REL]->())
RETURN e.name as name, count(e.name) as count, e.property as someValue
Result:
name | count | someValue |
---|---|---|
name1 | 1 | abc |
name1 | 1 | cba |
name1 | 1 | xyz |
name23 | 1 | abc |
name8 | 1 | 123 |
name8 | 1 | 321 |
name8 | 1 | 987 |
name8 | 1 | 789 |
... | ... | ... |
But...this is the result I would like to have:
name | count | someValue |
---|---|---|
name1 | 3 | abc |
name1 | 3 | cba |
name1 | 3 | xyz |
name23 | 1 | abc |
name8 | 4 | 123 |
name8 | 4 | 321 |
name8 | 4 | 987 |
name8 | 4 | 789 |
... | ... | ... |
I would like to return every node that hasn't the specific relation and count all duplicates by the name.
So, is it possible to get the result I would like to have?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的。计算计数时,请使用
收集
函数在列表中收集属性值,然后在上一个列表上使用Undind
,以获取每个属性的不同行。像这样:Yess it is possible. When calculating the count, collect the property values in a list using
collect
function and then useUNWIND
on the previous list, to get distinct rows for each property. Like this: