我创建了一个Route / Stops(Rail / Bus)/ Operators模型,并尝试通过指定开始/结束停止来查找路径。当我运行以下查询时,我得到一个额外的停止节点(“PUD”),我认为不应该包含在结果中!如果您让我知道为什么包含“PUD”以及这是否是正确的方法,请感谢您?
MATCH p = (a:Station)-[r:Goto|Operates|HasStop|Changeto*0..]-(c:Station)
WHERE (a.name='LDS' AND 234 IN a.time)
AND c.name='MVC'
RETURN p
型号:
结果:
答案 0 :(得分:1)
您的查询与示例图中的多个路径匹配。由于您的查询在匹配中允许多种关系类型,因此查询是无向的,并且未指定短路径,它将逐字地找到模型中从scala.MatchError
到a
的每种关系组合。
如果您要更改查询以使其仅匹配c
和Goto
关系类型,那么您将获得所需的结果。
或者,如果您查询或使用了Changeto
,您也可以获得所需的结果。
shortestPath
...定向
MATCH p =(a:Station)-[r:Goto|Changeto*0..]-(c:Station)
WHERE (a.name='LDS' AND 234 IN a.time)
AND c.name='MVC'
RETURN p
...最短路径
MATCH p = (a:Station)-[r:Goto|Operates|HasStop|Changeto*0..]->(c:Station)
WHERE (a.name='LDS' AND 234 IN a.time)
AND c.name='MVC'
RETURN p