下载Neo4j社区v2.0.0的打包服务器版本时,它们为Cypher提供了一个Web界面,但我无法接受该表单的查询:
MATCH (a:Person {name: {value1}})
RETURN a;
它在第一个花括号上调用语法错误,并且只接受
MATCH (a:Person)
WHERE a.name ="value1"
RETURN a;
我使用它是错误的,还是解析器中的错误?当您使用嵌入式客户端时,第一个表单似乎工作正常,只有在使用webclient接口时才会出现问题。
更新:要明确的是,在2.0.0 Web界面中,甚至来自Cypher 2.0参考卡的示例都会抛出语法错误;例如这条线 MATCH(n {name:'Alice'}) - >(m) 返回 来自参考卡:http://docs.neo4j.org/refcard/2.0/给出以下错误:
Node properties cannot be specified in this context (line 1, column 10)
"MATCH (n {name:'Alice'})-->(m)"
即使它在传递给嵌入式客户端中的密码执行引擎时工作正常。
答案:原来问题是我使用的里程碑版本不完整/没有bug。 2.0.1稳定版本解决了这个问题。答案 0 :(得分:1)
您的第一个查询的表示法是使用参数化的Cypher,请参阅http://docs.neo4j.org/chunked/stable/cypher-parameters.html。使用Neo4j开发应用程序时,参数很重要。要在Neo4j浏览器中使用,参数几乎没用,因为您无法指定值。
请改用以下语法:
MATCH (a:Person {name: 'value1'})
RETURN a;
答案 1 :(得分:0)