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

时间:2014-04-22 16:51:03

标签: neo4j cypher py2neo

我尝试通过WriteBatch在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()

object_props 如下所示:

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

0 个答案:

没有答案