如何获取指定节点类型(如Country)的所有属性?
针对Country节点属性查询的解决方案
1. 返回指定格式的属性列表
如果你需要输出属性名的逗号分隔字符串(如name, iso_2_code, iso_3_code, region, sub.region),可以通过以下查询实现:
MATCH (c:Country) // 取任意一个Country节点的属性名,避免重复返回 WITH DISTINCT keys(c) AS propNames RETURN apoc.text.join(propNames, ", ") AS property_list
注:如果未安装APOC扩展,也可以手动拼接已知属性名:
MATCH (c:Country) RETURN "name, iso_2_code, iso_3_code, region, sub.region" AS property_list
如果需要返回每个节点的属性值按该格式拼接,直接列出属性并拼接即可:
MATCH (c:Country) RETURN c.name + ", " + c.iso_2_code + ", " + c.iso_3_code + ", " + c.region + ", " + c.sub.region AS node_property_values
2. 无模型文档时列出节点类型的所有属性
方法一:提取单个节点的属性(适用于同类型节点属性一致的场景)
取任意一个Country节点,提取其所有属性名:
MATCH (c:Country) LIMIT 1 RETURN keys(c) AS all_country_properties
方法二:统计所有节点的属性(适用于同类型节点属性可能存在差异的场景)
遍历所有Country节点的属性,去重后收集所有存在的属性:
MATCH (c:Country) UNWIND keys(c) AS prop WITH DISTINCT prop RETURN collect(prop) AS all_country_properties
方法三:利用APOC元数据工具(需安装APOC扩展)
直接从数据库元数据中获取Country节点的属性定义:
CALL apoc.meta.schema() YIELD value RETURN value.Country.properties AS country_property_details
内容的提问来源于stack exchange,提问作者GiteNator
相关产品推荐
相关产品推荐

