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

如果网站打开非常缓慢长沙seo男团

如果网站打开非常缓慢,长沙seo男团,网站公司排行榜前十名,创建网站超市Neo4j 综合练习作业 作业说明 这个作业涵盖了 Neo4j 的多个重要知识点,包括节点和关系的创建、查询、更新、删除以及高级查询功能。请使用 Cypher 语句完成以下所有题目。 数据准备 首先执行以下语句创建示例数据: ACTED_IN: 表示出演关系 DIRECTED: 表示…

Neo4j 综合练习作业

作业说明

这个作业涵盖了 Neo4j 的多个重要知识点,包括节点和关系的创建、查询、更新、删除以及高级查询功能。请使用 Cypher 语句完成以下所有题目。

数据准备

首先执行以下语句创建示例数据:
ACTED_IN: 表示出演关系
DIRECTED: 表示导演关系
PRODUCED: 制片关系
FRIENDS_WITH: 朋友关系

// 创建人物节点
CREATE 
(keanu:Person {name: 'Keanu Reeves', born: 1964, nationality: 'Canadian'}),
(laurence:Person {name: 'Laurence Fishburne', born: 1961, nationality: 'American'}),
(carrie:Person {name: 'Carrie-Anne Moss', born: 1967, nationality: 'Canadian'}),
(lana:Person {name: 'Lana Wachowski', born: 1965, nationality: 'American'}),
(lilly:Person {name: 'Lilly Wachowski', born: 1967, nationality: 'American'}),
(joel:Person {name: 'Joel Silver', born: 1952, nationality: 'American'}),
(hugo:Person {name: 'Hugo Weaving', born: 1960, nationality: 'Australian'}),
(emil:Person {name: 'Emil Eifrem', born: 1978, nationality: 'Swedish'}),// 创建电影节点
(matrix:Movie {title: 'The Matrix', released: 1999, tagline: 'Welcome to the Real World'}),
(matrix2:Movie {title: 'The Matrix Reloaded', released: 2003, tagline: 'Free your mind'}),
(matrix3:Movie {title: 'The Matrix Revolutions', released: 2003, tagline: 'Everything that has a beginning has an end'}),
(devils:Movie {title: 'The Devils Advocate', released: 1997, tagline: 'Evil has its winning ways'}),
(few:Movie {title: 'A Few Good Men', released: 1992, tagline: 'In the heart of the nation\'s capital, in a courthouse of the U.S. government, one man will stop at nothing to keep his honor, and one will stop at nothing to find the truth.'}),// 创建关系
(keanu)-[:ACTED_IN {roles: ['Neo']}]->(matrix),
(keanu)-[:ACTED_IN {roles: ['Neo']}]->(matrix2),
(keanu)-[:ACTED_IN {roles: ['Neo']}]->(matrix3),
(keanu)-[:ACTED_IN {roles: ['Kevin Lomax']}]->(devils),
(laurence)-[:ACTED_IN {roles: ['Morpheus']}]->(matrix),
(laurence)-[:ACTED_IN {roles: ['Morpheus']}]->(matrix2),
(laurence)-[:ACTED_IN {roles: ['Morpheus']}]->(matrix3),
(carrie)-[:ACTED_IN {roles: ['Trinity']}]->(matrix),
(carrie)-[:ACTED_IN {roles: ['Trinity']}]->(matrix2),
(carrie)-[:ACTED_IN {roles: ['Trinity']}]->(matrix3),
(hugo)-[:ACTED_IN {roles: ['Agent Smith']}]->(matrix),
(hugo)-[:ACTED_IN {roles: ['Agent Smith']}]->(matrix2),
(hugo)-[:ACTED_IN {roles: ['Agent Smith']}]->(matrix3),
(emil)-[:ACTED_IN {roles: ['Emil']}]->(matrix),
(lana)-[:DIRECTED]->(matrix),
(lana)-[:DIRECTED]->(matrix2),
(lana)-[:DIRECTED]->(matrix3),
(lilly)-[:DIRECTED]->(matrix),
(lilly)-[:DIRECTED]->(matrix2),
(lilly)-[:DIRECTED]->(matrix3),
(joel)-[:PRODUCED]->(matrix),
(joel)-[:PRODUCED]->(matrix2),
(joel)-[:PRODUCED]->(matrix3),// 创建一些朋友关系
(keanu)-[:FRIENDS_WITH]->(emil),
(keanu)-[:FRIENDS_WITH]->(carrie),
(carrie)-[:FRIENDS_WITH]->(laurence),
(emil)-[:FRIENDS_WITH]->(joel);

作业题目

基础查询

  1. 查询所有Person节点,只返回name属性
  2. 查询所有Movie节点,返回title和released属性
  3. 查询出演过"The Matrix"电影的所有演员的姓名
  4. 查询Keanu Reeves出演过的所有电影的标题

