无法在Neo4j中创建关系

时间:2016-12-09 07:06:32

标签: graph neo4j cypher

尝试在neo4j中创建关系,但失败了。 我有2个节点,服务器和虚拟机。现在我想创建这两个节点之间的关系。

MATCH (s:Server {name:"DHAAPP01"})
RETURN  s.name;
MATCH (v:VirtualMachine {virtualhost:"DHAAPP01"})
RETURN  v.name,v.virtualhost;

然后我尝试用create命令创建关系

CREATE (v:VirtualMachine)-[r:DEPENDS]->(s:Server)

即使创建了关系,它仍然无法显示graphDB中的关系。 我也尝试将两种模式与命令匹配,但也失败了。

MATCH (v:VirtualMachine)-[r:DEPENDS]-(s:Server)
WHERE v.name= 'DHA'
AND s.name = 'DHAAPP01'
RETURN v.name, v:VirtualMachine;

希望得到你的帮助并告知我的命令有什么不对吗?谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

您可能无意中创建了一个新的:VirtualMachine和new:Server节点。那是你的第一个CREATE命令所做的,而且我很确定这不是你想要的。

为了在特定节点之间创建关系,只需匹配它们并使用匹配中的变量创建它们之间的关系,如果需要它们返回,则返回变量,包括关系中的变量:

MATCH (s:Server {name:"DHAAPP01"})
MATCH (v:VirtualMachine {virtualhost:"DHAAPP01"})
MERGE (v)-[r:DEPENDS]->(s)
RETURN v, r, s