在Neo4j中自动创建未连接节点之间的关系

时间:2016-07-08 13:35:22

标签: neo4j cypher neo4j-cql

我有一个178,000种关系的文本文件。

  

文件从这里开始......

MATCH(f:PERSON {userid:483}),(h:PERSON {userid:1086})f,h CREATE(f) - [:FRIENDS_WITH] - >(h)

1为虚拟

MATCH(f:PERSON {userid:1086}),(h:PERSON {userid:483})f,h CREATE(f) - [:FRIENDS_WITH] - >(h)

1为虚拟

MATCH(f:PERSON {userid:483}),(h:PERSON {userid:1095})f,h CREATE(f) - [:FRIENDS_WITH] - >(h)

1为虚拟

MATCH(f:PERSON {userid:1095}),(h:PERSON {userid:483})f,h CREATE(f) - [:FRIENDS_WITH] - >(h)

以1为假。

  

文件到此结束

我在Neo4j中创建了节点。我不想手动复制粘贴浏览器中的每个查询,

有没有办法自动解决这个问题?

2 个答案:

答案 0 :(得分:3)

neo4j-shell -c < yourfile.cql将在文件中运行cypher查询,但我会通过用分号替换with 1 as dummy将该查询拆分为较小的查询。

可能是How to execute Cypher in a file?

的副本

答案 1 :(得分:1)

它看起来像是从表格数据生成的Cypher查询列表,如CSV文件。

您可以查看LOAD CSV,这将允许您编写单个通用语句,并定期提交,以避免可能导致OutOfMemoryError服务器端的巨大事务。

更一般地说,从您的其他问题来看,看起来您应该阅读更多的Neo4j文档,不一定是整体,但至少浏览一下内容表以了解它的功能。