Neo4j返回Node哪些关系链接到某个Label

时间:2016-11-22 11:30:54

标签: neo4j

是否可以在关系链接的末尾返回与特定标签无关的节点。 E.g。

(EndTargetNode)<--MYREL---(SomeNode)<--MYREL---(SomeNode)<--MYREL---(SomeNode)
                                               /   |
                                              /  MYREL
(Node)<---SOME_REL---(SomeNode)<----MYREL----      |
                                                   v
                                               (SomeNode)
                                                   |
                                                 MYREL
                                                   |
                                                   v
                                               (SomeNode)

我想将所有不以MYREL关系结尾的SomeNode与类型为EndTargetNode的节点进行匹配,并且至少有2个MYREL关系。我该怎么做?感谢

到目前为止,我已经设法找到具有多个MYREL关系的节点:

match (n)-[rel:MYREL]->(e) 
with n, count(e) as rels
where rels > 1
return n;

1 个答案:

答案 0 :(得分:2)

此查询将执行此操作并读取,就像您的定义:

// I want all :SomeNode
MATCH (n:SomeNode)
// not related to an :EndTargetNode
WHERE NOT (n)-[:MYREL]->(:EndTargetNode)
// and with at least 2 MYREL relationships
AND size((n)-[:MYREL]->()) >= 2
RETURN n