neo4j 实战、实例、查询示例

检索节点

1. 查找名为 Tom Hanks 的人物

match (tom {name :"Tom Hanks"}) return tom

或者如下

match (tom2 {name :"Tom Hanks"}) return tom2

tom换成tom2,请自行酝酿他们的区别

tom或tom2是类似于mysql的别名

2. 随机查找10个人物的人名

match (people : Person) return people.name limit 10

这里只返回了name属性,就没有用图形化界面返回了

检索关系

1. 查找“Tom Hanks” 参演过的电影

match(tom:Person {name:"Tom Hanks"})-[:ACTED_IN] -> (TomHanksMovies) return tom,TomHanksMovies

首先匹配节点类型为Person、属性为{name:"Tom Hanks"}的节点,然后匹配此节点具有关系[:ACTED_IN],并且此关系指向某个电影节点的节点。

2. 查找谁导演了电影"Cloud Atlas"

match(cloudAtlas {title: "Cloud Atlas"})<- [:DIRECTED]-(directors) return directors.name

多返回一个参数试下

match(cloudAtlas {title: "Cloud Atlas"})<- [:DIRECTED]-(directors) return directors.name,cloudAtlas.title

3. 查找与Tom Hanks同出演过电影的人

match(tom:Person {name:"Tom Hanks"})- [:ACTED_IN]->(m)<- [:ACTED_IN]- (coActors)return coActors.name

上述指令首先匹配节点类型为Person、属性为{name:"Tom Hanks"}的节点,然后匹配此节点通过[:ACTED_IN]关系指向的节点m,并且同时匹配某个节点coActors也通过[:ACTED_IN]关系指向的节点m,然后返回匹配的节点coActors的name属性。

4. 查找与电影Cloud Atlas相关的所有人

match (people:Person) - [relatedTo] - (:Movie {title:"Cloud Atlas"})return people.name , Type(relatedTo),relatedTo

上述指令先匹配节点类型为Person的节点,然后匹配节点类型为Movie、节点属性为{title:"Cloud Atlas"}的节点,最后匹配他们两者之间存在的某种关系(无论是导演还是演员关系)的情况,然后将人名、关系类型、关系同时返回。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值