我正在使用neo4j 2.01
你能告诉我如何使这个地图文字有效吗?
neo4j-sh (?)$ MERGE (n:person {name:'Alice', age:38, address:{city:'London', residential:true}}) RETURN n;
MatchError: Map(city -> London, residential -> true) (of class scala.collection.immutable.Map$Map2)
提前感谢您的帮助。 马可
答案 0 :(得分:1)
只有RETURN
子句允许使用地图文字。节点上的Neo4j属性可以是基元,字符串或它们的数组。如果要为节点存储更复杂的值,请将复杂值分解为一组节点和关系,并将其附加到具有关系的实体节点:
MERGE (n:person {name:'Alice', age:38})-[:LIVES_IN]->(a:address {city:'London', residential:true}}) RETURN n,a;
即使residential
标志被隐式编码为关系LIVES_IN
,因此您可以省略它并依赖于详细的关系类型。
在RETURN
中使用地图文字:
match (n:person)-[:LIVES_IN]->(a:address) return {name:n.name, age:n.age, address:a}