您的位置:首页 > 数据库

Cypher语言语法简介

2015-09-05 23:35 337 查看
Cypher对于neo4j数据库就相当于SQL对于Mysql数据库,Cypher是neo4j的查询语言。

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

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


(注:()里面的是节点,[]里面的是关系,{}里的是属性, >表示关系的方向)

可以看见Cypher语言的语法结构很清晰,即使没有学过这门语言的人也能猜到它表示的大概意思。

接下来就简单介绍下Cypher语言的语法。

CREATE:

create语句是创建模型语句,如上面的(例-1)它用于创建数据模型,用法很简单学过SQL的朋友一看就明白,这里就不在举例子了。

MATCH:

match语句是查询语句,它的的用法如下(例-2):

假设你已经在数据库里面创建了如上例子的数据模型,那么现在需要查询A的一个名叫”tim”的朋友

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


RETURN:

return语句说返回语句,它用于返回查询的结果集。它的用法如(例-2)所示。

这里举的这三个语句是Cypher里最常用的语句,还有很多其他语句这里就不在举例了。大伙可以去官网下本电《Graph_Databases_2e_Neo4j》这本书里有专门讲Cypher语言的章节,当然是英文版的(目前没发现有翻译版的,当然我不提倡大伙去看翻译版的,因为翻译的书不好特别是一些技术书,翻译人员自己本身是不懂技术的翻过来难免有误解的)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库