一丝混乱 2020-07-17 11:56 采纳率: 50%
浏览 227

如何在spring boot中更优雅的请求和实体无关的neo4j指令

最近做neo4j项目的时候增加了需要用neo4j算法的需求。

项目本身用的是springboot。之前的使用的是Repository请求,因为Repository里支持使用@Query实现自定义cypher,所以随意找了一个已有的Repository加上以下函数:

    @Query(value = "CALL gds.louvain.stream({graphName}, { relationshipWeightProperty: 'count' }) YIELD nodeId, communityId, intermediateCommunityIds")
    List<Map<String, Object>> louvain(String graphName);

功能是实现了,这点很好。

但是我出现了一个问题,因为每个Repository对应一个实体,也就是neo4j里的一个label。
但是我这个指令显然和任意实体都无关,放在Repository中就显得很奇怪。
而且有些地方使用@Query只能用固定语句传参,不太灵活。

我也试过使用org.neo4j.ogm.session.Session

this.session.query(CommunityResult.class, cypher, new HashMap<String, Object>())

CommunityResult是一个简单的类,有nodeId, communityId, intermediateCommunityIds字段。
这个指令请求节点和关系数据的时候没有问题,但是请求之前的指令时并没有正确的封装出来。

请问有什么比较好的方法

  • 写回答

1条回答 默认 最新

  • 关注
    评论

报告相同问题?

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测