密码查询之间的差异。(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=
部分什么也不做