Это своего рода расширение моего предыдущего вопроса, на который я еще не получил ответов, который опубликован здесь
Я пытаюсь понять, как создать график, как показано ниже
Но вместо этого я получаю
Проблема в том, что все примеры MERGE, которые я вижу, основаны на метке, и, поскольку метка является универсальной, она в конечном итоге собирает склады грузоотправителя 1 при создании грузоотправителя 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 заменяет Create Unique в 2.0.
Я извиняюсь за повторную публикацию здесь, но я не был уверен, как еще получить помощь.
Заранее спасибо, Киран