我有一种城市地图,其中节点是十字架,弧是街道。我添加了一个属性"障碍"在一些街道几乎随机。现在我想找到一条从一个点到另一个点的路径,而不是在这条路径中有任何具有此属性的街道。有可能吗?
这是我编写的代码,问题出现在" street.obstacle不为空"
MATCH path=allShortestPaths((source:Cross)-[street:Street*]->(destination: Cross))
WHERE source.id="49" AND destination.id="57" AND
street.obstacle IS NOT NULL
return path AS shortestPath,
reduce(LENGTH=0, n IN rels(path)| LENGTH + n.length) AS totalLength
答案 0 :(得分:2)
Null不适用于某些布尔条件。 Read more in the docs here。表达式(NOT NULL)
返回NULL
,而不是false
,因为null被视为第三个选项,既不是true也不是false。真的没有数据。
您可能正在寻找has(street.obstacle)
,或者可能正在寻找EXISTS()
功能,具体取决于您尝试表达的内容。会告诉您该属性是否存在(无论它具有什么价值)。