簡體   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