属性匹配查询
发布于 6 年前 作者 liutianling 2555 次浏览 来自 问答

基于neo4j数据库的查询,python语言 给一个条件,要去查对应节点,但是不晓得这个条件对应那个属性,需要所有属性都去匹配, 比如 Node(:Person,{name:“老王”,age:38,gender:man}) 给定条件晴天 这时候我没法 match(n {name:晴天}) 这样查询,因为晴天可能是age的属性值(例子不太恰当),这时候该怎么查询, 谢谢各位大佬前辈

1 回复

可以试试这样查询,

CALL db.propertyKeys() YIELD propertyKey
CALL apoc.cypher.run("MATCH (n) WHERE n.`"+propertyKey+"`={a} RETURN n",{a:237967626}) YIELD value 
RETURN value.n

但是效率不高哦,优化思路设置一组标签(n:Labels…),所有属性匹配似乎要给每个属性建立索引,试试吧:)

回到顶部