2.1 创建电影节点
CREATE(TheMatrix:Movie {title: 'The Matrix', released:1999, tagline: 'Welcome to the Real World'});
2.2 创建人物节点
CREATE (Keanu:Person {name: 'Keanu Reeves', born:1964});
2.3 创建演员、导演关系
CREATE
(Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrix),
(Carrie)-[:ACTED_IN {roles:['Trinity']}]->(TheMatrix),
(Laurence)-:ACTED_IN {roles:['Morpheus']}]->(TheMatrix),
(Hugo)-[:ACTED_IN {roles:['Agent Smith']}]->(TheMatrix),
(LillyW)-[:DIRECTED]->(TheMatrix),
(LanaW)-[:DIRECTED]->(TheMatrix),
(JoelS)-[:PRODUCED]->(TheMatrix);
2.4 查找名为“Tom Hanks”的人物
MATCH (tom {name: "Tom Hanks"}) RETURN tom;
2.5 随机查找10个人物的人名
MATCH (people:Person) RETURN people.name LIMIT 10;
2.6 查找名为“Cloud Atlas”的电影
MATCH (cloudAtlas {title: "Cloud Atlas"}) RETURN cloudAtlas;
2.7 查找1990年到2000年发行的电影的名称
MATCH (nineties:Movie)
WHERE nineties.released > 1990 AND nineties.released < 2000
RETURN nineties.title;
2.8 查找“Tom Hanks”参演过的电影的名称
MATCH (tom:Person {name: "Tom Hanks"})-[:ACTED_IN]->(tomHanksMovies) RETURN tom, tomHanksMovies;
2.9 查找谁导演了电影“Cloud Atlas”
MATCH (cloudAtlas {title: "Cloud Atlas"})<-[:DIRECTED]-(directors) RETURN directors.name;
2.10 查找与Tom Hanks同出演过电影的人
MATCH (tom:Person {name: "Tom Hanks"})-[:ACTED_IN]->(m)<-[:ACTED_IN]-(coActors) RETURN coActors.name;
2.11 查找与电影“Cloud Atlas”相关的所有人
MATCH (people:Person)-[relatedTo]-(:Movie {title: "Cloud Atlas"}) RETURN people.name, Type(relatedTo), relatedTo;
2.12 查找与演员Kevin Bacon存在4条及以内关系路径的任何演员和电影
MATCH (bacon:Person {name: "Kevin Bacon"})-[*1..4]-(hollywood) RETURN DISTINCT hollywood;
2.13 查找与演员Kevin Bacon与Meg Ryan之间的最短关系路径
MATCH p=shortestPath(
(bacon:Person {name: "Kevin Bacon"})-[*]-(meg:Person {name: "Meg Ryan"})
)
RETURN p;
2.14 查找没有与Tom Hanks合作过的演员
MATCH (tom:Person {name: "Tom Hanks"})-[:ACTED_IN]->(m)<-[:ACTED_IN]-(coActors),
(coActors)-[:ACTED_IN]->(m2)<-[:ACTED_IN]-(cocoActors)
WHERE NOT (tom)-[:ACTED_IN]->(m2)
RETURN cocoActors.name As Recommended, count(*) As Strength
ORDER BY Strength DESC;
2.15 查找可以将Tom Hanks介绍给Tom Cruise的演员
MATCH (tom:Person {name: "Tom Hanks"})-[:ACTED_IN]->(m)<-[:ACTED_IN]-(coActors),
(coActors)-[:ACTED_IN]->(m2)<-[:ACTED_IN]-(cruise:Person {name: "Tom Cruise"}) RETURN tom, m, coActors, m2, cruise;
2.16 清空所有Person、Movie节点及其所有关系
MATCH (a:Person), (m:Movie)
OPTIONAL MATCH (a)-[r1]-(), (m)-[r2]-()
DELETE a,r1,m,r2;
2.17 查询任意数据
MATCH (n) RETURN n;