apoc.graph.fromPaths
Procedure
apoc.graph.fromPaths(paths LIST<PATH>, name STRING, props MAP<STRING, ANY>)
- generates a virtual sub-graph by extracting all of the NODE
and RELATIONSHIP
values from the data returned by the given PATH
values.
This procedure returns virtual nodes and relationships that can only be accessed by other APOC procedures. For more information, see Virtual Nodes & Relationships (Graph Projections). |
Signature
apoc.graph.fromPaths(paths :: LIST<PATH>, name :: STRING, properties :: MAP) :: (graph :: MAP)
Usage Examples
The examples in this section are based on the following sample graph:
CREATE (TheMatrix:Movie {title:'The Matrix', released:1999, tagline:'Welcome to the Real World'})
CREATE (Keanu:Person {name:'Keanu Reeves', born:1964})
CREATE (Carrie:Person {name:'Carrie-Anne Moss', born:1967})
CREATE (Laurence:Person {name:'Laurence Fishburne', born:1961})
CREATE (Hugo:Person {name:'Hugo Weaving', born:1960})
CREATE (LillyW:Person {name:'Lilly Wachowski', born:1967})
CREATE (LanaW:Person {name:'Lana Wachowski', born:1965})
CREATE (JoelS:Person {name:'Joel Silver', born:1952})
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);
MATCH path = (:Person)-[:ACTED_IN]->(:Movie)
WITH collect(path) AS paths
CALL apoc.graph.fromPaths(paths,'test', {})
YIELD graph AS g
RETURN g.nodes AS nodes, g.relationships AS relationships;
nodes | relationships |
---|---|
[(:Movie {tagline: "Welcome to the Real World", title: "The Matrix", released: 1999}), (:Person {name: "Keanu Reeves", born: 1964}), (:Person {name: "Carrie-Anne Moss", born: 1967}), (:Person {name: "Laurence Fishburne", born: 1961}), (:Person {name: "Hugo Weaving", born: 1960})] |
[[:ACTED_IN {roles: ["Neo"]}], [:ACTED_IN {roles: ["Trinity"]}], [:ACTED_IN {roles: ["Morpheus"]}], [:ACTED_IN {roles: ["Agent Smith"]}]] |