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

新技能-大数据利器之图数据库neo4j:3. 初识cypher本文详细介绍 Cypher 语言 它是 Neo4j 图数据库的专用查询语言 类似 SQL 用于节点 关系和属性的创建 查询 更新和删除

大家好,欢迎来到IT知识分享网。

cyhper是什么?

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

cyhper能做什么?

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

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/110865.html

(0)
上一篇 2026-01-28 19:01
下一篇 2026-01-28 19:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信