py2neo.WriteBatch如何工作?

时间:2013-05-31 03:38:37

标签: python neo4j

以下是py2neo document中给出的示例:

batch = WriteBatch(graph_db)
batch.create(node(name="Alice"))
batch.create(node(name="Bob"))
batch.create(rel(0, "KNOWS", 1))
results = batch.submit()

py2neo如何知道创建的节点'Alice'和节点'Bob'的id是0和1,以便它可以创建两个节点之间的关系? 当我尝试类似的例子时,我发现0和1不是节点的ID,所以0表示批处理作业中第一个创建的节点?我阅读了源代码,但无法确定。

1 个答案:

答案 0 :(得分:1)

正确断言时,0和1表示批处理作业中项目的索引号,而不是绝对节点ID。此功能是以这种方式构建的,因为它是REST批处理接口顶部的一个层,它使用类似的表示法:

http://docs.neo4j.org/chunked/milestone/rest-api-batch-ops.html#rest-api-refer-to-items-created-earlier-in-the-same-batch-job