Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用多个属性键进行Py2Neo合并_Python_Neo4j_Cypher_Py2neo - Fatal编程技术网

Python 使用多个属性键进行Py2Neo合并

Python 使用多个属性键进行Py2Neo合并,python,neo4j,cypher,py2neo,Python,Neo4j,Cypher,Py2neo,我一直在尝试使用merge方法使用Py2Neo驱动程序创建节点,但遇到了一些问题 我尝试了tx.merge(一个“Person”,“name”,“age”)但是得到了错误:TypeError:tuple 在合并文档中:它说“注意,可以使用元组指定多个属性键。”我是否缺少一些简单的东西 合并函数的参数可能有问题。或许可以尝试: tx.merge(a, primary_label='Person', primary_key=('name', 'age')) 另请注意,文档中有两种不同的merge函

我一直在尝试使用merge方法使用Py2Neo驱动程序创建节点,但遇到了一些问题

我尝试了
tx.merge(一个“Person”,“name”,“age”)
但是得到了错误:TypeError:tuple


在合并文档中:它说“注意,可以使用元组指定多个属性键。”我是否缺少一些简单的东西

合并函数的参数可能有问题。或许可以尝试:

tx.merge(a, primary_label='Person', primary_key=('name', 'age'))
另请注意,文档中有两种不同的
merge
函数方法。请参见这两个链接之间的区别:


我最近也遇到了同样的问题,在阅读了文档中提供的源代码后,我得出结论,py2neo的说法是错误的,它说“可以使用元组指定多个键”,不管调用哪个
merge()
(主要是因为它们几乎相同,除了
Graph.merge
使用
Transaction
的自动提交值)它只允许一个键,不喜欢元组类型


或者,您可以使用py2neo函数直接执行Cypher
MERGE
查询,以包括您试图创建/合并的任何节点(例如
Graph.run(“MERGE(:Node{…})”)
).不幸的是,这并不能真正解决问题,但这可能不在我们手中。

我在不同的环境中遇到了类似的问题;我用

a = Node("Person", name, age)
a.__primarylabel__ = "Person"
a.__primarykey__ = "name"
#a.__primarykey__ = "age"
tx.merge(a) # used graph.merge(a)

看起来它不适用于多个关键点,但只有一个关键点是这样工作的:

        topic = Node("Topic", 
            cname=cname, 
            name=name
        )

        graph.merge(
            topic, "Topic", "name"
        )
其中name是要合并的

v4文档

也尝试了。同样的错误。我尝试了graph.merge()和tx.merge()并得到了同样的错误。我也尝试了tx.merge(a)并获取错误:ValueError:合并操作需要主标签和主键。不确定还有什么要做的。在将节点传递给合并函数之前,请先尝试创建一个节点。请参阅以下示例:感谢帮助。我有一个
d={'name':'foo','age':'bar'}
a=node(“Person”,**d)
tx.merge(a)
这给了我一个错误:ValueError:合并操作需要主标签和主键如果这是py2neo的文档或实现中的错误,您是否考虑过在上提出问题?看起来不再支持多键合并: