【问题标题】:set label in cypherquery dynamically在 cypherquery 中动态设置标签
【发布时间】:2020-02-05 10:32:56
【问题描述】:

我正在尝试使用以下(分解查询)将一些数据存储在 neo4j 数据库中,但不是 100% 正确,但所有数据都发送到我的数据库:

var query2Neo = "CREATE (p:Person { samAccountName:'" + de.Properties["samAccountName"].Value + "'});

作为我的下一步,我尝试用真实数据而不只是人来编写标签:

 var query2Neo = "CREATE (p:'" + de.Properties["samAccountName"].Value + "' { samAccountName:'" + de.Properties["samAccountName"].Value + "'})";

这不起作用,但我应该考虑一下吗?

【问题讨论】:

    标签: c# neo4j cypher


    【解决方案1】:

    这只是由于标签周围的单引号。

    您的代码将生成类似 CREATE (n:'Person' { ...}) 的查询,但它无效。

    你应该使用反引号(`)所以它

    CREATE (n:`Person` { ...})
    

    所以你的代码应该是:

    var query2Neo = "CREATE (p:`" + de.Properties["samAccountName"].Value + "` { samAccountName:'" + de.Properties["samAccountName"].Value + "'})";
    

    此外,对于您的属性值,您应该使用查询参数而不是在代码中生成密码查询(但这对于标签是不可能的)。可以将地图作为参数发送。

    【讨论】:

    • 谢谢。您是否有在查询密码和网络时使用参数或映射的示例?最好的问候
    猜你喜欢
    • 1970-01-01
    • 2016-10-07
    • 1970-01-01
    • 1970-01-01
    • 2017-04-30
    • 2018-05-22
    • 2020-05-01
    • 2013-12-16
    • 2017-01-21
    相关资源
    最近更新 更多