图遍历查询返回空结果咨询:为何未找到指定节点间路径?
问题原因及解决方案
核心问题
你创建节点时,id属性是整数类型(比如id: 0是整数),但查询语句里写的是字符串类型的id:"0"和id:"3"。Neo4j是强类型数据库,类型不匹配会导致无法匹配到目标节点,所以返回空集合。
修正后的查询语句
把查询里的id值改成整数类型即可:
MATCH p = (:Node {id:0})-[*]->(:Node {id:3}) RETURN p;
其他可选方案
如果希望统一使用字符串类型的id,可以修改创建节点的语句,把id值改成字符串:
CREATE (:Node {id: "0"}); CREATE (:Node {id: "1"}); CREATE (:Node {id: "2"}); CREATE (:Node {id: "3"}); MATCH (n:Node {id: "0"}), (m:Node {id: "1"}) CREATE (n)-[:LINK {date: "2023-03"}]->(m); MATCH (n:Node {id: "1"}), (m:Node {id: "2"}) CREATE (n)-[:LINK {date: "2023-03"}]->(m); MATCH (n:Node {id: "2"}), (m:Node {id: "3"}) CREATE (n)-[:LINK {date: "2023-03"}]->(m);
之后再用你原来的查询语句就能正常返回结果了。
内容的提问来源于stack exchange,提问作者EWoodAv
相关产品推荐
相关产品推荐

