【发布时间】:2017-04-10 09:27:59
【问题描述】:
我使用 SDN 4.2.1 在 Neo4J 中保存和加载节点及其关系。
到目前为止,我使用的 findByXXX 方法的深度参数等于 2。现在我需要将深度增加到 3,但是查询速度很慢,我知道为什么:执行的查询没有考虑方向的关系。
这是从日志中执行的查询(需要超过 20 秒):
o.n.o.drivers.bolt.request.BoltRequest : Request: MATCH (n:`Property`) WHERE n.`id` = { `id_0` } WITH n MATCH p=(n)-[*0..3]-(m) RETURN p, ID(n) with params {id_0=P31}
当我用方向重写查询时,它变得非常快:
MATCH (n:`Property`) WHERE n.`id` = "P31" WITH n MATCH p=(n)-[*0..3]->(m) RETURN p, ID(n)
我找不到一种方法来指定,在我的例子中,我只想要在我的 GraphRepository 接口的 findByXXX 函数声明中的“传出”关系。有没有像“@Depth”注解这样的参数来给出方向?
【问题讨论】:
标签: spring neo4j spring-data-neo4j