Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/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
Lucene Neo4j python绑定:查询节点索引以获取一组值_Lucene_Neo4j_Cypher_Neo4j.py - Fatal编程技术网

Lucene Neo4j python绑定:查询节点索引以获取一组值

Lucene Neo4j python绑定:查询节点索引以获取一组值,lucene,neo4j,cypher,neo4j.py,Lucene,Neo4j,Cypher,Neo4j.py,我有一个Neo4j数据库graphDb,其中节点有一个属性“标签”。我有一个Lucene索引“my_nodes”,带有键“label”,它对节点属性“label”的值进行索引。现在我想从可能值列表中检索属性“label”等于值的节点labellist。为了实现这一点,我以以下方式编写了一个密码查询: cypherQ = """START n=node:my_nodes('""" +' OR '.join(['label:'+str(i) for

我有一个Neo4j数据库
graphDb
,其中节点有一个属性
“标签”
。我有一个Lucene索引“my_nodes”,带有键“label”,它对节点属性“label”的值进行索引。现在我想从可能值列表中检索属性“label”等于值的节点
labellist
。为了实现这一点,我以以下方式编写了一个密码查询:

cypherQ =       """START n=node:my_nodes('""" 
                   +' OR '.join(['label:'+str(i) for i in labellist]) + """')
                   RETURN n"""
result = graphDb.query(cypherQ)
这很好,但我想知道是否有一种方法可以编写参数化查询

我试过这样的方法:

cypherQ =       """START n=node:my_nodes('label:{params}')
                   RETURN n"""
result = graphDb.query(cypherQ, params = labellist)
但这肯定不起作用,尽管如果labellist中有一个值,它就起作用了。neo4j教程并没有提供很多关于这个问题的资料


我再次为Neo4j使用python绑定。

该参数适用于索引的整个查询部分,因此

cypherQ =       """START n=node:my_nodes({queryParam})
               RETURN n"""

然后在客户端代码中构造查询,并将其作为一个参数传递到Cypher中。

该参数用于索引的整个查询部分,因此

cypherQ =       """START n=node:my_nodes({queryParam})
               RETURN n"""

您可以在客户端代码中构造查询,并将其作为一个参数传递到Cypher中。

谢谢,这很有效。但是,值得一提的是,与第一个选项相反,
queryParam
不应在开头和结尾包含
。谢谢,这很有效。但是,值得一提的是,与第一个选项相反,
queryParam
不应在开头和结尾包含