apoc.graph.fromData

此过程返回的节点和关系只能由其他 APOC 过程访问。有关更多信息,请参阅 虚拟节点和关系(图投影)
详细信息

语法

apoc.graph.fromData(nodes, rels, name, props) :: (graph)

描述

通过从给定数据中提取所有的 NODERELATIONSHIP 值来生成一个虚拟子图。

输入参数

名称

类型

描述

节点

LIST<NODE>

要包含在结果图中的节点。

rels

LIST<RELATIONSHIP>

要包含在结果图中的关系。

名称 (name)

STRING

生成的图的名称。

props

MAP

要在生成的图中包含的属性。

返回参数

名称

类型

描述

graph(图)

MAP

生成的图。

使用示例

本节中的示例基于以下示例图

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;
结果
键 (key)

"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"

{}