可选匹配和Cypher中的哪个地方

问题描述:

我正在努力编写密码查询。可选匹配和Cypher中的哪个地方

格拉夫

的承受力波纹管示出完整的曲线图。有些电影没有特技演员(图表是虚构的)。

问题

我想要得到谁从来没有在电影替身演员扮演的所有参与者(和他们的电影)。在这种情况下,这将是 “约翰尼·德普”

Complete cypher graph

这应该工作:

MATCH (n:Actor)-->(m:Movie) 
WHERE NOT (n)-->()<--(:Stuntman) 
RETURN n AS actor, collect(m) AS movies 

干杯

PS :还有其他解决方案,但我认为性能较差:

MATCH (n:Actor)-->(m:Movie) 
WITH n AS actor, collect(m) AS movies 
WHERE all(m IN movies WHERE not (m)<--(:Stuntman)) 
RETURN actor, movies 
+0

为什么'... WHERE NOT(n) - >(m) user1879408

我认为这将让你去

// Find the actors and their movies 
MATCH (a:Actor)--(m:Movie) 

// where the actor was never in a movie with a stuntman 
WHERE NOT (a)-[:ACTS_IN]-(:Movie)-[:ACTS_IN]-(:Stuntman) 
RETURN a,m