neo4j电影库-关系查询

这篇具有很好参考价值的文章主要介绍了neo4j电影库-关系查询。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

关系类型 数量 源数据 目标数据 属性
ACTED_IN 172 演员 电影 roles(角色扮演)属性,属性值为数组
DIRECTED 44 导演 电影
PRODUCED 15 制片商 电影
WROTE 10 作家 电影
FOLLOWS 3 影评人 影评人
REVIEWED 9 影评人 电影 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文章来源地址https://www.toymoban.com/news/detail-629729.html

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

到了这里,关于neo4j电影库-关系查询的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于知识图谱的电影知识问答系统:训练TF-IDF 向量算法和朴素贝叶斯分类器、在 Neo4j 中查询

    项目设计集合(人工智能方向):助力新人快速实战掌握技能、自主完成项目设计升级,提升自身的硬实力(不仅限NLP、知识图谱、计算机视觉等领域) :汇总有意义的项目设计集合,助力新人快速实战掌握技能,助力用户更好利用 CSDN 平台,自主完成项目设计升级,提升自

    2024年02月16日
    浏览(51)
  • 基于知识图谱的电影推荐系统——Neo4j&Python

    选择TMDB电影数据集,Netflix Prize 数据集下载。 也可直接从这里下载:链接: https://pan.baidu.com/s/1l6wjwcUzy5G_dIlVDbCkpw 提取码: pkq6 。 执行preproc.py文件,进行数据预处理,生成5个处理后的文件: 将上面数据预处理生成的5个文件,放入import文件夹中: 修改main.py中的driver,输入自己

    2024年02月15日
    浏览(48)
  • neo4j批量追加属性、节点、关系

    前提:这个方法是用python连接neo4j再循环执行cql语句来实现的,适合1w条记录以内的数据,太大了就比较慢,平均1s执行30条语句左右。 主要的不同就在于cql语句的使用 连接数据库: 读取节点表和关系表,该文件是存储好的csv文件 中文是替代的文件名字,不是源文件名 替换

    2024年02月16日
    浏览(47)
  • Neo4j入门:手动构建节点关系

    目录 一、基本cypher语句建立节点和关系 建立节点 带属性的节点 一次建立多个节点 建立两个节点之间的关系 二、用CSV文件导入方法对Neo4j Desktop批量创建节点和关系 批量创建节点 创建一个编码为utf-8格式的CSV文件 将CSV文件放入到我们neo4j目录下面的import目录下 回到Neo4j执行

    2024年01月16日
    浏览(51)
  • Neo4j中创建关系的常用操作

    Neo4j图数据库遵循属性图模型来存储和管理其数据。 根据属性图模型,关系应该是定向的。 因此,基于方向性,Neo4j关系被分为两种类型: 单向关系 双向关系 在使用Neo4j CQL CREATE命令来创建两个节点时主要分为一下几种场景(适用于Uni和双向关系): 在两个现有节点之间创

    2024年04月23日
    浏览(38)
  • 图数据库Neo4j——SpringBoot使用Neo4j & 简单增删改查 & 复杂查询初步

    图形数据库是专门用于存储图形数据的数据库,它使用图形模型来存储数据,并且支持复杂的图形查询。常见的图形数据库有Neo4j、OrientDB等。 Neo4j是用Java实现的开源NoSQL图数据库,本篇博客介绍如何在SpringBoot中使用Neo4j图数据库,如何进行简单的增删改查,以及如何进行复杂

    2024年02月06日
    浏览(60)
  • neo4j cypher查询

    1. 创建节点和关系   使用CREATE命令创建节点和关系。例如,要创建一个名为“John”的人节点,可以使用以下命令:   ``` CREATE (:Person {name: \\\'John\\\'}) ```   这将创建一个类型为“Person”的节点,并将其属性“name”设置为“John”。   要创建一个名为“likes”的关系,将“John”节点

    2024年02月08日
    浏览(42)
  • Neo4j导入CSV文件(实体和关系)

    打开cmd切换到neo4j安装目录的bin下,输入以下命令 如果想读取不在import directory中的CSV,则: (1)先改变neo4j默认设置,即:删除dbms.directories.import=import或者在该语句前加“#”; (2)使用 “LOAD CSV FROM file:///C:/XXX/name.csv”(即:file:///+绝对路径), 导入本地CSV文件 。

    2024年02月15日
    浏览(54)
  • Pycharm+Neo4j红楼梦人物关系图谱

    欢迎来到我的主页~【蜡笔小新..】 本篇收录于专栏【Python】 如果对你有帮助,希望点赞收藏加关注啦~ 前言 neo4j基础知识 Pycharm及代码实现  py2neo  数据集获取 代码介绍 Python实验课时,老师提到用知识图谱构建红楼梦的人物关系图,所以课后根据视频和博客的学习,初尝试

    2024年04月14日
    浏览(30)
  • Springboot集成neo4j实现知识图谱关系图

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 使用neo4j来完成人员关系 公司项目有一个功能需要将各个人员关系列出,在参加评选的时候,进行展示和筛选 neo4j是高性能的NOSQL图形数据库,在neo4j中,社区版本只能使用一个database。在neo4j中不存在表的

    2024年02月02日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包