C# 使用neo4jclient在一个事务中添加多个节点和关系

C# 使用neo4jclient在一个事务中添加多个节点和关系,c#,neo4jclient,C#,Neo4jclient,我是neo4j和neo4jclient的新手,如果我的问题不正确,请原谅 使用变异密码查询,可以在一个调用中创建多个节点和关系。我想创建一个类似于neo4j附带的电影示例数据的查询,以便在RESTAPI的一篇文章中创建多个节点和关系 可以使用neo4jclinet编写这样的查询吗 我看了下面的文档,但看不到我想要的查询类型的示例。我对这个很陌生,所以也许我错过了 通常有两种方法。第一种方法是将批处理与多个查询结合使用,这是非常有用的。查看源代码可以发现有一些批处理支持(比如GraphClient

我是neo4j和neo4jclient的新手,如果我的问题不正确,请原谅

使用变异密码查询,可以在一个调用中创建多个节点和关系。我想创建一个类似于neo4j附带的电影示例数据的查询,以便在RESTAPI的一篇文章中创建多个节点和关系

可以使用neo4jclinet编写这样的查询吗

我看了下面的文档,但看不到我想要的查询类型的示例。我对这个很陌生,所以也许我错过了


通常有两种方法。第一种方法是将批处理与多个查询结合使用,这是非常有用的。查看源代码可以发现有一些批处理支持(比如
GraphClient.ExecuteBatch
方法),但这些都是私有的

第二种方法是通过将每个节点添加为参数来构建密码查询,这将生成所述的请求。代码如下所示:

var queryBuilder = client.Cypher.
    Create ("(movie:Movide {newMovie})");

foreach (Movie movie in movies) {
    queryBuilder = queryBuilder.WithParam ("newMovie", movie);
}

queryBuilder.ExecuteWithoutResults ()
但是,如果列表中有多个元素,则抛出ArgumentException:“查询中已定义了具有给定键的参数。”

因此,您可能会陷入其中一个棘手的解决方案:

  • 使用多个(索引)参数生成查询
  • 为一个节点执行一个查询
  • 这是令人沮丧的

  • 在我看来,这是一个值得向Readify报告的问题。

    谢谢您的回答。虽然这会添加多个节点,但不会同时添加关系。我一直在寻找链接创建来实现这一点。是的,链接创建方法是我提到的第一个解决方法-您仍然需要手动命名(索引)节点/关系。这实际上就是Neo4j
    dump
    命令所做的。退房看看节点和关系的索引有多巧妙?这仍然是一个棘手的解决办法。“正确”的方法就是我所描述的方法。但事实仍然是,它们在当前版本的Neo4jClient中无法实现。