package com.ruoyi.system.service; import java.util.Map; import com.ruoyi.system.domain.neo4j.GraphNode; /** * 洪水知识图谱Service接口 * * @author jackeyhuang * @version 1.0.0 * @date 2025-01-27 */ public interface IFloodKnowledgeGraphService { /** * 获取知识图谱数据 * * @return 图谱数据(包含节点和边) */ public Map getGraphData(); /** * 根据节点ID查询节点详情 * * @param nodeId 节点ID * @return 节点信息 */ public GraphNode getNodeById(Long nodeId); /** * 根据标签查询节点 * * @param label 节点标签 * @return 节点列表 */ public java.util.List getNodesByLabel(String label); /** * 根据类型查询节点 * * @param type 节点类型 * @return 节点列表 */ public java.util.List getNodesByType(String type); /** * 查询两个节点之间的最短路径 * * @param startNodeId 起始节点ID * @param endNodeId 结束节点ID * @param maxDepth 最大深度 * @return 路径信息 */ public Map findShortestPath(Long startNodeId, Long endNodeId, int maxDepth); /** * 获取所有知识图谱列表(按类型分组) * * @return 图谱列表,包含图谱标识、名称、节点数量等信息 */ public java.util.List> getAllGraphs(); /** * 根据图谱标识获取特定图谱数据 * * @param graphKey 图谱标识(如类型:concept、location、event,或标签关键词) * @return 图谱数据(包含节点和边) */ public Map getGraphDataByKey(String graphKey); }