我的开始节点是A.结束节点是E.
neo4j中的cyper查询是什么,我将得到结果
路径一:A> b> c> d> e 路径二:A> b> c> f> g> ë
我试过了:
MATCH p =(n) - [*] - >(m)其中n.name ='A'和m.name ='E'返回p
但我得到的是完整的节点列表而不是分离的节点列表。
提前致谢
答案 0 :(得分:1)
让我们看看您的图表:
CREATE (a:Node {name: "A"})
CREATE (b:Node {name: "B"})
CREATE (c:Node {name: "C"})
CREATE (d:Node {name: "D"})
CREATE (e:Node {name: "E"})
CREATE (f:Node {name: "F"})
CREATE (g:Node {name: "G"})
MERGE (a)-[:HAS]->(b)-[:HAS]->(c)-[:HAS]->(d)-[:HAS]->(e)
MERGE (c)-[:HAS]->(f)-[:HAS]->(g)-[:HAS]->(e);
这是对的吗?
那么,你写的声明会返回两个路径......当然,浏览器中的可视化会显示完整的图形,但是看看其他格式,你会看到你和#39;得到两行"行"每个都包含一条路径。
您可以通过尝试以下方式查看:
MATCH p=(n1:Node)-[*]-(n2:Node)
WHERE n1.name="A"
AND n2.name="E"
RETURN p LIMIT 1;
这将只返回一个路径,浏览器将只显示一个路径。这只是正确解释/处理结果的问题。这将仅显示第二条路径:
MATCH p=(n1:Node)-[*]-(n2:Node)
WHERE n1.name="A"
AND n2.name="E"
RETURN p SKIP 1 LIMIT 1;
希望这有帮助, 汤姆