条件查询

  1. 查询1990年到2000年之间发布的电影
  2. 查询国籍不是"American"的演员
  3. 查询出演过至少2部电影的演员
  4. 查询既出演过电影又担任过导演的人

关系查询

  1. 查询Keanu Reeves的朋友(直接朋友,不包括朋友的朋友)
  2. 查询与Keanu Reeves有2跳关系的所有人(朋友的朋友)
  3. 查询与"The Matrix"电影相关的所有人(包括演员、导演、制片人)
  4. 查询共同出演过电影的演员对

聚合与排序

  1. 统计每部电影的演员数量,并按数量降序排列
  2. 查询每个演员出演的电影数量,并按数量降序排列
  3. 查询最年轻的5位演员

更新操作

  1. 为Keanu Reeves添加一个新的属性"gender",值为"male"
  2. 将"The Matrix"电影的tagline更新为"The one that started it all"
  3. 删除Emil Eifrem和Joel Silver之间的朋友关系
  4. 为电影"A Few Good Men"添加一个导演节点Rob Reiner(生于1947年,国籍American),并建立导演关系

路径查询

  1. 查找Keanu Reeves到Hugo Weaving的最短路径(任何关系都可以)

高级查询

  1. 使用OPTIONAL MATCH查询所有电影及其导演(如果有的话)
  2. 使用UNION查询所有加拿大籍的演员和美国籍的导演
  3. 使用CASE表达式为演员分类:出生在1960年前的为"Senior",1960-1970年的为"Middle-aged",1970年后的为"Young"
  4. 使用WITH和LIMIT查询出演电影最多的前3位演员

索引与约束

  1. 为Person节点的name属性创建唯一约束
  2. 为Movie节点的title属性创建索引

删除操作

  1. 删除电影"A Few Good Men"及其所有关系
  2. 删除所有没有出演任何电影的人员

作业答案

// 1. 查询所有Person节点,只返回name属性
MATCH (p:Person) RETURN p.name;// 2. 查询所有Movie节点,返回title和released属性
MATCH (m:Movie) RETURN m.title, m.released;// 3. 查询出演过"The Matrix"电影的所有演员的姓名
MATCH (p:Person)-[:ACTED_IN]->(m:Movie {title: 'The Matrix'}) RETURN p.name;// 4. 查询Keanu Reeves出演过的所有电影的标题
MATCH (p:Person {name: 'Keanu Reeves'})-[:ACTED_IN]->(m:Movie) RETURN m.title;// 5. 查询1990年到2000年之间发布的电影
MATCH (m:Movie) WHERE m.released >= 1990 AND m.released <= 2000 RETURN m;// 6. 查询国籍不是"American"的演员
MATCH (p:Person) WHERE p.nationality <> 'American' RETURN p.name;// 7. 查询出演过至少2部电影的演员
MATCH (p:Person)-[:ACTED_IN]->(m:Movie) 
WITH p, count(m) AS movieCount 
WHERE movieCount >= 2 
RETURN p.name, movieCount;// 8. 查询既出演过电影又担任过导演的人
MATCH (p:Person)-[:ACTED_IN]->(:Movie), (p)-[:DIRECTED]->(:Movie) 
RETURN DISTINCT p.name;// 9. 查询Keanu Reeves的朋友
MATCH (p:Person {name: 'Keanu Reeves'})-[:FRIENDS_WITH]->(friend) 
RETURN friend.name;// 10. 查询与Keanu Reeves有2跳关系的所有人
MATCH (p:Person {name: 'Keanu Reeves'})-[:FRIENDS_WITH*2]->(friendOfFriend) 
RETURN DISTINCT friendOfFriend.name;// 11. 查询与"The Matrix"电影相关的所有人
MATCH (p:Person)-[r]->(m:Movie {title: 'The Matrix'}) 
RETURN p.name, type(r) AS role;// 12. 查询共同出演过电影的演员对
MATCH (p1:Person)-[:ACTED_IN]->(m:Movie)<-[:ACTED_IN]-(p2:Person) 
WHERE p1 <> p2 
RETURN p1.name, p2.name, m.title;// 13. 统计每部电影的演员数量
MATCH (m:Movie)<-[:ACTED_IN]-(p:Person) 
RETURN m.title, count(p) AS actorCount 
ORDER BY actorCount DESC;// 14. 查询每个演员出演的电影数量
MATCH (p:Person)-[:ACTED_IN]->(m:Movie) 
RETURN p.name, count(m) AS movieCount 
ORDER BY movieCount DESC;// 15. 查询最年轻的5位演员
MATCH (p:Person) 
RETURN p.name, p.born 
ORDER BY p.born DESC 
LIMIT 5;// 16. 为Keanu Reeves添加gender属性
MATCH (p:Person {name: 'Keanu Reeves'}) 
SET p.gender = 'male' 
RETURN p;// 17. 更新"The Matrix"的tagline
MATCH (m:Movie {title: 'The Matrix'}) 
SET m.tagline = 'The one that started it all' 
RETURN m;// 18. 删除Emil Eifrem和Joel Silver之间的朋友关系
MATCH (e:Person {name: 'Emil Eifrem'})-[r:FRIENDS_WITH]->(j:Person {name: 'Joel Silver'}) 
DELETE r;// 19. 为"A Few Good Men"添加导演
CREATE (rob:Person {name: 'Rob Reiner', born: 1947, nationality: 'American'});
MATCH (m:Movie {title: 'A Few Good Men'}), (p:Person {name: 'Rob Reiner'}) 
CREATE (p)-[:DIRECTED]->(m);// 20. 查找Keanu Reeves到Hugo Weaving的最短路径
MATCH path = shortestPath((k:Person {name: 'Keanu Reeves'})-[*]-(h:Person {name: 'Hugo Weaving'})) 
RETURN path;// 21. 使用OPTIONAL MATCH查询所有电影及其导演
MATCH (m:Movie) 
OPTIONAL MATCH (d:Person)-[:DIRECTED]->(m) 
RETURN m.title, d.name AS director;// 22. 使用UNION查询所有加拿大籍的演员和美国籍的导演
MATCH (p:Person {nationality: 'Canadian'})-[:ACTED_IN]->(:Movie) 
RETURN p.name AS name, 'Actor' AS role
UNION
MATCH (p:Person {nationality: 'American'})-[:DIRECTED]->(:Movie) 
RETURN p.name AS name, 'Director' AS role;// 23. 使用CASE表达式为演员分类
MATCH (p:Person) 
RETURN p.name, 
CASE WHEN p.born < 1960 THEN 'Senior'WHEN p.born >= 1960 AND p.born < 1970 THEN 'Middle-aged'ELSE 'Young'
END AS ageGroup;// 24. 使用WITH和LIMIT查询出演电影最多的前3位演员
MATCH (p:Person)-[:ACTED_IN]->(m:Movie) 
WITH p, count(m) AS movieCount 
ORDER BY movieCount DESC 
LIMIT 3 
RETURN p.name, movieCount;// 25. 为Person节点的name属性创建唯一约束
CREATE CONSTRAINT unique_person_name FOR (p:Person) REQUIRE p.name IS UNIQUE;// 26. 为Movie节点的title属性创建索引
CREATE INDEX movie_title_index FOR (m:Movie) ON (m.title);// 27. 删除电影"A Few Good Men"及其所有关系
MATCH (m:Movie {title: 'A Few Good Men'}) 
DETACH DELETE m;// 28. 删除所有没有出演任何电影的人员
MATCH (p:Person) 
WHERE NOT (p)-[:ACTED_IN]->() 
DELETE p;

