springboot + neo4j 问题总结

使用过程中遇到的问题记录

1、使用 $param 参数问题,如查询某些标签时不需要自动加双引号,如 match(n:label),而lable作为参数时,会自动加双引号变为 match(n:"label"), 这就会导致脚本出错,如代码中的参数 knowledgePointLabel 被加了双引号导致查询错误

package com.haiwanyoutian.hai.graph.repository;

import com.haiwanyoutian.hai.graph.model.neo4j.KnowledgeEntry;
import org.springframework.data.neo4j.repository.Neo4jRepository;
import org.springframework.data.neo4j.repository.query.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;

/**
 * 知识词条 持久层
 *
 * @author kou
 */
@Repository
public interface KnowledgeEntryRepository extends Neo4jRepository<KnowledgeEntry, Long> {

	/**
	 * 统计文献关联的知识词条下的知识点数量
	 * (文献)-[r:`知识词条`]->(知识点)
	 *
	 * @param literatureId        文献id
	 * @param knowledgePointLabel 知识点label
	 * @return 结果
	 */
	@Query("MATCH(n:`文献`) " +
			"where id(n) = $literatureId " +
			"with n " +
			"match (n)-[r:`知识词条`]-(k:`$knowledgePointLabel`) " +
			"return count(k) ")
	int countLiteratureKnowledgePoints(@Param("literatureId") Long literatureId, @Param("knowledgePointLabel") String knowledgePointLabel);

}

解决方法:

1、使用cypher 脚本执行,进行拼接
2、更新cypher 脚本

@Query("MATCH(n:`文献`),(k) " +
			"where id(n) = $literatureId " +
			"and [x in labels(k) where x = $knowledgePointLabel] " +
			"with n,k " +
			"match (n)-[r:`知识词条`]-(k) " +
			"return count(k) ")

相关推荐

  1. springboot + neo4j 问题总结

    2024-04-12 10:10:03       39 阅读
  2. Neo4j介绍

    2024-04-12 10:10:03       59 阅读
  3. 安装Neo4j

    2024-04-12 10:10:03       62 阅读
  4. log4j学习

    2024-04-12 10:10:03       61 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-12 10:10:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-12 10:10:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-12 10:10:03       87 阅读
  4. Python语言-面向对象

    2024-04-12 10:10:03       96 阅读

热门阅读

  1. 闭包用运。

    2024-04-12 10:10:03       44 阅读
  2. node.js 常用命令大全

    2024-04-12 10:10:03       45 阅读
  3. 计算机视觉介绍

    2024-04-12 10:10:03       145 阅读
  4. 三种语言实现spark createDataFrame

    2024-04-12 10:10:03       142 阅读
  5. vue 项目中添加DES加密

    2024-04-12 10:10:03       197 阅读
  6. C# 多维数组

    2024-04-12 10:10:03       164 阅读
  7. tcp三次握手四次挥手

    2024-04-12 10:10:03       38 阅读
  8. python如何判断图片为黑白还是彩色

    2024-04-12 10:10:03       33 阅读
  9. 4-10 面经

    2024-04-12 10:10:03       31 阅读