Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Path Cypher:每个节点上具有条件的可变长度路径_Path_Neo4j_Cypher - Fatal编程技术网

Path Cypher:每个节点上具有条件的可变长度路径

Path Cypher:每个节点上具有条件的可变长度路径,path,neo4j,cypher,Path,Neo4j,Cypher,如果我想在我的图中从节点a到节点B找到一个可变长度的路径,其中所有节点之间都有一个特定的标签,而a和B有一个不同的标签,我该怎么做 匹配(A)-[*0..]>(B)其中???如果所有节点只有一个标签,则此查询应该可以工作: 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 labe

如果我想在我的图中从节点
a
到节点
B
找到一个可变长度的路径,其中所有节点之间都有一个特定的标签,而
a
B
有一个不同的标签,我该怎么做


匹配(A)-[*0..]>(B)其中???

如果所有节点只有一个标签,则此查询应该可以工作:

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;
匹配p=(a)-[*]->(b)
对于p,标签(a)为la,标签(b)为lb,节点(p)[1..-1]为节点
以p、la、lb、节点、标签(节点[0])作为标签
其中标签la和标签lb以及所有(x在节点[1..]中,其中标签(x)=标签)
返回p;

该查询要求所有中间节点具有相同的标签,而结束节点具有与中间节点不同的标签。

如果所有节点只有一个标签,则该查询应有效:

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;
匹配p=(a)-[*]->(b)
对于p,标签(a)为la,标签(b)为lb,节点(p)[1..-1]为节点
以p、la、lb、节点、标签(节点[0])作为标签
其中标签la和标签lb以及所有(x在节点[1..]中,其中标签(x)=标签)
返回p;
查询要求所有中间节点具有相同的标签,而结束节点具有与中间节点不同的标签