C# 动态设置cypherquery中的标签
我正在尝试将一些数据存储在neo4j数据库中,并使用以下(分解查询)功能,虽然不是100%正确,但所有数据都会发送到我的数据库:C# 动态设置cypherquery中的标签,c#,neo4j,cypher,C#,Neo4j,Cypher,我正在尝试将一些数据存储在neo4j数据库中,并使用以下(分解查询)功能,虽然不是100%正确,但所有数据都会发送到我的数据库: var query2Neo = "CREATE (p:Person { samAccountName:'" + de.Properties["samAccountName"].Value + "'}); 作为我的下一步,我尝试用真实数据而不仅仅是人来写标签: var query2Neo = "CREATE (p:'" + de.Properties["samAcc
var query2Neo = "CREATE (p:Person { samAccountName:'" + de.Properties["samAccountName"].Value + "'});
作为我的下一步,我尝试用真实数据而不仅仅是人来写标签:
var query2Neo = "CREATE (p:'" + de.Properties["samAccountName"].Value + "' { samAccountName:'" + de.Properties["samAccountName"].Value + "'})";
这不管用,但我应该想想吗
谢谢这是因为标签上只有一个引号 您的代码将生成这样的查询
CREATE(n:'Person'{…})
,它是无效的
您应该使用反勾号(`),以便
因此,您的代码应该是:
var query2Neo = "CREATE (p:`" + de.Properties["samAccountName"].Value + "` { samAccountName:'" + de.Properties["samAccountName"].Value + "'})";
此外,对于属性值,应该使用查询参数,而不是在代码中生成cypher查询(但这对于label是不可能的)。可以将地图作为参数发送。谢谢。您是否有在cypher和net查询中使用参数或映射的示例?顺致敬意,
var query2Neo = "CREATE (p:`" + de.Properties["samAccountName"].Value + "` { samAccountName:'" + de.Properties["samAccountName"].Value + "'})";