c# - Neo4jClient 测试节点是否存在、获取 NodeReference 或创建的最佳方法

标签 c# neo4jclient

这是我的问题。 我在我的 Neo4j 人员列表中插入(具有唯一标识符)并在他们之间创建关系。

知道这个人是否已经存在于 Neo4j 中然后创建/更新它的最有效方法是什么? 由于 Neo4jclient 不支持标签,将类型信息存储为节点的属性是否更有效,还是将所有相同类型的节点链接到该类型的“根节点”更好?

提前谢谢你,

埃默里克

最佳答案

Neo4jClient 通过标准 Cypher 支持标签。 (构建 1.0.0.602 及更高版本。)

graphClient
    .Merge("(p:Person {jim}")
    .WithParam("jim", new Person { Name = "Jim" })
    .ExecuteWithoutResults();

你也可以返回:

var jimNode = graphClient
    .Merge("(p:Person {jim}")
    .WithParam("jim", new Person { Name = "Jim" })
    .Return(p => p.Node<Person>())
    .Results
    .Single();

关于c# - Neo4jClient 测试节点是否存在、获取 NodeReference 或创建的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19266023/

相关文章:

c# - MySQL - 架构无效且未为 .....(等)的实例指定映射

c# - WPF 中的文本框绑定(bind)更新

c# - 拆分字符串(生日)得到日、月、年

c# - 使用精确格式的 Sql 转换日期

neo4j - 在Neo4j中将对象存储为属性

c# - 如果两者都存在,如何调用Foo(此对象o)而不是Foo(此T t)?

c# - Neo4j 和参数化查询

c# - 如何在 Html.TextBoxFor 中格式化 DateTimeOffset?

c# - neo4jclient 不支持表达式类型 Add

c# - 如何通过带有密码的 neo4jclient 返回关系及其属性