Cypher语言语法简介

来源:互联网 发布:win10 uac 知乎 编辑:程序博客网 时间:2024/05/22 06:05

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语言的章节,当然是英文版的(目前没发现有翻译版的,当然我不提倡大伙去看翻译版的,因为翻译的书不好特别是一些技术书,翻译人员自己本身是不懂技术的翻过来难免有误解的)。

0 0
原创粉丝点击