新技能-大数据利器之图数据库neo4j:3. 初识cypher

新技能-大数据利器之图数据库neo4j:3. 初识cyphercyhper 是什么 cyhper 是 neo4j 图数据库的执行语言 类似于 mysql Oracle 这类关系型数据库都具备 sql 语言执行能力 而 neo4j 与 cyhper 的关系就像是 mysql 与 sql 的关系 cyhper 能做什么 Cypher 语句可以查询节点 关系 标签和属性 支持关系查询 统计 汇总操作 Cypher 语句可以对节点 关系 标签和属性进行创建 更新和删除操作

cyhper是什么?

cyhper是neo4j图数据库的执行语言,类似于mysql、Oracle这类关系型数据库都具备sql语言执行能力,而neo4j与cyhper的关系就像是mysql与sql的关系

cyhper能做什么?

Cypher语句可以查询节点、关系、标签和属性,支持关系查询、统计、汇总操作
Cypher语句可以对节点、关系、标签和属性进行创建、更新和删除操作。
Cypher语句可以管理索引和约束。

cyhper主要命令

(此处仅代表本人常用命令,其他命令请详阅官方文档)

  1. CREATE:创建节点,关系和属性
  2. DELETE:删除节点和关系
  3. SET:添加或更新标签
  4. MATCH:检索有关节点,关系和属性数据
  5. WHERE:提供条件过滤检索数据
  6. RETURN:返回查询结果

cyhper 使用图解

  1. CREATE 创建
    在这里插入图片描述
    说明:CREATE (a:test),代表创建一个节点test,无属性
    在这里插入图片描述
    说明: create (a : pig {name :“佩奇”}),代表创建一个节点,有一个name的属性,属性的值是:佩奇
    在这里插入图片描述
    说明: create (a : pig {name :“乔治”}) create (b : pig {name :“猪爸爸”}) create (a) - [:父子] -> (b),代表创建两个节点,各有一个name属性,再创建一个关系,a(乔治)与b(猪爸爸)的关系是父子关系
  2. MATCH 查询
    在这里插入图片描述
    说明: MATCH (n:pig) RETURN n,代表查询pig节点的所有数据,将查询结果赋值给n,RETURN关键字代表返回n的数据给前端
    在这里插入图片描述
    在这里插入图片描述
    说明:MATCH (n:pig{name:“乔治”}) RETURN n,代表查询乔治的数据
    说明:MATCH (n:pig) where n.name=“乔治” RETURN n,效果同上
    在这里插入图片描述
    说明:MATCH p =((a:pig{name:“乔治”}) - [r] -> (b:pig{name:“猪妈妈”})) return p,代表查询乔治和猪妈妈的关系
  3. SET 修改或新增节点属性
    在这里插入图片描述
    说明:MATCH (n:pig{name:“乔治”}) set n.age=3 return n,代表查询出乔治的节点,修改age属性为3,并返回
  4. DELETE 删除节点或关系
    在这里插入图片描述
    说明:MATCH (n:pig{name:“佩奇”}) - [r] - () delete r,代表查询出佩奇的所有关系,赋值给r,最终删除r
    在这里插入图片描述
    说明:MATCH (n:pig{name:“佩奇”}) delete n,代表查询出佩奇的节点,赋值给n,最终删除n

cyhper字符串函数

  1. UPPER 用于将所有字母更改为大写字母
    MATCH (n:pig) return UPPER(n.title)
  2. LOWER 用于将所有字母改为小写字母
    MATCH (n:pig) return LOWER(n.title)
  3. SUBSTRING 用于获取给定String的子字符串
    MATCH (n:pig) return SUBSTRING (n.title, 0,1)
  4. REPLACE 用于替换一个字符串的子字符串
    MATCH (n:pig) return REPLACE(n.title, “a”,“b”)

cyhper 聚合

  1. COUNT 返回由MATCH命令返回的行数
    示例:MATCH (n:pig) return count(n)
  2. MAX 从MATCH命令返回的一组行返回最大值
    示例:MATCH (n:pig) return max(n.age)
  3. MIN 返回由MATCH命令返回的一组行的最小值
    示例:MATCH (n:pig) return min(n.age)
  4. SUM 返回由MATCH命令返回的所有行的求和值
    示例:MATCH (n:pig) return sum(n.age)
  5. AVG 返回由MATCH命令返回的所有行的平均值
    示例:MATCH (n:pig) return avg(n.age)

总结

  1. 创建3个节点,并将两个节点创建关系
    CREATE (a:Sheeps{name:“喜羊羊”}) CREATE (b:Sheeps{name:“美羊羊”}) CREATE (c:Sheeps{name:“沸羊羊”}) CREATE (a) - [:兄弟] -> (b)
  2. 查询与乔治有关系的所有节点
    MATCH p =((a:pig{name:“乔治”}) - [r] -> ()) return p
  3. 查询与乔治有关系的10个节点
    MATCH p =((a:pig{name:“乔治”}) - [r] -> ()) return p limit 10
  4. 查找乔治与猪妈妈的关系,查询深度为5,查到则返回,没有查到则中断
    MATCH p =((a:pig{name:“乔治”}) - [*…5] -> (b:pig{name:“猪妈妈”})) return p
  5. 查询乔治与猪妈妈深度10以内查找所有存在的关系中的最短路径关系
    MATCH p =shortestpath((a:pig{name:“乔治”}) - [*…5] -> (b:pig{name:“猪妈妈”})) return p
今天的文章 新技能-大数据利器之图数据库neo4j:3. 初识cypher分享到此就结束了,感谢您的阅读。
编程小号
上一篇 2024-10-20 21:46
下一篇 2024-10-20 21:30

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/3928.html