使用Cypher,如何找到 x或更多不同类型关系的节点,并且连接到y个或更多不同节点?
例如,a:人可以通过“家庭”,“朋友”,“同事”类型的关系连接到b:Person。
我们如何找到这样的:
答案 0 :(得分:1)
将此查询与中间聚合一起使用:
MATCH (p:Person)-[r:FAMILY|:FRIEND|:COWORKER]->(other:Person)
WITH p, count(distinct type(r)) as c, count(distinct other) as people
WHERE c > 2 and people >= 10
RETURN p
(您也可以在查询中省略提供的rel类型)
仅适用于尺寸,您可以使用更快的路径表达式。
MATCH (p:Person)
WHERE SIZE((p)-[:FAMILY|:FRIEND|:COWORKER]->()) >= 10
RETURN p