在Shiny R中的密码查询中传递变量

时间:2017-05-09 02:32:16

标签: r neo4j cypher

我想在Shiny R中的密码查询中传递变量。 我使用的R版本是R版本3.3.3(2017-03-06)和neo4j-community-3.1.1

通过Shiny R中的以下密码查询从neo4j DB中检索数据没有问题

query = "MATCH p=()-[:Month]->()-[:Day]->(d:Day)-[Hour]->(h:Hour)<-[timerel:CONNECTED_ON]-(n:IP)-[:CONNECT_TO]->(k:IP) WHERE h.hour=\"9\" and d.day=\"2\" RETURN p limit 25

cypher(graph, query)

但是,当我尝试根据我在http://neo4j.com/docs/developer-manual/current/cypher/syntax/parameters/中读到的内容将变量传递给cypher查询时,我遇到了以下错误消息: “警告:错误:客户端错误:(400)错误请求 Neo.ClientError.Statement.ParameterMissing 预期名为day“

的参数
day = "2"
hour = "9"
query = "MATCH p=()-[:Month]->()-[:Day]->(d:Day)-[Hour]->(h:Hour)<-[timerel:CONNECTED_ON]-(n:IP)-[:CONNECT_TO]->(k:IP) WHERE h.hour=$hour and d.day=$day RETURN p limit 25

我也尝试了以下内容:

1:放{$ hour}

day = "2"
hour = "9"    
query = "MATCH p=()-[:Month]->()-[:Day]->(d:Day)-[Hour]->(h:Hour)<-[timerel:CONNECTED_ON]-(n:IP)-[:CONNECT_TO]->(k:IP) WHERE h.hour={$hour} and d.day={$day} RETURN p limit 25

2:放{hour}

以上所有内容都不允许我将变量传递给cypher查询语句。 感谢它,如果有人可以指导我。谢谢。

2 个答案:

答案 0 :(得分:0)

要回答我自己的问题以便分享,下面的2个网址用于解决如何使用Rneo4j传递变量的方法

https://rdrr.io/cran/RNeo4j/man/cypher.html https://github.com/nicolewhite/RNeo4j/blob/master/man/cypher.Rd

答案 1 :(得分:0)

query的{​​{1}}参数期待一个字符串。使用glue撰写字符串。