(n)-[r*1…3]-(m) return r 该语句如何对边r的属性加条件判断,比如r.age>18,求大神解答
(n)-[r*1…3]-(m) where exists(r.age) and r.age>18 return r 大概是这样吧,语法你看着有问题改改
额,如果是这么简单就好了,在多层查看的时候,返回的r是collection<Relationship> 是一个集合,并不是Relationship对象,所以不能直接r.age。需要 with reduce as 三个连用才可以
@lijian 用路径查询以及filter函数吧
你的这种方法,能方便说具体如何实现的吗? 目前我用的是 match (n)-[r*1…3]-(m) with reduce(temp=0,data in r | data.age) as age ,r as r where age>18 return r 不过在java循环里特别慢。效率很差
我用的 org.neo4j.cypher.javacompat.ExecutionResult 接收的,while循环的时候特别慢
where all (edge in r where edge.age >18 ) 不谢!手动滑稽~