Neo4j数据库常用命令 CQL 命令

avatar 2024年01月25日12:24:26 0 220 views
博主分享免费Java教学视频,B站账号:Java刘哥

最近准备做一个与知识图谱相关的项目,需要用到Neo4j数据库,也就是一种图数据库,存储数据,简单学了下CQL命令,留作备份。

一、查询命令

1) 查询全部数据

match(n:person) return n

 

2) 查询指定字段

match(n:person) return n.name, id(n)

 

3) 加筛选条件:法一

match(n:person) where n.name = '唐僧' return n.name, id(n)

 

3) 加筛选条件:法二

match(n:person {name: '唐僧'}) return n.name, id(n)

 

4) 关联2张表查询

match (n:person {name:'唐僧'}),(m:xiyouRelation {from: '唐僧'}) return n.name,m.relation,m.to

 

二、添加和删除命令

1) 创建 student 表,只有name字段,并插入三条数据

create (:student {name:"小红"}), (:student {name:"张三"}), (:student {name:"小明"})

 

2) 给 小明->小红 创建关联关系

match (n:student {name:"小明"}),(m:student {name:"小红"}) create (n)-[r:同学]->(m) return n.name,type(r),m.name

 

3) 根据关系表,创建关联

match (n:person {name: '唐僧'}), (m:xiyouRelation), (s:person ) where m.from='唐僧' and m.to=s.name
create (n)-[:西游人物关系{relation:m.relation}]->(s)
return n.name, m.relation, s.to

 

4)删除关系

MATCH (n:person{name: "唐僧"})<-[r]-(m) delete r return type(r)
MATCH (n:person{name: "唐僧"})-[r]->(m) delete r return type(r)

 

5) 删除节点

MATCH (n:person{name:"白龙马"}) delete n

 

三、导入数据

1) 导入实体数据

load csv from "file:///人物.csv" as line
create (:person {name:line[0]}) 

 

2) 导入三元组数据(关联关系表)

load csv from "file:///西游记.csv" as line
create (:xiyouRelation {from:line[1],relation:line[3],to:line[0]})

 

四、其他

  • 修改用 SET,如 SET age = 18
  • 分页查询用 LIMIT 和 SKIP
  • 删除表用 DELETE,同上删除节点,只是筛选条件去掉

 

 

  • 微信
  • 交流学习,有偿服务
  • weinxin
  • 博客/Java交流群
  • 资源分享,问题解决,技术交流。群号:590480292
  • weinxin
avatar

发表评论

avatar 登录者:匿名
匿名评论,评论回复后会有邮件通知

  

已通过评论:0   待审核评论数:0