apoc.graph.fromData

Procedure

apoc.graph.fromData(nodes LIST<NODE>, rels LIST<RELATIONSHIP>, name STRING, props MAP<STRING, ANY>) - generates a virtual sub-graph by extracting all of the NODE and RELATIONSHIP values from the given data.

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.fromData(nodes :: LIST<NODE>, relationships :: LIST<RELATIONSHIP>, name :: STRING, properties :: MAP) :: (graph :: MAP)

Input parameters

Name Type Default

nodes

LIST<NODE>

null

relationships

LIST<RELATIONSHIP>

null

name

STRING

null

properties

MAP

null

Output parameters

Name Type

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 (p:Person)-[r:ACTED_IN]->(m:Movie)
WITH collect(m) + collect(p) AS nodes, collect(r) AS relationships
CALL apoc.graph.fromData(nodes, relationships, "movies", {})
YIELD graph AS g
UNWIND keys(g) AS key
RETURN key, g[key] AS value;
Table 1. Results
key value

"name"

"movies"

"relationships"

[[:ACTED_IN {roles: ["Neo"]}], [:ACTED_IN {roles: ["Trinity"]}], [:ACTED_IN {roles: ["Morpheus"]}], [:ACTED_IN {roles: ["Agent Smith"]}]]

"nodes"

[(: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})]

"properties"

{}