如何解决密码查询之间的差异 neo4j电影数据库
我正在做:play intro-neo4j-exercises
(练习4.10)中的练习。
一切看起来都不错,但是我无法确切理解两个查询之间的区别。有人可以详细说明吗?
MATCH path = (p:Person)-[:PRODUCED]->(m:Movie)
WHERE NOT EXISTS( (p)-[:DIRECTED]->(:Movie) )
RETURN p.name,m.title
返回:
|"a.name" │"m.title" │
╞══════════════╪════════════════════════╡
│"Joel Silver" │"The Matrix" │
├──────────────┼────────────────────────┤
│"Joel Silver" │"The Matrix Reloaded" │
├──────────────┼────────────────────────┤
│"Joel Silver" │"The Matrix Revolutions"│
├──────────────┼────────────────────────┤
│"Stefan Arndt"│"Cloud Atlas" │
├──────────────┼────────────────────────┤
│"Joel Silver" │"V for Vendetta" │
├──────────────┼────────────────────────┤
│"Joel Silver" │"Speed Racer" │
├──────────────┼────────────────────────┤
│"Joel Silver" │"Ninja Assassin" │
└──────────────┴────────────────────────┘
其中:
MATCH (p:Person)-[:PRODUCED]->(m:Movie)
WHERE NOT EXISTS( (p)-[:DIRECTED]->(m) )
RETURN p.name,m.title
退货:
╒═════════════════╤════════════════════════╕
│"a.name" │"m.title" │
╞═════════════════╪════════════════════════╡
│"Joel Silver" │"The Matrix" │
├─────────────────┼────────────────────────┤
│"Joel Silver" │"The Matrix Reloaded" │
├─────────────────┼────────────────────────┤
│"Joel Silver" │"The Matrix Revolutions"│
├─────────────────┼────────────────────────┤
│"Nora Ephron" │"When Harry Met Sally" │
├─────────────────┼────────────────────────┤
│"Stefan Arndt" │"Cloud Atlas" │
├─────────────────┼────────────────────────┤
│"Lana Wachowski" │"V for Vendetta" │
├─────────────────┼────────────────────────┤
│"Lilly Wachowski"│"V for Vendetta" │
├─────────────────┼────────────────────────┤
│"Joel Silver" │"V for Vendetta" │
├─────────────────┼────────────────────────┤
│"Joel Silver" │"Speed Racer" │
├─────────────────┼────────────────────────┤
│"Lana Wachowski" │"Ninja Assassin" │
├─────────────────┼────────────────────────┤
│"Joel Silver" │"Ninja Assassin" │
├─────────────────┼────────────────────────┤
│"Lilly Wachowski"│"Ninja Assassin" │
└─────────────────┴────────────────────────┘
解决方法
第一个查询查找Person
PRODUCED
Movie m
,但没有导演任何电影的人。第二个查询查找Person
是PRODUCED
Movie m
的人,但没有直接指出特定 Movie m
。您知道这一点是因为在第二个查询中,m
子句中使用了绑定变量WHERE
,而在第一个查询中,{{1}中仅使用了标签:Movie
}条款。
偶然地,第一个查询的WHERE
部分什么也不做。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。