如何在 py2neo v3 中执行 "match or create" 操作?
How can I perform a "match or create" operation in py2neo v3?
只有当具有相同属性s 的Node/Relationship 不存在于图表中时,我才想创建一个Node/Relationship。如果他们这样做,我想获取相关项目。
现在我正在做一些我认为既不惯用又低效的事情。假设每个 Person
节点都有一对唯一的 (name
, age
),我会这样做:
try:
node = graph.data('MATCH (n:Person) WHERE n.name = {name} AND'
'n.age = {age} RETURN n LIMIT 1',
name=my_name, age=my_age)[0]['n']
except IndexError:
node = Node('Person', name=my_name, age=my_age)
据我了解,find_one()
works only if you have just one property to search for, and match_one()
不允许关系属性。
只有当具有相同属性s 的Node/Relationship 不存在于图表中时,我才想创建一个Node/Relationship。如果他们这样做,我想获取相关项目。
现在我正在做一些我认为既不惯用又低效的事情。假设每个 Person
节点都有一对唯一的 (name
, age
),我会这样做:
try:
node = graph.data('MATCH (n:Person) WHERE n.name = {name} AND'
'n.age = {age} RETURN n LIMIT 1',
name=my_name, age=my_age)[0]['n']
except IndexError:
node = Node('Person', name=my_name, age=my_age)
据我了解,find_one()
works only if you have just one property to search for, and match_one()
不允许关系属性。