Lucene Neo4j python绑定:查询节点索引以获取一组值
我有一个Neo4j数据库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
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
不应在开头和结尾包含“
。