Cypher:将节点连接到一组节点?

时间:2017-02-24 11:44:56

标签: neo4j cypher

我知道如何过滤Cypher中的一组节点:

MATCH (p:Person)
WHERE p.name =~ '(?i).*Rebecca.*'
RETURN p;

我知道如何将所有连接(以任何方式)的节点连接到ID指定的单个节点:

START a=node(4721)
MATCH (a)-->(d) 
RETURN distinct d

但是,如何获取连接到过滤组的所有节点,而不是单个节点?

然后,我如何以相同的方式过滤特定名称的节点?

1 个答案:

答案 0 :(得分:1)

但是,如何获取连接到过滤组的所有节点,而不是单个节点?

标签用于过滤组,因此查询看起来像这样

MATCH (p:Person)-[:SOME_REL]->(n:Neighbours)
WITH n where n.name =~ '(?i).*Rebecca.*'
Return n

所以现在我们只返回名叫丽贝卡的人的邻居 您也可以一步完成。

MATCH (p:Person)-[:SOME_REL]->(n:Neighbours) where n.name =~ '(?i).*Rebecca.*'
Return n