当前位置: 首页 > news >正文

neo4j电影库-关系查询

关系类型数量源数据目标数据属性
ACTED_IN172演员电影roles(角色扮演)属性,属性值为数组
DIRECTED44导演电影
PRODUCED15制片商电影
WROTE10作家电影
FOLLOWS3影评人影评人
REVIEWED9影评人电影summary(影评摘要)和 rating(评分)属性

【先按照书本整理下,等理解加深后,再加对应注释】

序号查询目的脚本
1查找所有相关电影、人物、关系MATCH (n) RETURN n
2查找名为“Tom Hanks”的人物MATCH (person{name:"Tom Hanks"}) RETURN person
3随机查找10个人物的人名MATCH (people:Person) RETURN people.name LIMIT 10
4随机查找10个人物MATCH (people:Person) RETURN people LIMIT 10
5查找1990-2000年之间发行的电影名称

MATCH (nineties:Movie)

WHERE nineties.released>1990 AND nineties.released<2000

RETURN nineties.title,nineties.released

ORDER BY nineties.released

6查找"Tom Hanks"参演过的电影名称

MATCH (people:Person{name:"Tom Hanks"})-[:ACTED_IN]->(actorMovies)

RETURN people,actorMovies

7查找谁导演了电影“Cloud Atlas”

MATCH (move {title:"Cloud Atlas"}) <- [:DIRECTED] - (directors)

RETURN directors.name

8查找与Tom Hanks一同出演过电影的人

MATCH (people:Person{name:"Tom Hanks"})-[:ACTED_IN]->(m)<-[:ACTED_IN]-(acActors)

RETURN acActors.name,m.title

9查找与电影"Cloud Atlas"相关的人

MATCH (people:Person) - [relatedTo] - (movie:Movie {title:"Cloud Atlas"})

RETURN people.name,Type(relatedTo),relatedTo,movie.title

10查找与演员"Kevin Bacon"存在4条及以内关系的任何演员和电影

MATCH (people:Person{name:"Kevin Bacon"}) - [*1..4] - (hollywood)

RETURN DISTINCT hollywood

11查找与演员"Kevin Bacon"与"Meg Ryan"之间的最短关系路径

MATCH p=shortestPath((people:Person{name:"Kevin Bacon"}) - [*] - (other:Person{name:"Meg Ryan"}))

RETURN p

12查找没有与Tom Hanks合作过的演员

1、先找到Tom Hanks还没有合作过的演员,但Tom Hanks的合作伙伴曾经与其合作过

2、找到一个可以向他的潜在合作者介绍Tom Hanks的人

MATCH (people:Person{name:"Tom Hanks"}) - [:ACTED_IN]->(m)<-[:ACTED_IN]-(others),

(others)-[:ACTED_IN]->(m2)<-[:ACTED_IN]-(otherothers)

WHERE NOT (people)- [:ACTED_IN]->(m2)

RETURN otherothers.name AS Recommended,count(*) AS Strength

ORDER BY Strength DESC

13找人将Tom Hanks介绍给Tom Cruise

MATCH

(tom:Person{name:"Tom Hanks"})-[:ACTED_IN]->(m)<-[:ACTED_IN]-(others),

(others)-[:ACTED_IN]->(m2)<-[:ACTED_IN]-(cruise:Person{name:"Tom Cruise"})

RETURN tom,m,others,m2,cruise

14匹配某个电影相关的演员和导演等多种关系

MATCH (movie:Movie{title:'The Matrix Reloaded'})<-[:ACTED_IN|DIRECTED]-(person)

RETURN person.name

15单条最短路径shortestPath函数

MATCH (apeople:Person{name:'Tom Hanks'}),(bpeople:Person{name:'Tom Cruise'}),

p=shortestPath((apeople)-[*..4]-(bpeople))

RETURN p

16所有最短路径allshortestPaths函数

MATCH (apeople:Person{name:'Tom Hanks'}),(bpeople:Person{name:'Tom Cruise'}),

p=allshortestPaths((apeople)-[*..4]-(bpeople))

RETURN p

http://www.lryc.cn/news/117970.html

相关文章:

  • 2020/10-2023/7 Notes
  • 在UOS系统中管理ORACLE数据库
  • 以http_proxy和ajp_proxy方式整合apache和tomcat(动静分离)
  • 【pinia】Pinia入门和基本使用:
  • Linux 文件系统(一)系统目录
  • 『CV学习笔记』Opencv和PIL Image以及base64编码互相转化
  • 行业追踪,2023-08-07
  • CSRF 攻击和 XSS 攻击分别代表什么?如何防范?
  • RabbitMQ: 详解、使用教程和示例
  • redis NOAUTH Authentication required 可能不是密码问题
  • 动态规划解0-1背包问题(超详细理解)
  • 有哪些可能引起前端安全的问题?
  • 【Unity实战100例】用户头像圆形遮罩使用Shader不用Mask组件
  • arm-linux-gnueabihf-g++ gcc编译、优化命令 汇总
  • vmwera中安装的centos8出现ifconfig不可用
  • 线性表中的时间复杂度
  • ensp与虚拟机搭建测试环境
  • linux内核中的 指针 和 unsigned long
  • STM32--GPIO
  • 剑指 Offer ! 61. 扑克牌中的顺子
  • 《玩转Python数据分析专栏》大纲
  • Zabbix自动注册服务器及部署代理服务器
  • SpringBoot下使用自定义监听事件
  • 并发编程面试题1
  • 【对于一维信号的匹配】对一个一维(时间)信号y使用自定义基B执行匹配追踪(MP)研究(Matlab代码实现)
  • 【Oracle 数据库 SQL 语句 】积累1
  • Django中级指南:理解并实现Django的模型和数据库迁移
  • Chatgpt API调用报错:openai.error.RateLimitError
  • 一键获取数百张免费商用人脸!AI人脸生成器来袭
  • 跳跃游戏 II——力扣45