什么是Cypher?和Neo4j有什么关系?

什么是Cypher?

Cypher是一种声明式图形查询语言,可用于表达性和高效的查询更新和管理。它旨在同时适合开发人员和运营专业人员。Cypher的设计既简单又强大。可以轻松表达高度复杂的数据库查询,使您可以专注于自己的域,而不会迷失在数据库访问中。

Cypher受到许多不同方法的启发,并以用于表达查询的既定实践为基础。许多关键字(例如WHEREORDER BY)均受到SQL的启发。模式匹配借鉴了SPARQL的表达方法。某些列表语义是从Haskell和Python等语言中借用的。Cypher的结构基于英文散文和简洁的图像,使查询变得容易,无论是写作还是阅读。

Cypher基于SQL的强大功能-SQL是查询关系数据库的标准。但是,Cypher是专门为图形数据和遍历设计和优化的。尽管语言都没有好或坏,但它们各有长处和目的。

为什么选择Cypher?

我们已经知道Neo4j的属性图模型由节点和关系组成,这些节点和关系也可能具有与之关联的属性。但是,节点和关系是构建属性图模型最有价值和功能最强大的部分-模式的简单组件。模式由节点和关系元素组成,可以表示简单或复杂的遍历和路径。

模式识别是大脑工作方式的基础。因此,人类非常擅长处理模式(例如可视化图表,甚至是内存匹配游戏)。Cypher很大程度上也是基于模式的,旨在识别数据中这些模式的各种版本,使其成为用户学习的一种简单而逻辑的语言。

Cypher与SQL?

Cypher就像SQL是一种声明性文本查询语言,但用于图形。

与SQL不同,Cypher完全是关于表达图形模式的。我们添加了一个特殊子句MATCH来匹配您数据中的这些模式。这些图案是您通常在白板上绘制的图案。

关系数据库将数据存储在具有固定结构(模式)的表中,每列具有名称,类型,长度,约束等。表之间的引用通过将一个表的主键作为列重复,将另一个表作为外键重复来表示。对于多对多引用,需要JOIN表(或链接表)作为连接表之间的人为构造。

规范化的关系模型可以直接转换为等效图模型。图模型主要由用例驱动,因此之后将有机会进行优化和模型演化。

后续文章我们开始讲解Cypher常用语法。

有疑问请点赞和留言哈图片,我会及时回复。

- 本期完 -

为方便看最新内容,记得关注哦!

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值