这是对我之前的问题的一种扩展,我还没有收到任何回复,发布在这里
我想弄清楚如何创建如下图
但相反,我最终得到
问题是我看到的 MERGE 示例都是基于标签的,并且由于标签是通用的,它最终会在创建发货人 2 的仓库的同时创建发货人 2,因为它们具有相同的名称。我在上一篇文章中遇到的日期和月份类似的问题。
我在 Neo4JClient 中的代码看起来有点像这样(这里是手动输入的示例)
var qry = GraphClient.Cypher
.Merge("(whse:Warehouse{ Name: {whseName}})")
.OnCreate("whse").Set("whse= {newWhseData}")
.With("whse")
.Start(new { root = shipper2Node})
.CreateUnique("(root)-[:HAS_WAREHOUSE]->(whse)")
.WithParams(new { whseName = newWhse.Name, newWhseData= newWhse})
.Return(whse => whse.Node<Warehouse>());
var whseNode = qry.Results.Single();
我真的需要确保我不会为同一个托运人创建重复的仓库,因此在我的代码中使用 Merge,我知道 Merge and Match 正在取代 2.0 中的 Create Unique
我在这里为重新发布在这里道歉,但我不知道如何获得帮助。
在此先感谢,基兰