Bulb Neo4j更新错误

时间:2013-10-24 09:04:18

标签: neo4j graph-databases gremlin bulbs neo4j.py

我正在传递表格的字典

{'twitterid':121212, 'followers':[121,212323,2323,1221]}

到函数createVertex

def createVertex(userDict):
    vertex = g.vertices.create(twitterid=userDict['twitterid'])
    g.vertices.update(vertex.eid, userDict)

    while not 'followers' in list(vertex.data().iterkeys()):
        print "trying " + str(vertex.twitterid)

    return vertex

它在while循环中陷入困境。我怀疑在更新或竞赛问题中存在“提交”问题。有人可以建议如何解决这个问题吗?

由于

1 个答案:

答案 0 :(得分:1)

没有竞争条件。 vertex在您提供的示例中不包含userDict,因为update()不会对其进行修改。请改用save()

def createVertex(userDict):
    vertex = g.vertices.create(twitterid=userDict['twitterid'])

    vertex.followers = userDict['followers']
    vertex.save()

    return vertex

请参阅https://github.com/espeed/bulbs/blob/master/bulbs/element.py#L505

但是,您可以一步完成上述所有操作:

vertex = g.vertices.create(userDict)

请参阅https://github.com/espeed/bulbs/blob/master/bulbs/element.py#L551