因为要做一个知识图谱系统,所以接触到了neo4j,现总结踩过的坑:
1. 版本问题(非常重要)
neo4j 3.xxx 对应 jdk 8,neo4j 4.xxx 对应jdk 11 neo4j 5.xxx 对应jdk17
如果打算做一个系统后端的版本要早点确定,我用的是jdk 8
配置
1.如果只是操作neo4j,安装neo4j按着网上的流程走一遍登录之后就可以建立springboot项目进行操作了
重要语句:
查询节点
@Query("match (n:标签名) return n")
match (n:标签名) where n.属性名 contains {0} return n //模糊查询,{0}表示传入的参数创建节点(带标签,比如公司,产品之类的)
@Query("match (n:标签名)")删除节点
@Query("match (n:标签名) delete n")
@Query("match (n:标签名) detach delete n") // 连同关系一起删除
@Query("match (n{属性名:{0}}) detach delete n")
// 实际代码,当时传了一个参数,{0}表示获取第一个参数,其他地方自行变通查询节点
@Query("match (n:标签名) return n")2.我做知识图谱系统的时候,我们组还用到了protege进行本体构建,然后再将构建好的数据导入neo4j,具体的构建流程和版本配置可以去搜索一下
在把数据导入neo4j之前,要先清空数据库,也就是将neo4j安装目录下 - > data -> database里的文件删除,然后导入相关文件,导入后就可以进行增删改查操作了
关于关系的操作:
查询:
match p=()-[r:关系名]->() return p创建:
match (n:标签名{属性名:{0}}),(m:标签名{属性名:{1}})
create (n) - [:关系名] -> (m)创建两个节点之间的关系,基于springboot项目,{0}和{1}代表获取方法传入的参数
删除:
match () -[r] -> () where ID(r)={0} delete r知识图谱应该会自动给关系添加一个id
606

被折叠的 条评论
为什么被折叠?



