繁体   English   中英

为什么重复结果查询 cypher neo4j

[英]Why duplicated results query with cypher neo4j

我正在实施示例数据库 Movies en Neo4j。我已经搜索了一些关于重复行的内容,但我仍然有疑问

我正在使用XOR 我得到了

MATCH (m:Movie)<-[r]-(p:Person)
WHERE m.title STARTS WITH 'The' 
XOR (m.released = 1999 OR m.released = 2003)
RETURN m.title, m.released
So, my result is

在此处输入图像描述

如您所见,有重复的行,我不明白为什么要这样做,重复结果的数量是根据什么?

我知道 DISTINCT 会删除重复项。 但我有兴趣了解为什么查询重复结果以及重复的数量是根据什么?。

这是因为你匹配

MATCH (m:Movie)<-[r]-(p:Person)

所以电影中的每个人都会返回电影名称,所以如果电影中有 4 个人,你会得到四个电影名称。 您可以通过仅匹配电影来删除重复项

MATCH (m:Movie)

正如 Tomaz 所说,它为每一个返回一行:与:Movie 有关系的人。 如果您仅使用RETURN m结束查询并查看结果,您可能只会看到未重复的节点出现。 否则,您可以使用RETURN DISTINCT m结束查询,以确保返回不重复的结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM