首页 > 解决方案 > py2neo 存在返回错误结果

问题描述

当我使用 py2neo exists() 我得到一个错误的结果,我认为结果将是“真”,但是当我使用它时它给出一个“假”

c = Node("Person", name="Alice")
g.exists(c)

它返回一个'False',但是当我这样改变时

c = a
g.exists(c)

我会得到一个“真”,为什么?

from py2neo import Graph,Node,Relationship
g = py2neo.Graph('http://localhost:7474', user='yudeng',password='yudeng')
a = Node("Person", name="Alice")
b = Node("Person", name="Bob")
ab = Relationship(a, "KNOWS", b)
print(a)
g.create(a)
g.create(b)
g.create(ab)
c = Node("Person", name="Alice")
g.exists(c)

标签: pythonneo4jexistspy2neo

解决方案


当你只是陈述

c = Node("Person", name="Alice")
g.exists(c)

结果:

False

没有

g.create(c)

然后节点不存在,因为您没有在图中创建节点。

这是您执行以获得 True 的内容:

a = Node("Person", name="Alice")
b = Node("Person", name="Bob")
ab = Relationship(a, "KNOWS", b)
print(a)
g.create(a)
g.create(b)
g.create(ab)
c = a
g.exists(c)

因为 c 等于 a 这意味着节点存在 => Node("Person", name="Alice") 然后可以用 a 和 c 找到。

结果:

(:Person {name: 'Alice'})

True

推荐阅读