是否有针对 return 节点的所有属性但不包括特定 属性 的任何 Cypher 查询?

Is there any Cypher Query for to return all the properties of a node but excluding a particular property?

检索 Neo4j 中特定节点的所有属性是许多查询中的一种习惯。但是如何检索不包括特定 属性、标签和 ID 的节点的属性?

如果以下查询在成功连接后由 java 程序执行:

MATCH (n: `Group_A`: `Topper`) RETURN n

现在,然后它在屏幕上打印的输出是:

{"id":4, "labels":["Group_A", "Topper"], "name":"tom", "shift":"morning", "salary":"5000", "blood_group":"AB", "specialisation":"C#"}

我期望节点的所有 属性 (n: Group_A: Topper),不包括 属性 类型及其值、id 和与节点关联的标签。 因此,屏幕上所需的输出将如下所示:

{"name":"tom", "shift":"morning", "blood_group":"AB", "specialisation":"C#"}

=========================================== =========================== [N.B。 - 我正在使用 Neo4j jar 文件,我在其中触发 Neo4j 的查询并使用 println() 方法获取结果。我的 Neo4j 运行 在后台。 Neo4j 成功连接后一切正常,但我正在搜索 Neo4j 查询。]

[更新]

为避免获取节点元数据(在您的客户端结果中),您不应直接 return 节点。相反,您可以使用 PROPERTIES() 函数来获取地图中的属性:

MATCH (n: `Group_A`: `Topper`)
RETURN PROPERTIES(n) AS props

但是如果您想要避免return使用某些属性(例如“薪水”),您可以使用apoc.map.removeKey()删除它们的功能。由于该函数 return 是一个映射而不是节点,因此它也不包含任何元数据(因此在这种情况下您不需要使用 PROPERTIES() 函数)。例如:

MATCH (n: `Group_A`: `Topper`)
RETURN apoc.map.removeKey(n, 'salary') AS props

你可以使用地图投影。

所有节点属性(无元数据)

MATCH (n: `Group_A`: `Topper`)
RETURN n {.*} 

具体属性

MATCH (n: `Group_A`: `Topper`)
RETURN n {.prop1, .prop2}