图数据库很火啊,所以花了点时间看看。
我看的是neo4j,尝试着用python链接操作,记录一下操作,由于是自己装着玩,就在window10上搞了一个。
NEO4J安装和使用
neo4j下载地址:https://neo4j.com/download-center/ ,我下载的是下图这个版本
下载后解压到自己习惯安装的目录,接下来就是配置了,配置之前要确认是否安装了java的运行环境,neo4j要求是java 11以上,但最新的java 16不能用,需要注意一下。
配置主要是配置环境变量,增加NEO4J_HOME变量,指定到刚才解压的目录,在Path中增加运行目录,见下两图。
这样就完成了配置,通过neo4j console 命令可以验证是否配置好了,见下图
首次使用该命令会提示没有安装neo4j service, 使用了neo4j service_install 命令安装一下
完成后重新启动neo4j就可以使用了
在浏览器中打开 http://localhost:7474/ (默认路径),需要先登录,默认的用户名和密码都是neo4j,登录后会要求你改密码,登录后就可以看到以下界面,使用Cypher语法就可以操作数据库了。
python链接neo4j
我找到的是py2neo,安装后可以链接并操作,还是比较容易
安装命令 pip install py2neo
完成安装可以直接使用,官网的操作手册是 https://py2neo.org/v4/index.html
下面是一段实例,也是看到别人写的,拿来
from py2neo import Node, Graph, Relationship,NodeMatcher,data
graph = Graph("http://localhost:7474/browser/",auth=("neo4j", "123456"))
print('graph 连接成功,开始清库')graph.delete_all()
# 创建结点
test_node_1 = Node('ru_yi_zhuan', name='皇帝')
# 修改的部分
test_node_2 = Node('ru_yi_zhuan', name='皇后')
# 修改的部分
test_node_3 = Node('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)
#使用run查询,之前看到有使用dada方式直接获取的,但是验证了不能用,可能是版本问题
test_node_1 = graph.run("MATCH(p:ru_yi_zhuan{name:'皇帝'}) return p").data()
print(test_node_1)