0
我的起始节点是A.端节点是E.
什么可以在的Neo4j的cyper查询,使得我将得到的结果作为
路径中的一个:A> B> C> d>电子
路径中的两个:A> B>我试过了:
MATCH p =(n) - [*] - >(m)其中n.name ='A'和m.name ='E'返回p
但我得到完整的节点列表不是分离的。
在此先感谢
我的起始节点是A.端节点是E.
什么可以在的Neo4j的cyper查询,使得我将得到的结果作为
路径中的一个:A> B> C> d>电子
路径中的两个:A> B>我试过了:
MATCH p =(n) - [*] - >(m)其中n.name ='A'和m.name ='E'返回p
但我得到完整的节点列表不是分离的。
在此先感谢
让我们看看图你有:
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);
这是正确的?
那么,你写的语句返回两个路径......当然,在浏览器中的可视化将显示完整的图形,但看看其他格式,你会看到你得到两个“行“每个包含一条路径。
你可以看到这通过尝试以下操作:
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;
希望这有助于 汤姆
你说的“完整”的意思与“分离”节点列表? – cybersam