Neo4j检入id列表
我想检查关系是否在关系ID列表中。我尝试了以下方法:Neo4j检入id列表,neo4j,graph-databases,Neo4j,Graph Databases,我想检查关系是否在关系ID列表中。我尝试了以下方法: MATCH (start:Stagepoint),(stop:Stagepoint), path=shortestPath(start-[track:TRACK*]-stop) WITH REDUCE(dist = 0, rel in rels(path) | dist + rel.distance) AS distance, path, start.name as start, stop.name as stop, track, [1]
MATCH (start:Stagepoint),(stop:Stagepoint), path=shortestPath(start-[track:TRACK*]-stop)
WITH REDUCE(dist = 0, rel in rels(path) | dist + rel.distance) AS distance, path, start.name as start, stop.name as stop, track, [1] as visited
WHERE distance <= 25 AND distance >= 20 AND NOT ID(track) IN visited
RETURN start, stop, distance, track ORDER BY distance ASC
匹配(开始:Stagepoint),(停止:Stagepoint),路径=最短路径(开始-[track:track*]-停止)
使用REDUCE(dist=0,rel in rels(path)| dist+rel.distance)作为距离,path,start.name作为开始,stop.name作为停止,track,[1]作为访问
其中,距离=20,而不是访问中的ID(轨道)
按距离ASC返回起始、停止、距离、轨道顺序
它得到:预期'track'是一个节点或关系,但它是
``
我尝试了多种方法来解决这个问题,但似乎都不管用
我使用的是Neo4j 2.1.6社区版。在可变长度路径中,关系标识符实际上是关系的集合。因此,您的
轨迹
是一组关系
试试这个:
WHERE NONE(t in track WHERE id(t) in visited)