在c#中插入Neo4j批量

时间:2014-11-25 09:11:50

标签: neo4j

我是Neo4j的新手,我使用c#(Neo4jClient)开发项目。

在我的项目中,我想一次创建大约3000个节点。现在我逐个节点地创建,因为为了避免重复( 我检查每次节点是否存在。如果只是不存在,那么我创建节点。)。现在在neo4j中有1,60,000个节点。所以完成3000个节点需要2个小时。 我想使用Batch Insertion。请分享我使用批量插入的代码来检查重复节点。提前谢谢。

1 个答案:

答案 0 :(得分:1)

Example

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();
        }
    }
}