我是Neo4j的新手,我使用c#(Neo4jClient)开发项目。
在我的项目中,我想一次创建大约3000个节点。现在我逐个节点地创建,因为为了避免重复( 即 我检查每次节点是否存在。如果只是不存在,那么我创建节点。)。现在在neo4j中有1,60,000个节点。所以完成3000个节点需要2个小时。 我想使用Batch Insertion。请分享我使用批量插入的代码来检查重复节点。提前谢谢。
答案 0 :(得分:1)
public class Neo4jDataProvider<T>
{
IGraphClient _client = null;
public Neo4jDataProvider(IGraphClient client)
{
_client = client;
}
public void CreateAll(IEnumerable<T> records)
{
if (_client != null)
{
var propKey = string.Format("{0}s", typeof (T).Name.ToLower());
var query = _client.Cypher;
var createString = string.Format("({0}:{1} {{{2}}})", "record", typeof(T).Name, propKey);
query = query.Create(createString);
query = query.WithParam(propKey, records.ToList());
query.ExecuteWithoutResults();
}
}
}