这个作业涵盖了 Neo4j 和 Cypher 的大部分核心功能,包括 CRUD 操作、各种查询模式、路径查找、聚合函数、索引和约束等。完成这个作业后,你应该对 Neo4j 的使用有了全面的了解。

http://www.dtcms.com/wzjs/521437.html

相关文章:

  • 济南网站建设培训seo提供服务
  • 做电商的网站百度总部公司地址在哪里
  • 彩票自己开盘做网站百度云官网
  • 戏曲网站建设的可行性分析如何做营销策划方案
  • 电商网站如何做seo浙江搜索引擎优化
  • 动态网站设计分析成人培训班有哪些课程
  • 中国建设银行网站地图长沙网站推广排名
  • 中学生设计的网站杭州优化建筑设计
  • 软件下载站网站源码免费企业网站seo服务
  • 房地产型网站建设重庆seo关键词排名
  • 如何做考试网站网址解析ip地址
  • 公司做网站需要哪些费用女生seo专员很难吗为什么
  • 做网站开发需要的英语水平百度 官网
  • 做一个网站需要多少人人民日报最新新闻
  • 东莞网站建设 熊掌号公司网站建设服务机构
  • 深圳手机网站定制开发营业推广促销方式有哪些
  • 建立无上气运皇朝湖北seo关键词排名优化软件
  • 网站建设的公司做销售生猪价格今日猪价
  • 合肥市网站建设宁波seo优化报价多少
  • 东莞网站案例营销珠海关键词优化软件
  • 网站建设布局利于优化青岛网站建设运营推广
  • 网站优化描述设置百度云盘官网
  • 企业手机网站建设信息东莞网站推广哪里找
  • 网站建设优化排名广告推广免费
  • 天蝎网站建设全国疫情今天最新消息
  • 自建网站做外贸谷歌推广seo01网站
  • 阿里邮箱 网站开发网站优化课程培训
  • 网站建设管理教程成都百度seo公司
  • 邯郸网站建设唯辛ls15227在线网页制作系统搭建
  • 外贸自建站还是b2b怎么在百度上做广告