我需要将两个现有节点与特定Id匹配,然后在这些节点之间创建关系。 下面是我的密码。但是当我执行此操作时,我始终无法完成任何更改。
MATCH(i:`Mechanical Component`)
where ID(i)=9912
with(i)
match(d:Features{name:"Mechanical Component"})
with(d)
where ID(d)=9934
MERGE (i)-[:FEATURES]->(d)
答案 0 :(得分:0)
正如Frank Pavageau在评论中所说的那样,你在第二个WITH
子句中没有将d与d一起传递,从而在查询中出错。以下是您需要的更正查询:
MATCH(i:Mechanical Component)
where ID(i)=9912
with(i)
match(d:Features{name:"Mechanical Component"})
with(d,i)
where ID(d)=9934
MERGE (i)-[:FEATURES]->(d)
请注意,建议不要使用内部ID,因为它已生成并可能会更改(请参阅Should we use the Neo4J internal id?)。您应该使用自己的唯一ID(带约束)并使用此ID匹配您的节点。