Neo4j图数据库关系

时间:2016-04-09 15:59:39

标签: neo4j cypher graph-theory

我在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;

我哪里错了?

1 个答案:

答案 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;