繁体   English   中英

密码查询中的多个变量(名称,标签)-py2neo

[英]Multiple variables in cypher query (name, label) - py2neo

现在又遇到了另一个问题。 我想创建一个工作的HTML表单,用户可以在其中输入节点的名称,并通过单选框选择标签-提交后在neo4j中创建它。

以下作品:

result = graph.cypher.execute("CREATE (n:Test { name : '%s' })" % cypher_escape(node))

因此,现在我可以使用输入的名称创建节点,但无法使标签正常工作。 从文档中,我知道cypher_escape只能与1个参数一起使用,并且不能对标签进行参数化。

是否有一些解决方法/其他方法可以将变量作为密码查询的标签?

提前致谢 ! :)

标签无法在Cypher中进行参数设置,因此您必须在客户端代码中使用字符串连接或字符串格式来构建Cypher查询。 这样做的理由是查询计划可能会因标签而异,因此无法缓存执行计划。

但是,您应该对属性值使用查询参数。 这样可以在再次执行查询时实现查询计划缓存和更好的性能:

graph.cypher.execute("CREATE (n:Test {name: {name})", parameters={"name": "Bob"})

因此,要对标签使用字符串格式:

label_string = "Test"
query = "CREATE (n:%s {name: {name})" % label_string
graph.cypher.execute(query, parameters={"name": "Bob"})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM