密码查询之间的差异。(neo4j电影数据库)

密码查询之间的差异。(neo4j电影数据库),neo4j,cypher,graph-databases,Neo4j,Cypher,Graph Databases,我正在做: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.titl

我正在做
: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"        │
└─────────────────┴────────────────────────┘

第一个查询查找
制作了
电影m
,但没有导演任何电影的
人。第二个查询查找
制作了
电影m
但没有指定该特定的
电影m
人。您知道这一点,因为在第二个查询中,
WHERE
子句中使用绑定变量
m
,而在第一个查询中,
WHERE
子句中只使用标签
:Movie


顺便说一句,第一个查询的
路径=
部分什么也不做。

第一个查询找到
制作了
电影m
,但没有导演任何电影的
人。第二个查询查找
制作了
电影m
但没有指定该特定的
电影m
人。您知道这一点,因为在第二个查询中,
WHERE
子句中使用绑定变量
m
,而在第一个查询中,
WHERE
子句中只使用标签
:Movie

顺便提一下,第一个查询的
path=
部分什么也不做