71 lines
1.7 KiB
Java
71 lines
1.7 KiB
Java
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<String, Object> getGraphData();
|
||
|
||
/**
|
||
* 根据节点ID查询节点详情
|
||
*
|
||
* @param nodeId 节点ID
|
||
* @return 节点信息
|
||
*/
|
||
public GraphNode getNodeById(Long nodeId);
|
||
|
||
/**
|
||
* 根据标签查询节点
|
||
*
|
||
* @param label 节点标签
|
||
* @return 节点列表
|
||
*/
|
||
public java.util.List<GraphNode> getNodesByLabel(String label);
|
||
|
||
/**
|
||
* 根据类型查询节点
|
||
*
|
||
* @param type 节点类型
|
||
* @return 节点列表
|
||
*/
|
||
public java.util.List<GraphNode> getNodesByType(String type);
|
||
|
||
/**
|
||
* 查询两个节点之间的最短路径
|
||
*
|
||
* @param startNodeId 起始节点ID
|
||
* @param endNodeId 结束节点ID
|
||
* @param maxDepth 最大深度
|
||
* @return 路径信息
|
||
*/
|
||
public Map<String, Object> findShortestPath(Long startNodeId, Long endNodeId, int maxDepth);
|
||
|
||
/**
|
||
* 获取所有知识图谱列表(按类型分组)
|
||
*
|
||
* @return 图谱列表,包含图谱标识、名称、节点数量等信息
|
||
*/
|
||
public java.util.List<Map<String, Object>> getAllGraphs();
|
||
|
||
/**
|
||
* 根据图谱标识获取特定图谱数据
|
||
*
|
||
* @param graphKey 图谱标识(如类型:concept、location、event,或标签关键词)
|
||
* @return 图谱数据(包含节点和边)
|
||
*/
|
||
public Map<String, Object> getGraphDataByKey(String graphKey);
|
||
}
|