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