如何编写@QueryResult类来正确捕获cypher结果。 (没有反复试验)

时间:2017-05-22 12:20:25

标签: java neo4j spring-data-neo4j spring-data-neo4j-4

定义@QueryResult类的最佳方法是什么? 我已经定义了一个使用类似

的查询注释的存储库方法
"MATCH(p:Person{name:{0}) - [r]-(e)
RETURN distinct label(e) as type ,count(label(e)) as count;"

在neo4j控制台输出看起来像地图。

type count
----  -----
Account 2
Document 5
Organization 4

所以我定义了Map<String, Long>等方法的返回类型但不起作用。然后我尝试了其他方式 - 它返回的计数结合而非个人。现在我打算用java驱动程序来解决这个问题。设计@QueryResult以适应我的情况的最佳方法是什么。任何资源都会对我的问题的答案有所帮助。 :)

1 个答案:

答案 0 :(得分:2)

您的查询应该返回count(e)而不是count(labels(e))

然后,您可以使用org.neo4j.ogm.model.Result来保存查询结果:

@Query("MATCH(p:Person{lastName:{0}}) -[r]-(e) RETURN distinct labels(e) as type ,count(e) as count")
Result resultExample(String name);