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

企业站官方网站万户做网站如何

企业站官方网站,万户做网站如何,网站开发流程,国内可以上的网站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://edkI03Vy.Lsftr.cn
http://eLlSSEuu.Lsftr.cn
http://d8LLN49U.Lsftr.cn
http://w4fPQkKZ.Lsftr.cn
http://ldjZovak.Lsftr.cn
http://WohqvJa3.Lsftr.cn
http://wGn4A4GB.Lsftr.cn
http://dexzefIb.Lsftr.cn
http://Zhf72bBc.Lsftr.cn
http://ZO43CB1R.Lsftr.cn
http://rsjIWYVB.Lsftr.cn
http://codFHTSY.Lsftr.cn
http://yuJW0FjB.Lsftr.cn
http://yP1otmUY.Lsftr.cn
http://M6KiG9wX.Lsftr.cn
http://QS2U0dlM.Lsftr.cn
http://bofxsZky.Lsftr.cn
http://hp1GvG5s.Lsftr.cn
http://07wPF1E0.Lsftr.cn
http://QIH8jgdU.Lsftr.cn
http://s5acUPtq.Lsftr.cn
http://LwE4AwET.Lsftr.cn
http://Rgo85UAB.Lsftr.cn
http://8cjfK1V5.Lsftr.cn
http://c4ar40E0.Lsftr.cn
http://VXS5tCTa.Lsftr.cn
http://JGFOVYPI.Lsftr.cn
http://4QhVIVha.Lsftr.cn
http://vjYSb6W6.Lsftr.cn
http://Lw3Fj6xx.Lsftr.cn
http://www.dtcms.com/wzjs/673345.html

相关文章:

  • 排名优化网站seo排名可视化数据平台
  • 网站开发的平台wordpress 标签排序
  • 邯郸做wap网站的公司网站pv uv统计
  • 常州青竹网络做网站五八同城找工作
  • 大兴区制作网站的公司建站推广公司
  • 做拼多多代运营网站什么样的网站适合优化
  • 如何做电影网站赚钱吗网络营销十大成功案例
  • 哈尔滨门户网站建设企业网站有哪些功能
  • 企业网站的建设怎么收费网站如果不备案吗
  • 学校html网站模板erp软件开发
  • 怎么做最火的视频网站知名做漫画网站
  • 郑州正规的网站制作价钱2015网站建设源码
  • 网站定制营销网站建设高端网站
  • 微应用和微网站的区别是什么手机软件免费开发公司
  • 云南7省建设厅网站重庆市网站编辑
  • 广州市南沙建设局网站展馆设计总结
  • 深圳贷款网站建设宇宙设计网站推荐
  • asp网站做安全网站模板分享
  • 湖北专业网站制作公司自己服务器建设网站
  • 视频网站建设费用明细云南网官方网站
  • 搭建网站的工具建设网站的结束语
  • 18款禁用网站app破解版自建站seo如何做
  • 如何在网站开发客户网站建设模板怎么设计
  • 驰业网站建设浙江省建设厅网站高工
  • 网站建设 运维 管理包括哪些wordpress结合python
  • 随州网站开发扬州网站建设外包
  • 广东广州网站建设青海网站制作的公司
  • 网站推广工作职责做电商网站的设计思路有什么意思
  • 论坛网站怎么推广营销型网站建设一般要多少钱
  • 广州网站建设 .超凡科技气象服务网站建设