【发布时间】:2017-12-12 21:37:06
【问题描述】:
我是 Neo4j 的新手,我正在为我的需求建模。有人可以确认,是否可以将按维数组创建为节点属性?这种财产检索的成本有多大?
【问题讨论】:
我是 Neo4j 的新手,我正在为我的需求建模。有人可以确认,是否可以将按维数组创建为节点属性?这种财产检索的成本有多大?
【问题讨论】:
无法创建。如果您尝试,错误消息甚至会告诉限制:
CREATE (node:SomeLabel {prop: [[1, 2], [3, 4]]})
Neo.ClientError.Statement.TypeError
包含集合的集合不能存储在属性中。
有趣的是,如果您添加一个仅包含一个元素的列表,您会得到另一条错误消息(至少在 3.2.6 中):
CREATE (node:SomeLabel {prop: [[1, 2]]})
Neo.ClientError.Statement.TypeError
属性值只能是原始类型或其数组
请注意,这是数据模型的限制。但是,Cypher 查询语言 允许您创建 n 维数组。因此,这是一个完全有效的 Cypher 查询:
RETURN [[1, 2], [3, 4]] AS x
【讨论】: