[英]Neo4j create nodes and relationships from pandas dataframe with py2neo
[英]cyclic relationships between nodes in neo4j
我正在使用neo4j和python(使用py2neo),我需要在数据库中放置类似http://i.imgur.com/1rLOdiq.png的内容。 目前,我有这个http://i.imgur.com/wxsY6YO.png这个密码查询
grafoNeo4j.cypher.execute("merge (n1:k_mer {name : '"+src.k_1_mer+"'})
merge (n2:k_mer {name : '"+dst.k_1_mer+"'}) merge (n1)-[:solapa]-(n2)")
哪里:
我的想法是获取第一个图像的图形,并带有数据库中相应的循环关系。 希望这足够清楚。 谢谢你的时间。
所以,这很简单。
这是对上面图片的查询:
CREATE (long_:Node {name: "long_"})
CREATE (ong_t:Node {name: "ong_t"})
CREATE (ng_ti:Node {name: "ng_ti"})
CREATE (g_tim:Node {name: "g_tim"})
CREATE (_time:Node {name: "_time"})
CREATE (ong_l:Node {name: "ong_l"})
CREATE (ng_lo:Node {name: "ng_lo"})
CREATE (g_lon:Node {name: "g_lon"})
CREATE (_long:Node {name: "_long"})
CREATE (a_lon:Node {name: "a_lon"})
CREATE (_long)-[:solapa]->(long_)
CREATE (_long)-[:solapa]->(long_)
CREATE (_long)-[:solapa]->(long_)
CREATE (a_lon)-[:solapa]->(_long)
CREATE (long_)-[:solapa]->(ong_l)
CREATE (long_)-[:solapa]->(ong_l)
CREATE (long_)-[:solapa]->(ong_t)
CREATE (ong_t)-[:solapa]->(ng_ti)
CREATE (ng_ti)-[:solapa]->(g_tim)
CREATE (g_tim)-[:solapa]->(_time)
CREATE (ong_l)-[:solapa]->(ng_lo)
CREATE (ong_l)-[:solapa]->(ng_lo)
CREATE (ng_lo)-[:solapa]->(g_lon)
CREATE (ng_lo)-[:solapa]->(g_lon)
CREATE (g_lon)-[:solapa]->(_long)
CREATE (g_lon)-[:solapa]->(_long)
您可以将其复制粘贴到Neo4j浏览器中进行验证。
结果:
注意:请谨慎使用MERGE
语句,不要在不需要时过度使用它们。
在2个节点之间具有相同关系的相同副本会浪费资源。 您可以改为在单个关系上维护count属性。 MERGE
子句的可选ON CREATE
和ON MATCH
子句使此操作非常容易。
例如:
MERGE (n1:k_mer {name : 'a'})
MERGE (n2:k_mer {name : 'b'})
MERGE (n1)-[r:solapa]-(n2)
ON CREATE SET r.cnt = 1
ON MATCH SET r.cnt = r.cnt + 1;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.