apoc.graph.fromPaths

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).
Details

Syntax

apoc.graph.fromPaths(paths, name, props) :: (graph)

Description

Generates a virtual sub-graph by extracting all of the NODE and RELATIONSHIP values from the data returned by the given PATH values.

Input arguments

Name

Type

Description

paths

LIST<PATH>

A list of paths to extract nodes and relationships from.

name

STRING

The name of the resulting graph.

props

MAP

The properties to include in the resulting graph.

Return arguments

Name

Type

Description

graph

MAP

The resulting graph.

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;
Results
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"]}]]