|| apoc.create.removeRelProperties - APOC Core 文档 - Neo4j 文档

apoc.create.removeRelProperties

详情

语法

apoc.create.removeRelProperties(rels, keys) :: (rel)

描述

从给定的 RELATIONSHIP 值中移除指定的属性。

输入参数

名称

类型

描述

rels

ANY

要移除属性的关系。

keys

LIST<STRING>

要从给定节点中移除的属性键。

返回参数

名称

类型

描述

rel

RELATIONSHIP

已更新的关系。

使用 Cypher 移除属性

属性可以在 Cypher 中动态引用,无需使用 APOC。

用于动态移除节点或关系属性的 Cypher 语法
REMOVE n[key]

动态计算的键必须解析为 STRING 值。更多信息请参阅Cypher 手册 → 动态移除属性

使用示例

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

CREATE (jennifer:Person {name: "Jennifer", community: 1, partition: 4})
CREATE (karin:Person {name: "Karin", community: 4, partition: 2})
CREATE (elaine:Person {name: "Elaine", community: 3, partition: 3})
MERGE (jennifer)-[:FRIENDS {since: datetime("2019-06-01")}]-(karin)
MERGE (jennifer)-[:FRIENDS {since: datetime("2019-05-04")}]-(elaine)

我们可以使用 APOC 和 Cypher 删除所有关系属性

apoc.create.removeRelProperties
CALL db.propertyKeys()
YIELD propertyKey
WITH collect(propertyKey) AS propertyKeys
MATCH (:Person)-[friends:FRIENDS]->(:Person)
WITH collect(friends) AS friendsRels, propertyKeys
CALL apoc.create.removeRelProperties(friendsRels, propertyKeys)
YIELD rel
RETURN startNode(rel).name AS start, rel, endNode(rel).name AS end
使用 Cypher 的动态属性
MATCH (p1:Person)-[friends:FRIENDS]->(p2:Person)
FOREACH (key IN keys(friends) | REMOVE friends[key])
RETURN DISTINCT p1.name AS start, friends, p2.name AS end
结果
开始 rel 结束

"Jennifer"

[:FRIENDS]

"Elaine"

"Jennifer"

[:FRIENDS]

"Karin"

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