如何使用另一个查询的结果?

How to use the result of another query?

我在 Neo4j 上提出了一些要求,但我在提出一个特别的问题时遇到了一些麻烦。

这些是我在数据库中的节点和关系

两个元素:

我想 return 驾驶(“conduire”)与爱丽丝相同的“Voiture”的人。 这是我写的:

MATCH ((a:Personne)-[p:Conduire]->(b:Vehicule))
WHERE  b.`Type`='Voiture' AND id(b) in [MATCH ((a:Personne)-[p:Conduire]->(b:Vehicule))
WHERE  a.Nom='Alice' 
RETURN id(b)]
RETURN a.Nom

这里是对return和爱丽丝开同一辆车的人的查询。请注意,这不会 return Alice,因为 b 上的匹配不会重复 a 上的匹配。

MATCH (a:Personne)-[:Conduire]->(:Vehicule)<-[:Conduire]-(b:Personne)
WHERE  a.Nom='Alice' 
RETURN b.Nom