2014-01-17 48 views
1

我一直在寻找这方面的信息,但无济于事。如何使用Rest API一次性创建带有标签的新节点?现在,我似乎可以完成这一切的唯一方法就是使用下面的代码。如何在Neo4j 2.0中通过REST API创建带标签的节点

 try (Transaction tx = gd.beginTx()) { 
      Map<String, Object> props = new HashMap<>(); 
      //do stuff with props... 
      RestNode node = gd.createNode(props); 
      node.addLabel(Labels.Person); 
      log.debug("Node: username - " + node.getProperty("username") 
        + " added"); 
      tx.success(); 
     } 

当我想插入,使用这种方法的100个节点的说,我觉得我应该能在没有额外调用做添加标签。无论如何,我可以优化这个?

谢谢。

回答

0

底层的RestAPI(Facade)有一个addLabels()方法可以使用,但我不会推荐它。

如果您想要读取您的写入,交易将不起作用。

如果要插入带有标签和属性的100个节点,请使用带参数的Cypher。

这应该工作。

restQueryEngine.query("foreach (p in {names} | create (n:Person {name:name}))",   
         map("names",asList("John","Jane",...))); 
+0

非常感谢Michael ......只是在您的网络研讨会上关注Neo4j 2.0即将发布的功能。尼斯。问题虽然...说我有一个道具列表,我想分配给一个节点集合在一个Java Map集合中,我将如何使用上面的代码片段来讨论它? – Jome

+0

另外迈克尔,我假设地图和asList是静态导入?我会找到哪些包? – Jome

+0

我想我已经把我的头包裹起来了。围绕[文档](http://docs.neo4j.org/chunked/stable/tutorials-cypher-parameters-java.html),并与你的代码段进行比较就可以做到。谢谢。 – Jome

相关问题