|| apoc.create.virtual.fromNode - APOC 核心文档 - Neo4j 文档

apoc.create.virtual.fromNode

详情

语法

apoc.create.virtual.fromNode(node, propertyNames, config)

描述

从给定现有 NODE 返回一个虚拟 NODE。虚拟 NODE 只包含请求的属性。

参数

名称

类型

描述

node

NODE

用于生成虚拟节点的节点。

propertyNames

LIST<STRING>

要复制到虚拟节点的属性。

config

MAP

{ wrapNodeIds = false :: BOOLEAN }。默认值为 {}在 APOC 2025.01 中引入

返回

NODE

使用示例

本节中的示例基于以下图

CREATE (a:Account {type: 'checking', ownerName: 'Maria Perez', ownerId: '123456789', accountNumber: 101010101, routingNumber: 10101010, amount: 1000.00, bank: 'Best Bank'});
CREATE (p:Person {name: 'Jane Doe', birthdate: date('1990-01-13'), favoriteColor: 'green', favoriteDessert: 'ice cream', favoriteMusic: 'classical', favoriteBand: 'The Beatles', favoriteVacation: 'beach', favoriteAnimal: 'horse', favoriteBeverage: 'coffee', favoriteFlower: 'lily'});

apoc.create.virtual.fromNode 过程提供了一种只显示或返回所需数据的方式,同时隐藏任何不必要或敏感的部分。

以下示例展示了如何使用该过程从上述节点中仅返回非敏感属性

apoc.create.virtual.fromNode
MATCH (a:Account {accountNumber: 101010101})
RETURN apoc.create.virtual.fromNode(a, ['type','bank']);
结果
account

{"type":"checking","bank":"Best Bank"}

apoc.create.virtual.fromNode 过程也可以用于简化具有许多属性的节点,只显示对查询重要的属性。

以下示例展示了这种用法

apoc.create.virtual.fromNode
MATCH (p:Person {name: 'Jane Doe'})
RETURN apoc.create.virtual.fromNode(p, ['favoriteColor','favoriteAnimal','favoriteMusic']);
结果
favorites

{"favoriteAnimal":"horse","favoriteMusic":"classical","favoriteColor":│

"green"}

封装节点

默认情况下,此函数会将节点的 ID 更改为负数,表示虚拟节点。为了保留原始 ID,请使用配置项 { wrapNodeIds: true }

apoc.create.virtual.fromNode
CREATE (p:Person {name: 'Jane Doe'})
WITH apoc.create.virtual.fromNode(p, ['name'], { wrapNodeIds: true }) AS node
RETURN id(node) AS id;
结果
id

1

© . This site is unofficial and not affiliated with Neo4j, Inc.