我是Neo4j和Neo4jClient的新手。我想更新现有的关系。以下是我创建这种关系的方式。
var item2RefAddedBefore = _graphClient.CreateRelationship((NodeReference<Item>)item2Ref,
new AddedBefore(item1Ref, new Payload() { Frequency = 1 }));
对于这个特定的用例,我想在节点和关系已经存在时更新Payload。我主要使用Cypher和Neo4jClient。
感谢任何帮助!
答案 0 :(得分:3)
使用此IGraphClient
签名:
void Update<TRelationshipData>(RelationshipReference<TRelationshipData> relationshipReference, Action<TRelationshipData> updateCallback)
where TRelationshipData : class, new();
像这样:
graphClient.Update(
(RelationshipReference<Payload>)item2RefAddedBefore,
p => { p.Foo = "Bar"; });
更新:语法现在有点尴尬,其中CreateRelationship
只返回RelationshipReference
而不是RelationshipReference<TData>
,但Update
要求后者,所以你需要明确地施展它。说实话,我们可能不会很快解决这个问题,因为Neo4j和Neo4jClient的所有投资都将通过Cypher进行突变。