Cypher 查询语言

Cypher 查询语言

一、三要素:节点、关系、模式
1.1 节点

基本用法:

MATCH (node:Label) RETURN node.property
MATCH (node1:Label1)-->(node2:Label2)
WHERE node1.propertyA = {value}
RETURN node2.propertyA, node2.propertyB

我们通常用圆括号来包含节点标示符(当然也可以不用)。里面的内容也叫变量,变量不是单指某一个节点,而是服从条件的节点组合。如(p:Person),如果想添加属性:(p: Person {name: “yinglish”})。 注意:节点标签、关系类型和属性名称区分大小写。其中节点之间用:’–>’,包含关系的可以用’->’

1.2 关系

有以下几种关系型写法:

-[rel:KNOWS]-> //单关系,关系的变量名为rel,类型是 KNOWS
(a)-[:KNOWS|:LIKE]->(b) //查询a到b的两类关系
-[{since:2010}]-> //附加属性
-[:KNOWS*..4]-> example: a -[rel: type*minHop..maxHop]-> b  //从a节点到b节点最少可经过minHop、最大可经过maxHop个节点

举例:

MATCH (n1:Label1)-[rel:TYPE]->(n2:Label2)
WHERE rel.property > {value}
RETURN rel.property, type(rel)
二、使用案例demo
1、创建自己’You’的节点
CREATE (you:Person {name:"You"})
RETURN you

在这里插入图片描述

2、创建与自己关系的节点
MATCH (you:Person {name:"You"})
CREATE (you)-[like:LIKE]->(neo:Database {name:"Neo4j" })
RETURN you,like,neo

在这里插入图片描述

3、批量创建与自己有关的朋友
MATCH (you:Person {name:"You"})
FOREACH (name in ["Johan","Rajesh","Anna","Julia","Andrew"] |
 CREATE (you)-[:FRIEND]->(:Person {name:name}))
 match(n) return n

其中,foreach表示循环,反复create。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值