Neo4j的使用

使用Neo4j存储CCKS2019 CKBQA给出的知识库。

下载Neo4j

Neoj4j由于使用Java开发的,所以在Neo4j之前需要安装JDK,Neo4j好像对JDK的版本有什么限制,我安装的是最新的JDK13,但是好像有提示出现说并不适配,实际使用的过程中没有出现错误我也就没有在意,JDK的配置过程可以参考《服务器配置》里关于这部分的记录。
Neo4j从官网下载即可,但是国内下载速度非常慢并且没有可以使用的镜像,所以建议使用服务器翻墙下载。

配置Neo4j

下载后的压缩包在服务器解压即可。

配置环境变量,在.bashrc中添加:

1
export PATH=$PATH:/xxx/xxx/neo4j-community-3.5.14/bin  # xxx代表neo4j的解压路径

1
neo4j start

启动neo4j。启动后会在终端看见neo4j.conf文件地址。

按照linux环境下的Neo4j安装_我是小慧慧-CSDN博客对neo4j进行配置即可。

1
neo4j stop

停止neo4j。

连接Neo4j

启动Neo4j之后,提示可以使用浏览器访问服务器上的Neo4j,URL是http://服务器ip地址:7474/browser/ ,第一次访问的账户和密码都是neo4j,登录后会提示修改初始密码。浏览器访问时可能会出现报错,原因是7474和7687端口的防火墙没有打开,打开之后这个问题就会解决。

Neo4j的索引

创建索引

这是我第一次使用Neo4j,我在成功导入数据后便运行程序开始查询数据库,每个查询需要4min,我需要进行大约3800次,大概需要8天,感觉不太对,后来知道Neo4j需要自己创建索引,创建之后每次查询不需要1s,很快程序就运行完了,我花费了很长时间才发现并解决这个问题。

给 Label 为 Entity 的节点的 name 属性上创建索引,CQL语句如下所示:

1
CREATE INDEX ON:Entity(name)

重复执行上述CQL语句,再次创建索引,不会报错但是没有再创建索引。

删除索引

删除刚才创建的索引,CQL语句如下所示:

1
DROP INDEX ON:Entity(name)

删除成功后,再次删除索引会报错。

Neo4j 创建索引、删除索引、查询索引_学习笔记-CSDN博客