Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4j 如何将Java中的列表查询传递给cypher查询?_Neo4j_Cypher - Fatal编程技术网

Neo4j 如何将Java中的列表查询传递给cypher查询?

Neo4j 如何将Java中的列表查询传递给cypher查询?,neo4j,cypher,Neo4j,Cypher,在这个查询中,我需要在cypher查询中将字符串的ArrayList传递给RE。如何修改此版本以使其适用于此目的 public String query_partial_match(String skuid, List<String> attrKey) { return "MATCH (s:Product {id:'" + skuid + "'})-[r]-> (o) " + "WHERE " +

在这个查询中,我需要在cypher查询中将字符串的ArrayList传递给RE。如何修改此版本以使其适用于此目的

public String query_partial_match(String skuid, List<String> attrKey) {

        return "MATCH (s:Product {id:'" + skuid + "'})-[r]-> (o) " +
                "WHERE " +
                "(o:ExAttrs OR o:ProdAttrs) AND " +
                "any(key in keys(o) WHERE key =~'(?i).*(" + attrKey + ").*') " +
                "return o";
    }
公共字符串查询\u部分\u匹配(字符串skuid,列表属性键){
返回“匹配(s:Product{id:'”+skuid+“})-[r]->(o)”+
“哪里”+
“(o:ExAttrs或o:ProdAttrs)和”+
“任意(输入键(o),其中键=~”(?i)。*(“+attrKey+”).*)”+
“返回o”;
}

我使用的是JDK1.8API和Neo4j本机API SDK。谢谢,

为什么不将
skuid
attrKey
作为参数传递,而不是手动构造查询?@stdob--根据您的建议,该查询会是什么样子?这是我当前动态生成查询,然后将查询字符串发送到“execute”方法的方法。我想您可能需要查看。在执行查询时,将参数映射与查询字符串一起传递。只需包含一个列表作为参数之一,并使用
$paramName
样式语法访问查询中的参数即可。