cyhper是什么?
cyhper是neo4j图数据库的执行语言,类似于mysql、Oracle这类关系型数据库都具备sql语言执行能力,而neo4j与cyhper的关系就像是mysql与sql的关系
cyhper能做什么?
Cypher语句可以查询节点、关系、标签和属性,支持关系查询、统计、汇总操作
Cypher语句可以对节点、关系、标签和属性进行创建、更新和删除操作。
Cypher语句可以管理索引和约束。
cyhper主要命令
(此处仅代表本人常用命令,其他命令请详阅官方文档)
- CREATE:创建节点,关系和属性
- DELETE:删除节点和关系
- SET:添加或更新标签
- MATCH:检索有关节点,关系和属性数据
- WHERE:提供条件过滤检索数据
- RETURN:返回查询结果
cyhper 使用图解
- CREATE 创建

说明:CREATE (a:test),代表创建一个节点test,无属性

说明: create (a : pig {name :“佩奇”}),代表创建一个节点,有一个name的属性,属性的值是:佩奇

说明: create (a : pig {name :“乔治”}) create (b : pig {name :“猪爸爸”}) create (a) - [:父子] -> (b),代表创建两个节点,各有一个name属性,再创建一个关系,a(乔治)与b(猪爸爸)的关系是父子关系 - 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,代表查询乔治和猪妈妈的关系 - SET 修改或新增节点属性

说明:MATCH (n:pig{name:“乔治”}) set n.age=3 return n,代表查询出乔治的节点,修改age属性为3,并返回 - DELETE 删除节点或关系

说明:MATCH (n:pig{name:“佩奇”}) - [r] - () delete r,代表查询出佩奇的所有关系,赋值给r,最终删除r

说明:MATCH (n:pig{name:“佩奇”}) delete n,代表查询出佩奇的节点,赋值给n,最终删除n
cyhper字符串函数
- UPPER 用于将所有字母更改为大写字母
MATCH (n:pig) return UPPER(n.title) - LOWER 用于将所有字母改为小写字母
MATCH (n:pig) return LOWER(n.title) - SUBSTRING 用于获取给定String的子字符串
MATCH (n:pig) return SUBSTRING (n.title, 0,1) - REPLACE 用于替换一个字符串的子字符串
MATCH (n:pig) return REPLACE(n.title, “a”,“b”)
cyhper 聚合
- COUNT 返回由MATCH命令返回的行数
示例:MATCH (n:pig) return count(n) - MAX 从MATCH命令返回的一组行返回最大值
示例:MATCH (n:pig) return max(n.age) - MIN 返回由MATCH命令返回的一组行的最小值
示例:MATCH (n:pig) return min(n.age) - SUM 返回由MATCH命令返回的所有行的求和值
示例:MATCH (n:pig) return sum(n.age) - AVG 返回由MATCH命令返回的所有行的平均值
示例:MATCH (n:pig) return avg(n.age)
总结
- 创建3个节点,并将两个节点创建关系
CREATE (a:Sheeps{name:“喜羊羊”}) CREATE (b:Sheeps{name:“美羊羊”}) CREATE (c:Sheeps{name:“沸羊羊”}) CREATE (a) - [:兄弟] -> (b) - 查询与乔治有关系的所有节点
MATCH p =((a:pig{name:“乔治”}) - [r] -> ()) return p - 查询与乔治有关系的10个节点
MATCH p =((a:pig{name:“乔治”}) - [r] -> ()) return p limit 10 - 查找乔治与猪妈妈的关系,查询深度为5,查到则返回,没有查到则中断
MATCH p =((a:pig{name:“乔治”}) - [*…5] -> (b:pig{name:“猪妈妈”})) return p - 查询乔治与猪妈妈深度10以内查找所有存在的关系中的最短路径关系
MATCH p =shortestpath((a:pig{name:“乔治”}) - [*…5] -> (b:pig{name:“猪妈妈”})) return p










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