如果我想在我的图表中找到从节点A
到节点B
的变量长度路径,其中所有节点都有一定的标签,A
和{{1有一个不同的标签 - 我该怎么做?
B
答案 0 :(得分:4)
如果所有节点只有一个标签,则此查询应该有效:
MATCH p=(a)-[*]->(b)
WITH p, LABELS(a) AS la, LABELS(b) AS lb, NODES(p)[1..-1] AS nodes
WITH p, la, lb, nodes, LABELS(nodes[0]) AS label
WHERE label <> la AND label <> lb AND ALL(x IN nodes[1..] WHERE LABELS(x) = label)
RETURN p;
查询要求所有中间节点具有相同的标签,并且末端节点具有与中间节点不同的标签(或标签)。