neo4j常见语句-match

以下是match的常用语法
查询节点

//检索节点 (查询 person节点下name字段为Jack Nicholson的数据 )
match(person{name:"Jack Nicholson"}) return person
//用where条件查询
match(p:Person) where p.born=1996 and p.name='Jonathan Lipnicki' return p

使用limit

//查询Person节点 返回10条数据(只返回Person的name字段)
match(p:Person) return p.name limit 10

使用order by

//根据生日降序查询,只返回前10条
match(p:Person) return p order by p.born desc limit 10

查询关系

//查找 Tom Cruise 参演了那些电影 
match(p:Person{name:'Tom Cruise'})-[:ACTED_IN]->(m:Movie) return p,m
//查看那个Person 指导了title='Sleepless in Seattle' 的电影
match(m{title:'Sleepless in Seattle'})<-[:DIRECTED]-(p) return m,p
//查询和Robin Williams共同参演过电影的人(首先匹配节点{name:'Robin Williams'}的人,匹配此节点通过[:ACTED_IN]关系指向的节点m,并且同时
匹配某个节点p2也通过[:ACTED_IN]关系指向的节点m,然后返回匹配节点m的p2对象)
match(p:Person{name:'Robin Williams'})-[:ACTED_IN]->(m)<-[:ACTED_IN]-(p2) return p2
//查询和电影The Birdcage 有关系(所有关系)的人,并返回人名,关系名称,还有关系对象(包含关系属性等)
MATCH(p:Person)-[relatedTo]->(m:Movie {title:"The Birdcage"}) return p.name,type(relatedTo),relatedTo
//查找演员Clint Eastwood 和 演员Hugo Weaving的最短关系路径,其中 shortestPath 是一个内置方法
MATCH p = shortestPath(
    (p1:Person {name: "Clint Eastwood"})-[*]-(p2:Person {name: "Hugo Weaving"})
    ) 
RETURN p
//查询Adam 的朋友的朋友
MATCH(user:User{ name:"Adam"})-[rl:FRIEND]-()-[r2:FRIEND]-(friend_of_a_friend) 
RETURN friend_of_a_friend.name AS fofName
查询外向关系(:Person {name: "Cuba Gooding Jr."}):查找 标签为 Person 且 属性 name 为 "Cuba Gooding Jr." 的节点。
-->:表示 有向关系(从左到右),关系类型未指定(匹配任意类型)。
(movie):匹配与 Person 节点通过关系连接的 目标节点,并将其命名为 movie(变量名),并返回movie
match(:Person{name:"Cuba Gooding Jr."})-->(moive) return moive
查询关联关系(不带方向的)(:Person {name: "Cuba Gooding Jr."}):查找 标签为 Person 且 属性 name 为 "Cuba Gooding Jr." 的节点。
--:表示 无向关系(不区分方向),关系类型未指定(匹配任意类型)。
(movie):匹配与 Person 节点通过关系连接的 任意节点,并将其命名为 movie。
match(:Person{name:"Cuba Gooding Jr."})--(moive) return moive
查询某个节点其关系数量大于N的节点
//查询Person节点,其关系数量大于3的所有数据
MATCH (u:Person)
WHERE size(()-[]-(u)) > 3 
return u
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值