关系类型 | 数量 | 源数据 | 目标数据 | 属性 |
---|---|---|---|---|
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 |
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 |