Neo4j中的嵌套地图和集合2

con*_*dit 6 neo4j cypher

我知道节点和关系属性仅限于基本类型或基本类型数组.Neo4j 2.1参考卡的"地图"部分提到:

{姓名:'Alice',年龄:38岁,地址:{city:'London',住宿:true}}

文字地图用花括号声明,就像属性地图一样.支持嵌套地图和集合.

当然是这样的:

CREATE (alice {name:'Alice', age:38, address:{city:'London', residential:true}})
Run Code Online (Sandbox Code Playgroud)

抛出异常:

Error: Property values can only be of primitive types or arrays thereof Neo.ClientError.Statement.InvalidType
Run Code Online (Sandbox Code Playgroud)

在什么情况下Neo4j支持嵌套的地图和集合?

cyb*_*sam 4

(已编辑)

参考卡有点太微妙了。最重要的一个词就是“字面意思”。换句话说,您只能在文字中使用任意嵌套的映射和数组,但不能将这些东西存储在节点或关系中。

例如,这有效:

WITH {name:'Alice', age:38, address:[{city:'London', residential:true}, {city: 'Paris', residential: false} ]} AS x
RETURN x;
Run Code Online (Sandbox Code Playgroud)

但这失败了:

CREATE (x {name:'Alice', age:38, address:[{city:'London', residential:true}, {city: 'Paris', residential: false} ]})
RETURN x;
Run Code Online (Sandbox Code Playgroud)

  • 那么如何存储它们呢? (2认同)