0

我试过这种方式,但没有奏效。

params.put("name", g );   
final QueryResult<Map<String,Object>> result = engine.query("MATCH a:Conceito --> b:Livro WHERE a.nome =~'(?i){name}' return b.autor, b.titulo, b.edicao", params); //executa query

这是错误:

Exception in thread "main" org.neo4j.rest.graphdb.RestResultException: expected valid query body
"MATCH a:Conceito --> b:Livro WHERE a.nome =~'(?i){name}' return b.autor, b.titulo, b.edicao"
                                                 ^ at

查询仅在删除表达式时运行~ (?i)

请原谅我的英语,因为我来自巴西。

4

1 回答 1

1

对我有用,请参阅:http ://console.neo4j.org/r/tutchx

start n=node:node_auto_index(name='Neo') 
where n.name =~ '(?i)neo' 
return n

当您使用参数时,您必须将整个正则表达式(包括标志)作为参数值传递:

params.put("name", "(?i)"+g );   
final QueryResult<Map<String,Object>> result = 
  engine.query("MATCH a:Conceito --> b:Livro WHERE a.nome =~ {name} return b.autor, b.titulo, b.edicao", params); //executa query
于 2013-05-08T19:43:29.533 回答