以下查询返回8个正确的小组。
查询
START league=node:League(name='September League')
MATCH (teams)-[:CONTESTED_IN]->league
RETURN teams.name
结果
teams.name
Kakatiya Kings
Broncos
Dunwoody Blues
DOE Spikers
Atlanta Spikers
Wild Claws
Alpharetta One
Camden Rockers
但是,当我将级别添加为另一个起始节点时,虽然不在任何地方使用它,但它会使每个团队重复两次。不知道为什么行为的差异
查询
START league=node:League(name='September League'), level=node:Level(name='Quarterfinal')
MATCH (teams)-[:CONTESTED_IN]->league
RETURN teams.name
结果
teams.name
Kakatiya Kings
Broncos
Dunwoody Blues
DOE Spikers
Atlanta Spikers
Wild Claws
Alpharetta One
Camden Rockers
Kakatiya Kings
Broncos
Dunwoody Blues
DOE Spikers
Atlanta Spikers
Wild Claws
Alpharetta One
Camden Rockers
答案 0 :(得分:1)
由于league
和level
之间没有关系,因此您获得的是结果的交叉积,即每个节点在节点:Level中编入索引team.name
。因此,如果在索引中找到两个节点,结果是正确的。
如果您将查询更改为
RETURN teams.name, level
你可以检查一下。
要获得独特的结果,请添加distinct
:
RETURN distinct(teams.name)
答案 1 :(得分:0)
您使用的是哪个版本?试图在http://console.neo4j.org/r/6lvxd8中生成错误结果并不会给我任何结果。如果您可以在控制台中重新创建它,请提出问题!