Neo4j Cypher:如果创建多个元素,则只能创建其中一个元素

时间:2013-12-05 06:39:00

标签: neo4j cypher

所以我正在尝试使用一个非常基本的参数化cypher命令创建一个树,但每当我尝试一次创建多个项目时,我就会收到此错误:

  

如果您创建多个元素,则只能创建其中一个元素。

{
  "query" :  "MATCH (p) WHERE p.id='Hello' CREATE (c {props}), p-[r:CHILD]->c",
  "params" : {  
      "props" : [ {
         "type": 44,
         "title" : "TestNode"
       },{
         "type": 45,
         "title" : "TestNode"
       } ]
    }
 }

我做错了什么?

1 个答案:

答案 0 :(得分:4)

CREATE语句中传递一组映射时,也不能在同一语句中创建关系。

  

通过为Cypher提供一系列地图,它将为每个地图创建一个节点。执行此操作时,您无法在同一个CREATE语句中创建任何其他内容。

See it in the docs here.

您需要做的就是添加另一个CREATE声明:

{
  "query" :  "MATCH (p) WHERE p.id='Hello' CREATE (c {props}) CREATE UNIQUE p-[:CHILD]->c",
  "params" : {  
      "props" : [ {
         "type": 44,
         "title" : "TestNode"
         },{
         "type": 45,
         "title" : "TestNode"
       } ]
    }
 }