gpt4 book ai didi

neo4j - 有没有办法返回特定标记节点的所有属性键的不同列表

转载 作者:行者123 更新时间:2023-12-04 01:59:30 25 4
gpt4 key购买 nike

我需要获得在我们图中的一组节点上创建的所有属性的不同列表。我知道要做的或在搜索中找到的所有内容都将返回此类标签的所有节点及其各自不同属性的列表。例如:

CREATE (p:Person { name: 'John', age: 40, address: '100 main st' });
CREATE (a:Animal { name: 'Spot', type: 'dog', age: 2, diet: 'dry food'});
CREATE (a:Animal { name: 'Goldie', type: 'fish', family: 'carp' });

我想得到一个不同的列表,它只返回所有动物的所有属性键。
[ name, type, age, diet, family ]

做这样的事情:
MATCH (a:Animal) RETURN distinct keys(a);

为每个节点返回一个列表:
[name, type, age, diet]
[name, type, family]

我只想要所有一种标签类型的现有属性键列表。它还需要能够扩展到数百万个节点。

最佳答案

只需要展开关键集合并重新组合它们。

MATCH (a:Animal) 
UNWIND keys(a) AS key
RETURN collect(distinct key)

或者,如果您希望它们按字母顺序排序,您可以执行以下操作
MATCH (a:Animal) 
UNWIND keys(a) AS key
WITH DISTINCT key
ORDER by key
RETURN collect(key)

或者你可以返回每个键的计数
MATCH (a:Animal) 
UNWIND keys(a) AS key
RETURN key, count(*) AS num
ORDER by num DESC, key

关于neo4j - 有没有办法返回特定标记节点的所有属性键的不同列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48347908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com