[英]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.