当前位置: 首页 > news >正文

Neo4j 笔记

启动命令
neo4j console

Cypher句法由四个不同的部分组成, 每一部分都有一个特殊的规则:

start——查找图形中的起始节点。
match——匹配图形模式, 可以定位感兴趣数据的子图形。
where——基于某些标准过滤数据。
return——返回感兴趣的结果。

1、创建节点

-- 创建类型为Person,属性为 {id: 1,name:'盘古',birthday:date("2000-08-18")} 的节点
create(n:Person{id: 1,name:'盘古',birthday:date("2000-08-18")})return ncreate(:`Person`{id: 100,name:'测试'})-- 批量创建节点
create(n:Person{id: 2,name:'鸿钧',birthday:date("2000-08-20")}),(:Person{id: 3,name:'太上老君',birthday:date("2000-08-21")})-- 创建节点为Person 和 Power 顶点数据,即一个节拥有多个类型
create(:`Person`:`Power`{id: 100,name:'测试'})

2、查询所有数据

-- 查询所有信息
MATCH (n) return n-- 查询指定类型(Person和City)节点
MATCH (h:Person),(m:City) return h,m-- 通过条件查询,查询主键id为0的节点,主键查询使用(),如果使用.则表示为属性
match(p:Person) where id(p)=0 return p-- 通过属性查询,查询属性id=1 数据
match(p:Person) where p.id=1 return p

3、修改实体

    match(p:Person) where id(p)=1 set p.birthday="2000-01-01" return p

    通过属性查询并更新属性数据
    match(p:Person) where p.id=1 set p.birthday="1900-01-01" return p


4、删除

    通过属性id删除数据
    match(n:Person{id:1}) delete n
    
    通过条件删除,删除 id > 1的数据
    MATCH (r) WHERE id(r) > 1 DELETE r
    
    删除 作者、文献、期刊所有节点
    match(n:`作者`),(m:`文献`),(k:`期刊`) delete n,m,k
    
    
5、创建关系
   创建 a -> b 的关系
   MATCH(a:Person),(b:Person)WHERE a.id=2 AND b.id=3 CREATE(a)-[r:徒弟]->(b)RETURN r
   
   MATCH(a:Power),(b:Person)WHERE a.name='人界' AND b.name='女娲' CREATE(a)-[r:所属]->(b)RETURN r
   
   创建两个节点及关系
   CREATE (node1)-[:type {prop: 'value'}]->(node2)
   
   三条语句一起执行
    CREATE (TheMatrix:Movie {title:'The Matrix', released:1999, tagline:'Welcome to the Real World'})
    CREATE (Keanu:Person {name:'Keanu Reeves', born:1964})
    CREATE (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrix)

   
   一条语句创建节点同时创建边
   CREATE (TheMatrix:Movie {title:'The Matrix', released:1999, tagline:'Welcome to the Real World'}),
       (Keanu:Person {name:'Keanu Reeves', born:1964}),
       (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrix)


    两个节点多个关系
    CREATE (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrix),
       (Keanu)-[:ACTED_IN2 {roles:['Neo']}]->(TheMatrix)

    # 已有节点 创建关系要先查询在创建
    # 语法1  创建xiaoming的同学是张三
    match (n:Student {name:"xiaoming"}), (m:Student {name:"zhangsan"})
    create (n)-[r:同学]->(m) return n.name, type(r), m.name
    # 语法2  创建lisi的朋友是张三
    match (n:Student), (m:Student) where n.name="lisi" and m.name="zhangsan"
    create (n)-[r:朋友]->(m) return n.name, type(r), m.name
    
    
    批量创建关系
    UNWIND $props AS p match (n:文献{name: p.head}), (m:作者{name: p.tail}) create (n)-[:连接]->(m)

   
--   create (a { name:"a" })-[:rel1]->(b {name :"b"}),(c {name:"c"})-[:rel2]->(d {name:"d"}),...
--    create(a {name: p.headProperty})-[:rel1]->(b {name: p.tailProperty})
    
--    create(`文献`{name: '中国富氦天然气资源研究现状与进展'})-[:作者]->(`作者`{name:'张雪'})
--    create(`文献`{name: '国内外氦气资源勘探开发现状及其对中国的启示'})-[:作者]->(`作者`{name:'李玉宏'})

6、删除边关系

    删除reba节点的关系WORK_AT
    match(p:Person{name: "reba"})-[r:WORK_AT]->() delete r
    
    删除 作者-> 期刊 的边关系 连接
    match(n:`作者`)-[r:`连接`]->(m:`期刊`) delete r
    
    删除所有 边关系"连接"
    MATCH (n)-[rel:`连接`]->(r) delete rel

MATCH (n)-[rel:`连接`]->(r) delete rel
MATCH (n)-[rel:`参考文献`]->(r) delete rel
MATCH (n)-[rel:`发表期刊`]->(r) delete rel
MATCH (n)-[rel:`作者`]->(r) delete rel
match(n:`作者`),(m:`文献`),(k:`期刊`) delete n,m,k
match(n:`作者`),(m:`文献`),(k:`期刊`) return n,m,k

http://www.lryc.cn/news/66158.html

相关文章:

  • 数据库基础应用——概念模型
  • 【学姐面试宝典】前端基础篇Ⅴ——JS深浅拷贝、箭头函数、事件监听等
  • 最新研究,GPT-4暴露了缺点!无法完全理解语言歧义!
  • 商业数据挖掘-第一章-数据探索式分析-1
  • MybatisPlus是否防止SQL注入?
  • 5月第1周榜单丨飞瓜数据B站UP主排行榜(哔哩哔哩平台)发布!
  • 数据的插入删除和更新
  • C# byte[] 与 int 类型互转
  • MySQL---多表联合查询(上)(多表关系、外键约束、学生成绩多表关系、交叉连接查询)
  • 【iOS】—— RunLoop线程常驻和线程保活
  • Springcloud--docker快速入门
  • 基于AT89C51单片机的电子计数器设计与仿真
  • IT程序员如何面对35岁大龄问题?我从公司老板的角度聊聊
  • 【计算机专业漫谈】【计算机系统基础学习笔记】W2-2-2 模运算系统和补码表示
  • vue概述
  • SpringCloud-OpenFeign案例实战
  • ACM - 数学 - 提高(还没学多少)
  • JavaScript class和继承的原理
  • Playwright-python 自动化测试【Anaconda】环境配置
  • 攻防世界-web-simple js
  • 【SpringCloud】初始微服务
  • 均摊时间复杂度
  • 夏驰和徐策的解决数学问题思路——反证法
  • 面向开发人员的 ChatGPT 提示词教程 - ChatGPT Prompt Engineering for Developers
  • 虹科方案|使用 HK-TRUENAS支持媒体和娱乐工作流程-1
  • DDR5内存彻底白菜价,国外大厂却整出了比着火更离谱的骚操作
  • Linux网络——Shell编程之函数
  • GQCNN+PointNetGPD思路和问题--chatGPT
  • Mysql索引(2):索引结构
  • Spring框架介绍和应用实践