apoc.agg.graph
语法 |
|
||
描述 |
返回所有不同的 `NODE` 和 `RELATIONSHIP` 值,并收集到一个 `MAP` 中,键为 `nodes` 和 `relationships`。 |
||
参数 |
名称 |
类型 |
描述 |
|
|
要从中返回节点和关系的路径。 |
|
返回 |
|
||
使用示例
本节中的示例基于以下示例图
CREATE (Keanu:Person {name:'Keanu Reeves', born:1964})
CREATE (TomH:Person {name:'Tom Hanks', born:1956})
CREATE (TheDevilsAdvocate:Movie {title:"The Devil's Advocate", released:1997, tagline:'Evil has its winning ways'})
CREATE (TheMatrix:Movie {title:'The Matrix', released:1999, tagline:'Welcome to the Real World'})
CREATE (TheMatrixReloaded:Movie {title:'The Matrix Reloaded', released:2003, tagline:'Free your mind'})
CREATE (SleeplessInSeattle:Movie {title:'Sleepless in Seattle', released:1993, tagline:'What if someone you never met, someone you never saw, someone you never knew was the only someone for you?'})
CREATE (ThatThingYouDo:Movie {title:'That Thing You Do', released:1996, tagline:'In every life there comes a time when that thing you dream becomes that thing you do'})
CREATE (YouveGotMail:Movie {title:"You've Got Mail", released:1998, tagline:'At odds in life... in love on-line.'})
CREATE (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrix)
CREATE (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrixReloaded)
CREATE (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheDevilsAdvocate)
CREATE (TomH)-[:ACTED_IN {roles:['Joe Fox']}]->(YouveGotMail)
CREATE (TomH)-[:ACTED_IN {roles:['Sam Baldwin']}]->(SleeplessInSeattle)
CREATE (TomH)-[:ACTED_IN {roles:['Mr. White']}]->(ThatThingYouDo);
以下示例使用 APOC 和 Cypher 提取了基努·里维斯和汤姆·汉克斯在 1998 年之前参演电影的子图
apoc.agg.graph
MATCH path = (person:Person)-[:ACTED_IN]->(movie)
WHERE movie.released < 1998
WITH apoc.agg.graph(path) AS g
RETURN g.nodes AS nodes, g.relationships AS relationships
Cypher 的 COLLECT {}
MATCH path = (person:Person)-[:ACTED_IN]->(movie)
WHERE movie.released < 1998
RETURN
COLLECT {
UNWIND nodes(path) AS n
RETURN DISTINCT n
} AS nodes,
COLLECT {
UNWIND relationships(path) AS r
RETURN DISTINCT r
} AS relationships
| 节点 | 关系 |
|---|---|
[(:Person {name: "基努·里维斯", born: 1964}), (:Person {name: "汤姆·汉克斯", born: 1956}), (:Movie {tagline: "邪恶有它的致胜之道", title: "魔鬼代言人", released: 1997}), (:Movie {tagline: "如果你从未见过,从未遇到过,从未认识的某人,却是你命中注定的唯一?", title: "西雅图不眠夜", released: 1993}), (:Movie {tagline: "在每个人的生命中,都会有那么一个时刻,你梦想的事情变成了你正在做的事情", title: "那件事你做了", released: 1996})] |
[[:ACTED_IN {roles: ["尼奥"]}], [:ACTED_IN {roles: ["萨姆·鲍德温"]}], [:ACTED_IN {roles: ["怀特先生"]}]] |