2015-10-13 59 views
2

我想使用Clojure的新保守主义者进行暗号查询,我需要使用一个变量占位符标签:Cyper clojure necons tquery:如何通过标签与{_variable}进行匹配?

(def node-query "MATCH (n:{_nodetype}) 
       RETURN n;") 

我得到一个错误,当我添加{_nodetype}但是当我删除任何错误{} _nodetype

"Invalid input '{': expected whitespace or a label name (line 1, column 10 (offset: 9))\\n\\\"MATCH (n:{_nodetype})\\\"\\n ^\",\n \"exception\"... 

这是我的呼吁的TQuery:

(cy/tquery conn node-query {:_nodeid _nodeid :_nodetype "Folder"}) 

什么暗号/新保守主义者的语法通过标签与VARI相匹配能够?

非常感谢您的建议。

回答

1

您不能参数化标签(或关系类型)。其原理是,不同的参数值可能会导致完全不同的查询计划。查询计划在内部与查询字符串一起缓存。

现在只需在Clojure中进行字符串连接以获得“半动态”标签或关系类型。

+0

有关密码参数的更多信息,请参阅[此处](http://neo4j.com/docs/2.2.6/cypher-parameters.html) – ducky

相关问题