如何在neo4j中使用cypher获取节点属性列表

时间:2014-04-14 17:53:13

标签: neo4j cypher

我正在尝试列出一组节点的所有属性。

Match (n:"Indicator")
return properties(n), ID(n) 

我不确定语法,无法在refcard或docs中找到答案。

5 个答案:

答案 0 :(得分:9)

在Neo4j 3.0.0版中你可以这样做:

Match (n:Indicator) return properties(n), ID(n) 

返回节点的ID和属性。

答案 1 :(得分:5)

目前你无法使用cypher执行此操作,但它位于创意板上的top five上。

答案 2 :(得分:2)

MATCH (n)
RETURN DISTINCT keys(n), size(keys(n))
ORDER BY size(keys(n)) DESC 

答案 3 :(得分:0)

如果需要带有键和值的节点的属性,则

Properties(n)起作用,但是如果仅需要以简单的方式查看属性名称,则可以执行此操作。 示例:

MATCH (n:Indicator) return ID(n), keys(n), size(keys(n))

结果: Results from neo4j browser

您可以毫无问题地退出ID(n)和size(keys(n)),但是如果您需要标识不具有所需属性或不完整的节点,那就很好了。

如果您在相同类型的Node上具有通用和重复的属性,也可以使用DISTINCT。

MATCH (n:Indicator) return DISTINCT ID(n), keys(n), size(keys(n))

正如我所说,这也可以正常工作,并为您提供所需的属性数组。

MATCH (n:Indicator) return keys(n)

结果:Result only returning keys

但是您可以使用DISTINCT来恢复一长串结果

MATCH (n:Indicator) return DISTINCT keys(n)

结果:Result with only the differents lists of properties that the Node (n) have

答案 4 :(得分:0)

如果您安装了APOC,我将使用它来获取所有节点属性组合的明确列表:

ndk.dir=C\:\\Users\\USER\\AppData\\Local\\Android\\Sdk\\ndk\\21.3.6528147

注意:您没有没有使用APOC,但如果没有,您将得到重复的值相同但顺序不同的东西,因此排序将它们合并在一起