You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Cypher查询Neo4j中实体属性的数据类型?

如何用Cypher查询Neo4j节点属性的数据类型?

完全可以用Cypher实现这个需求,以下是具体的查询方案:

基础结构化查询

如果需要属性名与类型的结构化结果集,使用typeof()函数获取属性类型,结合UNWIND遍历节点的所有属性:

-- 匹配指定标签的节点,此处以Person为例
MATCH (p:Person)
-- 展开节点的所有属性名
UNWIND keys(p) AS propKey
-- 返回属性名和对应的数据类型
RETURN propKey, typeof(p[propKey]) AS propType
ORDER BY propKey

针对你提供的示例节点,查询结果如下:

propKeypropType
activeboolean
ageinteger
namestring

生成格式化文本结果

如果要输出你示例中name: string这类单行文本格式,可通过STRING_AGG将结果拼接成指定格式的字符串:

MATCH (p:Person)
UNWIND keys(p) AS propKey
WITH propKey + ': ' + typeof(p[propKey]) AS line
RETURN STRING_AGG(line, '\n') AS formattedResult

返回的formattedResult内容为:

active: boolean
age: integer
name: string

注意事项

  • 若需查询单个特定节点,可在MATCH后添加WHERE条件(如WHERE p.name = 'Alice'),避免同标签节点存在属性类型不一致时的结果重复
  • typeof()返回的是Neo4j标准数据类型名称,包含string、integer、boolean、float、date等

内容的提问来源于stack exchange,提问作者Santiago Galiano Segura

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 18:15:36