2016-04-09 85 views
1

我已经在Neo4j中制作了关于爱尔兰2016选举的图形数据库。我已经为每个候选人,选区和派对进入节点。Neo4j图形数据库关系

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

您的问题出现了,因为您没有在标识符中使用标签。如果没有标签,每个ñç匹配一切与选区劳斯的

我会先匹配选区,然后再为每个选区匹配该选区的候选人。然后为每场比赛创建关系。这样你就可以只匹配一次对象。

事情是这样的......

match (constituency:Constituency {constituency:"Louth"}) 
with constituency 
match (candidate:Candidate {constituency:"Louth"}) 
create (candidate)-[r:FROM]->(constituency) 
return constituency,candidate; 
+0

您好,感谢回去我一百万,我不得不再次重做整个数据库,这一次我用: 'CREATE(N:候选{名字:'Gerry Adams',性别:'男性,选区:'Louth',派对:'Sinn Fein'});' 'CREATE(p:Party {name:'Sinn Fein'});' ' CREATE(c:选区{name:'Louth'});' –

+0

'match(选区名称:“Louth”}) 名称创建(选区) - [r:FROM] - >(姓名) 返回姓名,选区;' –