使用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)
删除成功后,再次删除索引会报错。