Neo4j:使用cypher和参数创建多个关系

Neo4j:使用cypher和参数创建多个关系,neo4j,cypher,py2neo,Neo4j,Cypher,Py2neo,我试图通过写回在py2neo中使用一个cypher语句和参数创建很多关系(16k)。如果尝试只创建10个(或更多)关系,那么它不会出现问题。但是对于16k关系,Neo4j服务器挂起在100%的CPU上,py2neo给出了一个错误(过了一段时间) 我使用以下代码创建关系: graph_db_batch = neo4j.WriteBatch(graph_db) graph_db_batch.append_cypher\ (\ "\ FOREA

我试图通过写回在py2neo中使用一个cypher语句和参数创建很多关系(16k)。如果尝试只创建10个(或更多)关系,那么它不会出现问题。但是对于16k关系,Neo4j服务器挂起在100%的CPU上,py2neo给出了一个错误(过了一段时间)

我使用以下代码创建关系:

    graph_db_batch = neo4j.WriteBatch(graph_db)

    graph_db_batch.append_cypher\
    (\
        "\
        FOREACH (par in {params} |\
            MERGE (s:users {userid1:par.sval})-[r:MEMBER_OF]->(e:groups {groupid:par.eval})\
            SET r = par.cprops\
        );\
        ",\
        object_props\
    )
    graph_db_batch.run()
对象_道具如下所示:

    {'params': [{'sval': 'userA', 'cprops': {'marked': 1, 'datedeleted': 0}, 'eval': 'groupX'}, {'sval': 'userB', 'cprops': {'marked': 1, 'datedeleted': 0}, 'eval': "groupY"}]}