初入py2neo的几个错误总结

1,129 阅读2分钟

最原始的代码是

# coding:utf-8
from py2neo import Graph, Node, Relationship

##连接neo4j数据库,输入地址、用户名、密码
graph = Graph('http://127.0.0.1:7687', username="neo4j",password="neo4j")

##创建结点
test_node_1 = Node(label='ru_yi_zhuan', name='皇帝')
test_node_2 = Node(label='ru_yi_zhuan', name='皇后')
test_node_3 = Node(label='ru_yi_zhuan', name='公主')
graph.create(test_node_1)
graph.create(test_node_2)
graph.create(test_node_3)

##创建关系
# 分别建立了test_node_1指向test_node_2和test_node_2指向test_node_1两条关系,关系的类型为"丈夫、妻子",两条关系都有属性count,且值为1。
node_1_zhangfu_node_1 = Relationship(test_node_1, '丈夫', test_node_2)
node_1_zhangfu_node_1['count'] = 1
node_2_qizi_node_1 = Relationship(test_node_2, '妻子', test_node_1)
node_2_munv_node_1 = Relationship(test_node_2, '母女', test_node_3)

node_2_qizi_node_1['count'] = 1

graph.create(node_1_zhangfu_node_1)
graph.create(node_2_qizi_node_1)
graph.create(node_2_munv_node_1)

print(graph)
print(test_node_1)
print(test_node_2)
print(node_1_zhangfu_node_1)
print(node_2_qizi_node_1)
print(node_2_munv_node_1)

第一个错误是:

image.png

在用python连接neo4j数据库时,报错,如标题不在是username参数

link = Graph("http://localhost:7474", username="neo4j", password="。。。")

原因:版本原因 该方法已更新

解决方法:

将连接语句改为:        

link = Graph("http://localhost:7474", auth=("neo4j", "。。。"))

第二个错误是:

image.png

这个错误比较傻,link = Graph("http://localhost:7474", auth=("waws", "waws")),在前文的更改的过程中我们将我们的密码进行了重置,所以误以为用户名也被重置为waws,所以一直爆的错误都是无效的用户名或者密码,我一直一位连不上neo4j的服务器,比较傻缺,更正username就好了link = Graph("http://localhost:7474", auth=("neo4j", "waws"))

这个图是我们在浏览器中更新完密码,我们重新启动neo4j的时候,会有提示信息:

image.png

最终的代码是

# coding:utf-8
from py2neo import Graph, Node, Relationship

##连接neo4j数据库,输入地址、用户名、密码
graph = Graph('http://127.0.0.1:7474', auth=("neo4j","waws"))

##创建结点
test_node_1 = Node(label='ru_yi_zhuan', name='皇帝')
test_node_2 = Node(label='ru_yi_zhuan', name='皇后')
test_node_3 = Node(label='ru_yi_zhuan', name='公主')
graph.create(test_node_1)
graph.create(test_node_2)
graph.create(test_node_3)

##创建关系
# 分别建立了test_node_1指向test_node_2和test_node_2指向test_node_1两条关系,关系的类型为"丈夫、妻子",两条关系都有属性count,且值为1。
node_1_zhangfu_node_1 = Relationship(test_node_1, '丈夫', test_node_2)
node_1_zhangfu_node_1['count'] = 1
node_2_qizi_node_1 = Relationship(test_node_2, '妻子', test_node_1)
node_2_munv_node_1 = Relationship(test_node_2, '母女', test_node_3)

node_2_qizi_node_1['count'] = 1

graph.create(node_1_zhangfu_node_1)
graph.create(node_2_qizi_node_1)
graph.create(node_2_munv_node_1)

print(graph)
print(test_node_1)
print(test_node_2)
print(node_1_zhangfu_node_1)
print(node_2_qizi_node_1)
print(node_2_munv_node_1)

我们看下执行效果

Graph('http://127.0.0.1:7474')
(_0 {label: 'ru_yi_zhuan', name: '\u7687\u5e1d'})
(_1 {label: 'ru_yi_zhuan', name: '\u7687\u540e'})
(皇帝)-[:丈夫 {count: 1}]->(皇后)
(皇后)-[:妻子 {count: 1}]->(皇帝)
(皇后)-[:母女 {}]->(公主)

在浏览器中的样子:

image.png

算是成功的连接上了,开启neo4j的新纪元。