是否有任何有线查询可以返回节点的所有属性,但不包括特定属性



检索 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_ATopper(,不包括属性类型及其值,与节点关联的标签。因此,屏幕中所需的输出看起来像:

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

==================================================================================[N.B. - 我正在使用neo4j jar文件,其中我要触发 Neo4j的查询并使用 println()方法获得结果。我的Neo4j在后台运行。在Neo4j的成功连接中,所有这些都可以正常工作,但我是对Neo4j查询的搜索。]

[更新]

要避免获得节点元数据(在客户端结果中(,您不应直接返回节点。相反,您可以使用properties((函数仅获取地图中的属性:

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

但是,如果您也想避免返回某些属性(例如"薪金"(,则可以使用apoc.map.removekey((函数来删除它们。由于该功能返回地图而不是节点,因此它也不包含任何元数据(因此,在这种情况下,您不需要使用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} 

最新更新