Cypher语言语法简介

本文介绍了Cypher语言的基础语法,包括创建(create)、匹配(match)及返回(return)等关键语句,并通过实例展示了如何使用Cypher在Neo4j图数据库中进行数据建模与查询。

Cypher对于neo4j数据库就相当于SQL对于MySQL数据库,Cypher是neo4j的查询语言。 
Cypher是专门为图像数据库设计的语言,它浅显易懂。Cypher的语法结构设计能让开发者很容易看懂。举个例子,假如要创建这么一个数据模型——好友A与好友B是朋友关系,好友B与C也是朋友关系,好友A认识C但C不认识A——这样的数据模型用Cypher描述如下(例-1):

create (A:Personname:'jim'})-[:Friend]->(B:Person {name:'tim'})-[:Friend]->(C:Person {name:'lucy'}), (A)-[:Know]->(C)
 
  • 1
  • 1

(注:()里面的是节点,[]里面的是关系,{}里的是属性, >表示关系的方向) 
可以看见Cypher语言的语法结构很清晰,即使没有学过这门语言的人也能猜到它表示的大概意思。 
接下来就简单介绍下Cypher语言的语法。 
CREATE: 
create语句是创建模型语句,如上面的(例-1)它用于创建数据模型,用法很简单学过SQL的朋友一看就明白,这里就不在举例子了。 
MATCH: 
match语句是查询语句,它的的用法如下(例-2): 
假设你已经在数据库里面创建了如上例子的数据模型,那么现在需要查询A的一个名叫”tim”的朋友

match (a)-[:Friend]->(b)
where b.name='tim'
return b
 
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

RETURN: 
return语句说返回语句,它用于返回查询的结果集。它的用法如(例-2)所示。 
这里举的这三个语句是Cypher里最常用的语句,还有很多其他语句这里就不在举例了。大伙可以去官网下本电《Graph_Databases_2e_Neo4j》这本书里有专门讲Cypher语言的章节,当然是英文版的(目前没发现有翻译版的,当然我不提倡大伙去看翻译版的,因为翻译的书不好特别是一些技术书,翻译人员自己本身是不懂技术的翻过来难免有误解的)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值