知识图谱——Neo4j图数据库(未完)

neo4j介绍

经常进警局的人都知道,警察在锁定犯罪嫌疑人前,通过分析嫌疑人之间的关系网络,可以挖掘出关键联系人和潜在凶手。

像这种少量节点(如5人)可用关系型数据库存储一条一条存储。

如果我搬出红楼梦,去做出其中出现的人物网络关系图(结点多,关系复杂),阁下又将怎么应对?

再用传统的关系数据库,想必肯定做不了这件事情。所以我们现在提出来一个东西——图数据库

图数据库优势: 专门设计用于存储和查询高度互联的数据,比关系型数据库更适合处理复杂网络关系。

我们现在说的知识图谱,大部分时候也都是用neo4j这个图数据库去做的

  • 选择理由:
    • 用户基础: 使用人数最多,社区支持完善
    • 学习资源: 官方和开源模板丰富,降低学习成本
    • 问题解决: 报错时容易找到解决方法
    • 提供多种语言接口,包括Java和Python

neo4j的相关教程: https://www.w3cschool.cn/neo4j/neo4j_need_for_graph_databases.html(很实用的编程学习网站)


neo4j的下载网上教程很多,这里不再介绍


演示使用neo4j通过官方示例做一些基本操作

1、打开neo4j,在命令提示符中输入neo4j.bat console,成功启动后,再在浏览器中输入http://localhost:7474/,打开的界面如下

2、按照以下步骤操作,执行官方的电影图

3、点击执行之后,弹出相关执行操作的解释

3.1、创建电影图

3.2、查找名为Tom hanks的结点

3.3查找结点标签为Person,并返回10个person的name

3.4、查找标签为Person,name为Tom hanks的结点饰演的电影

3.5、找个人把Tom Hanks介绍给Tom Cruise

3.6、快速清空数据库


neo4j的增删改查

(先熟悉一下基本的neo4j中的相关操作,实际用的话需要与python交互,用脚本去写)

对于数据库的语法,第一点没必要去背,第二点你也不也不可能背下来,那怎么办?——现用现查

增加一个节点
create( n: Person {name: '我', age: 31})
带有关系属性
create (p:Person {name:"李四",age:"31"})-[:包工程{金额:10000}]->(n:Person {name:"王二",age:"35"})


create(n:Person{name:'闰土',age:31})
match(n:Person{name:"闰土"}) delete n


删除关系
match (p:Person {name:"李四",age:"31"})-[f:包工程]->(n:Person {name:"王二",age:"35"}) delete f

加上标签
match( t: Person) where id(t) = 789 set t:好人 return t

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

修改属性
match (a:好人)where id (a)=789 set a.战斗力=500 return a 

:(查操作太多 直接参考neo4j的例子就好)

match (p:Person)-[:包工程]->(n:Person) return p,n

快速清空数据库:

MATCH(n)

DETACH DELETE n


基本上neo4j图数据库大概内容就这些,有时间我再精细一下,下篇搞一个使用python操作neo4j

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值