apoc.create.vNode

这是一个函数也是一个过程。

函数详情

详细信息

语法

apoc.create.vNode(labels [, props ])

描述

返回一个虚拟 NODE(节点)。

参数

名称

类型

描述

标签

LIST<STRING>

分配给虚拟节点的标签列表。

props

MAP

分配给虚拟节点的属性映射。默认值为:{}

返回

NODE

过程详情

详细信息

语法

apoc.create.vNode(labels, props) :: (node)

描述

返回一个虚拟 NODE(节点)。

输入参数

名称

类型

描述

标签

LIST<STRING>

要分配给新虚拟节点的标签。

props

MAP

要分配给新虚拟节点的属性。

返回参数

名称

类型

描述

节点

NODE

创建的虚拟节点。

使用示例

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

CREATE (s:Student {name: 'Alice', score: 71});
CREATE (s:Student {name: 'Mark', score: 95});
CREATE (s:Student {name: 'Andrea', score: 86});
CREATE (s:Student {name: 'Rajesh', score: 89});
CREATE (s:Student {name: 'Jennifer', score: 96});
CREATE (s:Student {name: 'Katarina', score: 80});

apoc.create.vNode 同时提供了过程和函数版本,因此我们可以独立创建虚拟节点,或者根据查询结果返回它们。

例如,我们可能只想为分数创建虚拟节点,这样研究人员就可以检索分数,而无需获取学生数据。

apoc.create.vNode 过程
MATCH (s:Student)
CALL apoc.create.vNode(['Score'],{value: s.score}) YIELD node
RETURN node;
结果
节点

{"value":71}

{"value":95}

{"value":86}

{"value":89}

{"value":96}

{"value":80}

我们还可以即时创建一个将学生与其分数分离的虚拟图。这允许以不同于数据库中物理存在的数据模型来测试或查询数据。

apoc.create.vNode 函数
MATCH (s:Student)
RETURN apoc.create.vNode(['Student'],{name: s.name}) as student,
       apoc.create.vNode(['Score'],{value: s.score}) as score;
结果
student score

{"name":"Alice"}

{"value":71}

{"name":"Mark"}

{"value":95}

{"name":"Andrea"}

{"value":86}

{"name":"Rajesh"}

{"value":89}

{"name":"Jennifer"}

{"value":96}

{"name":"Katarina"}

{"value":80}