Python py2neo:使用批处理创建与属性的关系

Python py2neo:使用批处理创建与属性的关系,python,neo4j,py2neo,Python,Neo4j,Py2neo,我想使用批插入创建与属性的关系,因此我尝试了py2neo中的以下示例: 为什么不能指定一个字典来将属性分配给关系? 如何批量创建与属性的关系,其中属性存储在某些属性\u变量中,例如: batch.create(rel(0, "KNOWS", 1, SOME_PROPERTIES_VARIABLE)) 某些属性变量应该是什么样子 对于批处理函数get\u或\u create\u index\u relationship,我可以简单地使用属性字典,例如: batch.get_or_create_i

我想使用批插入创建与属性的关系,因此我尝试了py2neo中的以下示例:

为什么不能指定一个字典来将属性分配给关系? 如何批量创建与属性的关系,其中属性存储在
某些属性\u变量
中,例如:

batch.create(rel(0, "KNOWS", 1, SOME_PROPERTIES_VARIABLE))
某些属性变量
应该是什么样子

对于批处理函数
get\u或\u create\u index\u relationship
,我可以简单地使用属性字典,例如:

batch.get_or_create_indexed_relationship(my_rel_index, my_rel_key, my_rel_value, 0, "KNOWS", 1, properties=property_dictionary)
这正是我要寻找的,只是我不想索引关系

我正在使用Neo4j 1.9.2和py2neo 1.5.1-谢谢


附加问题:批处理后的批处理.submit()是否为空,或者我是否还必须执行批处理.clear()?

您可以使用
**
语法自动展开字典,例如:

batch.create(rel(0, "KNOWS", 1, **property_dictionary))
或者,将关系类型指定为元组,例如:

batch.create(rel(0, ("KNOWS", property_dictionary), 1))

对于您的其他问题,在成功提交后,批次将自动清空。但是,这将在1.6版中进行更改,必须手动完成。

非常感谢,您为我节省了大量时间,让我可以考虑更复杂的方法;-)也许这就是我遇到的问题——对py2neo和python也是新手
batch.create(rel(0, ("KNOWS", property_dictionary), 1))