2014-11-25 129 views
1

我是Neo4j的新手,我使用c#開發項目(Neo4jClient)。c#中的Neo4j批量插入#

在我的項目中,我想一次創建大約3000個節點。現在我創建一個節點,因爲爲了避免重複(我檢查每次節點是否存在,如果只存在,那麼我創建節點。現在neo4j有160,000個節點。所以完成3000個節點需要2個小時。 我想用批量插入。請與我分享代碼以使用批次插入來檢查複製節點。提前致謝。

回答

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

謝謝回覆。 – 2014-12-06 10:20:24