【neo4j】win/linux安装和使用+cypher+langchian+向量索引


neo4j

默认密码

windows-community安装

官网安装教程
下载页面
提前装一下jdk17

解压和设置NEO4J_HOME就可以了

set NEO4J_ACCEPT_LICENSE_AGREEMENT=yes
set NEO4J_ACCEPT_LICENSE_AGREEMENT=eval

windows-desktop安装和新建database

前置:安装前先删干净

https://blog.youkuaiyun.com/qq_40808877/article/details/133968674
卸载不彻底
C:\Users\xxxxxx.Neo4jDesktop
C:\Users\xxxxxx.Neo4jDesktop\persist
都删了

Desktop版官网安装教程
官网下载的时候会有一个activation key
在这里插入图片描述
然后添加一个database
设置下数据库名和密码,我这里设置的数据库是test,密码是rootroot。
建好就可以start了。start会慢一点。
在这里插入图片描述
启动好后可以打开浏览页面。直接open
在这里插入图片描述
http://localhost:7474是http协议的url
bolt://localhost:7687是bolt协议。
进入http://localhost:7474后输入用户密码,用户名是neo4j,密码是刚刚设置的数据库密码。

linux-community安装(命令行)和新建database

主要问题在于我在linux服务器上没有管理员权限,安装有点别扭。
官网安装教程
具体流程:
先在官网下载对应的文件(linux版)
下载链接
在这里插入图片描述
我下的文件版本是neo4j-community-5.21.2,解压一下:tar zxf neo4j-community-5.21.2
设置下环境变量,把解压后的neo4j-community-5.21.2/bin放到环境变量的path里。

neo4j的启动和停止
启动:neo4j start
console启动:neo4j console
查看运行状态:neo4j status
停止:neo4j stop

csdn上新建database的做法
stackoverflow上新建database的做法
两者是一样的,很暴力,但是好像只能这样。。
具体做法:
安装目录里找到conf/neo4j.conf中的dbms.active_database=neo4j并修改neo4j为新建的数据库名称,然后重启neo4j。
如果找不到,就自己添加。就可以新建database。

可能遇到的问题

遇到问题的时候命令里添加--verbose查看下报错。

Q1 端口被占用?
报错neo4j aused by: io.netty.channel.unix.Errors$NativeIoException: bind(..) failed: Address already in use
解决办法:netstat -tuln | grep <端口号>或者lsof -i:<端口号>
根据报错查看占用的端口,然后杀掉占端口的进程

Q2 转发远程服务器端口号本地端口,从而在本地查看browser
报错WebSocket connection failure. Due to security constraints in your web browser, the reason for the failure is not available to this Neo4j Driver
参考做法(失败)
上述做法是在conf配置里取消一行内容的注释,但是我这版的conf根本没有这行内容。硬添加会报错。
参考做法(成功)
远程服务器端口的7474(http)和(7687)端口都要转发。
尝试了下,需要端口原封不动的转发(即,不能把7474端口转发到7475)。
错误:ssh -R 7475:localhost:7474 -N <本地计算机账号名>@<本地计算机ip>
正确:ssh -R 7474:localhost:7474 -N <本地计算机账号名>@<本地计算机ip>

Q3 输错密码太多次超时
报错Security.AuthenticationRateLimit: The client has provided incorrect authentication details too many times in a row.
https://github.com/neo4j/docker-neo4j/issues/385
只能多等等了。。。等时间过了再回来试试。

python使用

使用参考

Bolt vs Http?

Bolt 协议是一种二进制协议,性能比Http更好。数据多并发强的时候Bolt。 数据少、性能要求不高、查询简单用Http。

参考
照上面参考的使用就可以了,windows和linux两版的连接都没有问题。
密码都设置了rootroot。

neo4j用的cypher查询语言

neo4j包

官网教程

连接driver:
from neo4j import GraphDatabase
driver = GraphDatabase.driver("bolt://localhost:7687", auth=("neo4j", "rootroot"))  # neo4j是用户名 rootroot是密码,根据具体情况填写
增删改查

官网增删改查介绍
注意所有的参数名不能以单个的_结尾,避免和关键词配置参数冲突。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值