apoc.graph.fromCypher

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

This procedure is not considered safe to run from multiple threads. It is therefore not supported by the parallel runtime (introduced in Neo4j 5.13). For more information, see the Cypher Manual → Parallel runtime.

Details

Syntax

apoc.graph.fromCypher(statement, params, 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 Cypher statement.

Input arguments

Name

Type

Description

statement

STRING

The Cypher statement to create the graph from.

params

MAP

The parameters for the given Cypher statement.

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);
CALL apoc.graph.fromCypher(
  'MATCH (p:Person)-[r:DIRECTED]->(m:Movie) RETURN *',
  {},
  'directors',
  {description: "Virtual Graph of all directorships"}
)
YIELD graph AS g
RETURN g;
Results
g

{name: "directors", relationships: [[:DIRECTED], [:DIRECTED]], nodes: [(:Movie {tagline: "Welcome to the Real World", title: "The Matrix", released: 1999}), (:Person {name: "Lilly Wachowski", born: 1967}), (:Person {name: "Lana Wachowski", born: 1965})], properties: {description: "Virtual Graph of all directorships"}}