python - 不明白为什么这个 AttributeError: 'Graph' object has no attribute 'merge_one' 正在发生
问题描述
我正在学习一个教程,并且我正在使用最后一个 python2(自制软件)和 PyCharm(配置了项目解释器) - 但我被困在这一部分:
from py2neo import Graph, Node
graph = Graph()
nicole = Node("Person", name="Nicole")
graph.create(nicole)
graph.delete(nicole)
nicole = graph.merge_one("Person", "name", "Nicole")
错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'Graph' object has no attribute 'merge_one'
我已经检查了文档,似乎一切正常。我试图卸载并安装 py2neo 的最新版本,但没有成功。我如何解决这个问题?
预期行为:从 python2 控制台运行该命令:如果该人存在,则不要复制它,而是更改其值,如果不存在则创建它。
解决方案
我很快就使用了版本 4 而不是 2。因此,正如@littlebenlittle 建议的那样,使用 Graph.merge 解决了这个问题:
jonh = Node("Person", name="Jonh", age = 21)
graph.create(jonh)
ana = Node("Person", name="Ana", age = 44)
graph.create(ana)
michael = Node("Person", name="Ana", age = 33)
graph.merge(michael, "Person", "name") # So the age of Ana will change to 33, as expected.
要使用与我的问题相关的命令,必须安装版本 2,例如。直接来自py2neo repo:
pip install https://github.com/technige/py2neo/archive/release/2.0.7.zip
推荐阅读
- powerbi - 在 Power BI 中按 DESC 顺序对日期筛选器进行排序
- vue.js - Vue中对象的嵌套for循环
- docker - Dockerfile FROM AS 抛出无效的参考格式
- python - FyPi 中的耦合非线性方程组
- python - MechanicalSoup:无法登录 gmail
- python-3.x - 从现有 DataFrame 制作 DataFrame 的更快代码
- reactjs - React 避免功能组件的重新渲染
- c - 将节点移动到链表中的新索引
- javascript - 如何将此 Javascript 验证应用于多个数字字段?
- reactjs - 在 react-admin 列表中删除(或至少隐藏)卡片