我在Neo4j中制作了关于2016年爱尔兰选举的图表数据库。我为每个候选人,选区和党都输入了节点。
CREATE(n:Candidate{name:'Gerry Adams', gender:'Male' ,constituency:'Louth', party:'Sinn Fein'});
CREATE(n:Party{party:'Sinn Fein'});
CREATE(n:Constituency{constituency:'Louth'});
所有节点都在数据库中,我试图让它们连接起来,但我遇到了问题。这就是我试图添加的关系:
match (n{constituency:"Louth"}), (c{constituency:"Louth"}) create (n)-[r:FROM]->(c) return n,c;
我哪里错了?
答案 0 :(得分:0)
您的问题出现是因为您没有使用带有标识符的标签。没有标签,每个 n 和 c 都会与 选区匹配所有内容 Louth 的。
我会首先匹配选区,然后为每个选区匹配该选区的候选人。然后为每个匹配创建关系。这样您只需匹配一次对象。
像这样......
match (constituency:Constituency {constituency:"Louth"})
with constituency
match (candidate:Candidate {constituency:"Louth"})
create (candidate)-[r:FROM]->(constituency)
return constituency,candidate;