最原始的代码是
# 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)
第一个错误是:
在用python连接neo4j数据库时,报错,如标题不在是username参数
link = Graph("http://localhost:7474", username="neo4j", password="。。。")
原因:版本原因 该方法已更新
解决方法:
将连接语句改为:
link = Graph("http://localhost:7474", auth=("neo4j", "。。。"))
第二个错误是:
这个错误比较傻,link = Graph("http://localhost:7474", auth=("waws", "waws")),在前文的更改的过程中我们将我们的密码进行了重置,所以误以为用户名也被重置为waws,所以一直爆的错误都是无效的用户名或者密码,我一直一位连不上neo4j的服务器,比较傻缺,更正username就好了link = Graph("http://localhost:7474", auth=("neo4j", "waws"))
这个图是我们在浏览器中更新完密码,我们重新启动neo4j的时候,会有提示信息:
最终的代码是
# 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}]->(皇帝)
(皇后)-[:母女 {}]->(公主)
在浏览器中的样子:
算是成功的连接上了,开启neo4j的新纪元。