给定以下节点B,E,F,G,H,J,K。我必须写一个neo4j查询来检查这些节点是如何相互连接的。
例如,假设这是我想要显示的模式。
B-H-F
|
G-J-K-E
显示此图表的查询是什么?我不想显示连接到这些节点的所有其他节点。
答案 0 :(得分:0)
您需要找到每对源节点之间的路径。
确保每个路径仅包含源集中包含的那些节点。
您可以使用密码执行此操作:
WITH {GIVEN_NODES} as NDS // The source array of node IDs
UNWIND RANGE(0, size(NDS)-2) as i
UNWIND RANGE(i+1, size(NDS)-1) as j
WITH NDS,
NDS[i] as N1,
NDS[j] as N2
MATCH path = (N1)-[*]-(N2)
WHERE length(path)+1 <= size(NDS) AND
ALL(n in nodes(path) WHERE n in NDS)
RETURN path