知识图谱怎么构成的?图数据库为关键一步!neo4j图数据库CURD相关操作(增删改查)

目录

😉前言

最近了解到了一门新的技术《知识图谱》,这门技术被运用到了许许多多的方面,包括智能问答等等,打算借此兴趣来学习一下有关自然语言处理以及如何实现知识图谱。

所谓知识图谱,就是每一个点与每一个点之间有所联系。这里我们如果使用关系型数据库的话,当然也可以实现,使用多对多的方式,但是一旦我们的数据多了起来,就会十分的冗余,看起来也十分的不友好,所以我们可以运用我们的图数据库,他会很明显的显示出每个点与每个点之间有没有联系,以及有什么样的联系,图数据库有很多,我这里选择使用neo4j图数据库,因为这个图数据库比较成熟,也有很多人使用,与python交互也是十分友好的!


✨Neo4j

🎎关于Neo4j图数据库的下载

在安装neo4j之前,我们需要有jdk环境:

JDK安装:https://www.oracle.com/java/technologies/javase-downloads.html

neo4j的官网:

https://neo4j.com/
Neo4j安装:https://neo4j.com/download-center/

配置环境变量后可进行测试,测试命令如下:

neo4j console

如果出现以下画面则就是下载成功:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存失败,源站可能有防盗链机!制,建议将图片保失败,源站可能有防盗链机制,建议将图片保存下来直接上传存下来(img-CluvYGGx-1603803519533)(imC-uvYGGxsq-1603803519533)

进入后会让你进行登录,新用户默认的账号密码都是:neo4j

🎀Neo4j的使用

​ 图数据库也是一个数据库,我们对于一个数据库,我们首先需要如何进行CURD,做一个好的CURD工程师!

​ 打开neo4j数据库会有测试用例,我们可以用来先看看效果,请按照图片箭头进行点击:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RlVsNphF-1603803575751)(img-ApevERCk-1603803491683)

​ 之后点击运行箭头:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i3yA4Y2q-1603803592549)(img-6XABOwYQ-1603803586785)

​ 就会出现提示,我们可以点击它给的create语句来生成一系列的数据来看看效果:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r7BgbqY1-1603803614607)(img-sxYEBVvw-1603803609880)

​ 这样我们一个简单的知识图谱就出现了!

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wXrQQDEH-1603803629047)(img-L1gu63sf-1603803623700)

​ 看完效果之后我们就应该开始学习如何CURD了

​ 在开始之前,我们先把我们有的数据全部删除掉:

MATCH (n)
DETACH DELETE n

🚚增:

create (n:Person {name:'xiaoming',age:18}) // 创捷一个节点,类别是Perseon类,其中name属性为:xiaoming,age属性为:18,这个n,就相当于这个节点的一个变量

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h9w4SSRM-1603803644844)(img-AHb5C3he-1603803491689)

带有关系属性
create (p:Person{name:"我",age:"31"})-[:包工程{金额:10000}]->(n:Person{name:"好大哥",age:"35"}) // 创建两个节点,他们有着包工程这个联系

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A7QiF9t7-1603803663163)(img-XFL711rM-1603803658219)

🚈删:

create(n:Person{name:"Haha",age:1000}) // 创建一个节点
match (n:Person{name:"Haha"}) delete n // 找到这个n,然后把n删了
删除关系
create (n:Person{name:"你",age:"41"})-[:爱情{金额:"998"}]->(p:Person{name:"小哥哥",age:"14"})

match (n:Person{name:"你",age:"41"})-[f:爱情]->(p:Person{name:"小哥哥",age:"14"})
delete f

🚛改:

match (t:Person) where id(t)=835 set t:好人 return t

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8Lml2XcU-1603803676304)(img-wMCAGq4Q-1603803671689)

加上属性
match (a:好人) where id(a)=835 set a.战斗力=200 return a

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KaHGerk7-1603803689225)(img-MASiGgRX-1603803684748)

🚠查:

查的操作太多了,我们需要去查文档

match (p:Person) - [:包工程] -> (n:Person) return p,n // 找到所有Person类并且是有包工程关系的

💔快速清空数据库:

MATCH (n)
DETACH DELETE n

总结

​ 以上就是neo4j图数据库的CURD操作了!

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值