检索节点
1. 查找名为 Tom Hanks 的人物
match (tom {name :"Tom Hanks"}) return tom
或者如下
match (tom2 {name :"Tom Hanks"}) return tom2
tom换成tom2,请自行酝酿他们的区别
tom或tom2是类似于mysql的别名
2. 随机查找10个人物的人名
match (people : Person) return people.name limit 10
这里只返回了name属性,就没有用图形化界面返回了
检索关系
1. 查找“Tom Hanks” 参演过的电影
match(tom:Person {name:"Tom Hanks"})-[:ACTED_IN] -> (TomHanksMovies) return tom,TomHanksMovies
首先匹配节点类型为Person、属性为{name:"Tom Hanks"}的节点,然后匹配此节点具有关系[:ACTED_IN],并且此关系指向某个电影节点的节点。
2. 查找谁导演了电影"Cloud Atlas"
match(cloudAtlas {title: "Cloud Atlas"})<- [:DIRECTED]-(directors) return directors.name
多返回一个参数试下
match(cloudAtlas {title: "Cloud Atlas"})<- [:DIRECTED]-(directors) return directors.name,cloudAtlas.title
3. 查找与Tom Hanks同出演过电影的人
match(tom:Person {name:"Tom Hanks"})- [:ACTED_IN]->(m)<- [:ACTED_IN]- (coActors)return coActors.name
上述指令首先匹配节点类型为Person、属性为{name:"Tom Hanks"}的节点,然后匹配此节点通过[:ACTED_IN]关系指向的节点m,并且同时匹配某个节点coActors也通过[:ACTED_IN]关系指向的节点m,然后返回匹配的节点coActors的name属性。
4. 查找与电影Cloud Atlas相关的所有人
match (people:Person) - [relatedTo] - (:Movie {title:"Cloud Atlas"})return people.name , Type(relatedTo),relatedTo
上述指令先匹配节点类型为Person的节点,然后匹配节点类型为Movie、节点属性为{title:"Cloud Atlas"}的节点,最后匹配他们两者之间存在的某种关系(无论是导演还是演员关系)的情况,然后将人名、关系类型、关系同时返回。