Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.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
Graph Neo4j查找最短路径但排除路径_Graph_Neo4j - Fatal编程技术网

Graph Neo4j查找最短路径但排除路径

Graph Neo4j查找最短路径但排除路径,graph,neo4j,Graph,Neo4j,对于学校作业,我试图了解Neo4j是如何工作的,到目前为止,我已经能够理解其中的大部分内容,但由于某些原因,我无法排除路径 我做了一个测试任务,测试的道路可以从城市->城市使用。现在,我想排除以下情况下的路径: “查找从乌得勒支到鹿特丹的所有路线,这些路线不包括Gouda” 我提出了许多解决方案,但它们都不起作用,最近的一次是用下面的代码找到所有路径,包括Gouda路径 MATCH (Utrecht {Naam:"Utrecht"}), (Stad)-[:CONNECTIE_MET]->(

对于学校作业,我试图了解Neo4j是如何工作的,到目前为止,我已经能够理解其中的大部分内容,但由于某些原因,我无法排除路径

我做了一个测试任务,测试的道路可以从城市->城市使用。现在,我想排除以下情况下的路径:

“查找从乌得勒支到鹿特丹的所有路线,这些路线不包括Gouda”

我提出了许多解决方案,但它们都不起作用,最近的一次是用下面的代码找到所有路径,包括Gouda路径

MATCH (Utrecht {Naam:"Utrecht"}), (Stad)-[:CONNECTIE_MET]->(Rotterdam:Stad{Naam:"Rotterdam"}), 
p = allShortestPaths( (Utrecht)-[:CONNECTIE_MET*..5]-(Rotterdam))
WHERE NOT(Stad.Naam='Gouda')
RETURN p,Utrecht

我做错了什么?我尝试了几种方法,但都不起作用,其他帖子的代码似乎对这种情况不起作用。

最短路径不会回答您的“查找所有路径…”问题,因为它不包括比最短路径长的路径。除此之外,最短路径无法很好地处理您的问题,因为它将首先找到最短路径,然后应用过滤器,可能会抛出最短路径,并且不会给您任何结果,而大多数用户希望在应用过滤器的情况下找到最短路径。不过,这可能会让您开始:

MATCH p = (:Stad {Naam:"Utrecht"})-[:CONNECTIE_MET*..5]->(:Stad {Naam:"Rotterdam"})
WHERE NONE(x IN NODES(p) WHERE x.Naam = "Gouda")
RETURN p;

最短路径不会回答“查找所有路线…”的问题,因为它不包括比最短路径长的路线。除此之外,最短路径无法很好地处理您的问题,因为它将首先找到最短路径,然后应用过滤器,可能会抛出最短路径,并且不会给您任何结果,而大多数用户希望在应用过滤器的情况下找到最短路径。不过,这可能会让您开始:

MATCH p = (:Stad {Naam:"Utrecht"})-[:CONNECTIE_MET*..5]->(:Stad {Naam:"Rotterdam"})
WHERE NONE(x IN NODES(p) WHERE x.Naam = "Gouda")
RETURN p;

谢谢,这很有帮助!并且明确地给了我其他的工作路线!:)谢谢,这很有帮助!并且明确地给了我其他的工作路线!:)