如何构建一个Neo4J查询:
1)将返回通过一定数量的不同关系连接任何节点对的所有节点?例如,通过2,3或5种不同关系连接的节点? 因此,不是返回具有未知关系数的连接节点的查询:
MATCH (n)-[r]->(m) RETURN n, r, m;
在一般情况下,如何通过n&gt;查找任何一对节点连接的子图。 K,n = L或n < M关系?
答案 0 :(得分:1)
[增订]
要查找通过正好3个关系的路径连接的节点:
MATCH (n)-[r*3]->(m) RETURN n, r, m;
查找由[2..5]范围内的关系组成的路径连接的节点:
MATCH (n)-[r*2..5]->(m) RETURN n, r, m;
要查找通过最多5个关系的路径连接的节点(1的下限避免了没有关系的情况,即n与m相同):
MATCH (n)-[r*1..5]->(m) RETURN n, r, m;
要查找通过至少2个关系的路径连接的节点:
MATCH (n)-[r*2..]->(m) RETURN n, r, m;
通过比如3个关系查找直接连接的节点对:
MATCH (n)-[r]->(m)
WITH n, m, COLLECT(r) AS rels
WHERE SIZE(rels) = 3
RETURN n, rels, m;