我在下面的代码段中执行了查询但是如果有两个节点相互遥远,那么neo4j就会被破坏;
START d=node(1), e=node(5)
MATCH p=shortestPath(d-[r:ROUTE*..15]-e)
WHERE all(x in relationships(p) WHERE x.RouteID=head(relationships(p)).RouteID)
RETURN p
limit 1
当我执行节点1到5时,它的工作正常且速度更快。当我执行节点5到45时,它会破坏neo4j。如何解决这个问题?
谢谢,最好的问候
答案 0 :(得分:3)
试试这个:
START d=node(1), e=node(5)
MATCH p=shortestPath(d-[r:ROUTE*..45]-e)
WITH p, head(relationships(p)).RouteID as RouteID
WHERE all(x in relationships(p) WHERE x.RouteID=RouteID)
RETURN p
limit 1
你为任何路径中的任何关系建立了关系(p),因此这是一个很大的交叉产品。