2014-10-31 126 views
1

我有2個節點:人和朋友有下一個結構: people:p_id;朋友:p_id,f_id如何在Neo4J中建立關係

我需要在它們之間建立關係[:KNOWS]。

我該怎麼做?我是Neo4J的新手。

P.S.我正在使用Cypher

+2

我覺得你對一個節點是什麼感到困惑。節點是關係世界中*行*的等價圖,而不是表的等價物。我的意思是,People和Friends對節點/標籤來說真的很奇怪,而'f_id'看起來像某種外鍵。 – 2014-10-31 11:32:33

回答

3

我認爲這會爲你做。基本上,您需要明確地匹配您想要創建關係的兩個節點,然後在兩個引用的節點之間創建與您想要的方向的關係。

match (p:People), (f:Friend) 
where p.id = 'xx' and f.id = 'xy' 
create (p)-[:KNOWS]->(f) 

裁判卡 - http://neo4j.com/docs/cypher-refcard/current/ - 一直是非常寶貴的我通過暗號的複雜工作。

+0

非常感謝!這對我來說似乎很有用。 – user3306125 2014-11-03 06:49:29

+0

但我怎麼能做到這一點在所有的身份證在兩個節點? – user3306125 2014-11-03 07:08:41

+0

您需要使用p_id到f_id關係來構建關係。如果你在csv中擁有所有的關係,那麼你可以使用「load csv」過程。加載它們。這樣的東西應該工作... LOAD CSV與標題從「file:/// Y:/pid_to_f_id.csv」AS rel MATCH(p:Person {id:rel.p_id}),(f:Friend {id:創建(p) - [:KNOWS] - >(f) – 2014-11-03 20:54:04