尝试在Neo4J C#Client上使用相同的命令进行展开和合并

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了尝试在Neo4J C#Client上使用相同的命令进行展开和合并相关的知识,希望对你有一定的参考价值。

我试图从列表中创建一批节点,但我想确保neo4j数据库中不存在这些节点,我设法在单个节点上执行此操作,但我也想为我的批处理节点启用它试过这个命令:

    graphClient.Cypher
        .Unwind(NodesList, "singleNode")
        .Merge("(node:Node {Id : {innerNode}.Id})")
        .OnCreate()
        .Set("innerNode= singleNode")
        .WithParams("innerNode")
        .ExecuteWithoutResults();

我收到“参数计数不匹配”的错误

  • 我还是Neo4J的新手,我在c#语言中找不到任何一个有同样问题的人

非常感谢先进。

答案

我假设NodesList是你想要MERGE的节点列表 - 实质上,你需要从你的查询中删除innerNode,并使用你从singleNode传入的UNWIND

graphClient.Cypher
    .Unwind(NodesList, "singleNode")
    .Merge("(node:Node {Id : singleNode.Id})")
    .OnCreate()
    .Set("node = singleNode")
    .ExecuteWithoutResults();

这应该会让你到那里

以上是关于尝试在Neo4J C#Client上使用相同的命令进行展开和合并的主要内容,如果未能解决你的问题,请参考以下文章

neo4j 密码匹配命令连接

Neo4j 可以在节点中存储字典吗?

如何使用 ngrok 公开在 localhost 上运行的 neo4j 实例以供 google colab 使用?

Neo4j在链接在一起的节点上对相同属性执行平均操作

系统报 “client没有所需的特权” 的解决方法

无法在Gentoo上启动neo4j 3.0.0